feat(stmate-test): REA 기성·준공 — 칸 뜻(계약·누계·전회·금회) · 회차 이월 · 수량 상한 · 기성 제잡비·부가세·절사 원본 주소 근거 · 저장 묶음 분리
- 지식DB REA 분석 33 기성준공단계 작업자료(정적분석 보고서·근거) - 기성 공사(PCLASS 6) 저장 = COSTW2~4 · [2·3·4_KANJUB] n_C_* 기성 화면 값 그대로 - save_payload.js 로 저장 요청 묶음 분리(view_prj_boq.js 700줄 한도) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+184
@@ -0,0 +1,184 @@
|
||||
# 33 기성·준공 단계 정적 분석 — 작업자료
|
||||
|
||||
- 분석일: 2026-11-14
|
||||
- 방법: 설치본 바이트 읽기만(실행·수정·라이선스 우회 없음) · PE 섹션 대응 · Delphi VMT(필드표 vmt−56 · 메서드표 vmt−52) · DFM(RCDATA) 해독 · capstone 역어셈블
|
||||
- 대상 해시(sha256)
|
||||
|
||||
| 모듈 | sha256 |
|
||||
|---|---|
|
||||
| ST_CPM/ST_KanJub.CPM | ef8d55b259b37916496e80cab6a4a2ba46216e0bd7c5199083dbda632bd50d03 |
|
||||
| ST_CPM/ST_Boq.CPM | 180707d0423dd2dcb8403d89ba1dbaf2731c0db5c6bb332029479fd9d9923ab3 |
|
||||
| STmate.Cpm | 99d5c05675ba1399c51a71db8e26ebd5ff39fd78d02360147c7705deb399b5f5 |
|
||||
| ST_CPM/ST_P_ConEst.CPM | 027c72cc019e46fdec78e6aebc68b621aa77c7fc1ac88362f04675f6dab69fab |
|
||||
| ST_CPM/ST_P_Nae.CPM | 9ecb6a663c988f249548a06a6c7da66abc71d8c245baba141450c329391f1c47 |
|
||||
| ST_CPM/ST_Prt.CPM | 0698a6343ba04a5b379f297da60e68a9fc3f18d5ac0ad262570f70ca98dd3c19 |
|
||||
|
||||
- 원본 실행 수치 대조 없음 — 아래 규칙은 명령 순서 관찰이며 실제 출력값 일치는 미검증.
|
||||
- 신뢰도 표기: 상(명령·상수·문자열이 한 구간에서 직접 이어짐) · 중(호출 관계·인자 뜻 일부 추정) · 하(이름·배치만).
|
||||
|
||||
## 1. 모듈·클래스 배치
|
||||
|
||||
| 대상 | 위치 | 비고 |
|
||||
|---|---|---|
|
||||
| 기성 제잡비 계산서 화면 | ST_KanJub `TwM_KanJub_K` VMT 0x4ca1dc · 진입 `Edit_KanJub_K` 0x4ca5ac | 메서드 16개 · DFM `TWM_KANJUB_K` 13,874 B |
|
||||
| 기성 내역 수량 편집 | ST_Boq 0x4f4a2f~0x4f4db4 (PCLASS 6 분기) | 전역 0x5417bc = PCLASS |
|
||||
| 기성 회차 등록 | STmate.Cpm 0x55c7af~0x55e519 (`MkBoq` 계열, 31번 K_ORD 전이표와 같은 함수) | 진행 문구 「전회0/금회0/누계0」 「전회<-누계, 금회=0」 |
|
||||
| 0632 기성부분총괄내역서 인쇄 | ST_P_ConEst `Prn_Jab_K` 0x47ec64 · `TPM_JAB_K.HRGroup1BeforePrint` 0x47f7f0 | DFM `TPM_JAB_K` |
|
||||
| 0632~0638 인쇄 진입 | ST_P_Nae `Prn_Jab` 0x4b1998 · `Prn_Jab_P` 0x4b4c20 · ST_P_XLS `Prn_Jab_EXL` 0x529d40 · `Prn_Jab_K_EXL` 0x562ef0 | 서식별 열 산식 미해독 |
|
||||
|
||||
`TwM_KanJub_K` 필드 오프셋(필드표): +0x2f4 StBar · +0x2f8 rGrd_BoqXX · +0x300 rGrd_Jab · +0x304 tb_BoqXX · +0x310 sBtn_Calc_Jab · +0x314 sBtn_Set_Rate · +0x318 rd_Filter · +0x320 cmBx_Buga · +0x328 cmBx_JeolSa · +0x330 cmBx_Tot_Jeol.
|
||||
|
||||
## 2. 칸 번호(1~4)의 뜻 — 기성 프로젝트 (신뢰도 상)
|
||||
|
||||
| 칸 | 뜻 | 근거 |
|
||||
|---|---|---|
|
||||
| 1 | 계약(도급) | 0x4cae9b 열 묶음→칸 표 `'1342'`(0x4d2414) — 도급액 열 = T_AMT1 · 0x4cb03c 값 배열 [0]→도급 열 |
|
||||
| 2 | 누계 | 같은 표 누계 열 = T_AMT2 · 값 배열 [1]→누계 열(col 8) |
|
||||
| 3 | 전회 | 전회 열 = T_AMT3 · 값 배열 [2]→전회 열(col 4) |
|
||||
| 4 | 금회 | 금회 열 = T_AMT4 · 값 배열 [3]→금회 열(col 6) |
|
||||
|
||||
- 같은 순서 문자열 `'1342'`가 ST_P_ConEst 0x480562 에도 있음.
|
||||
- 0632 인쇄 비율: 전회 = T_AMT3 ÷ T_AMT1 × 100 (0x47fc25) · 금회 = T_AMT4 ÷ T_AMT1 × 100 (0x47fcaf) · 누계 = T_AMT2 ÷ T_AMT1 × 100 (0x47fd39).
|
||||
- 기성 프로젝트 = PRJLST.PCLASS 6 · K_ORD = 회차(31번 전이표: 계약(4)→기성 1 · 기성(6)→K+1 · 변경(7)→기성 1).
|
||||
|
||||
## 3. 회차 등록 시 BOQ 칸 처리 — STmate.Cpm (신뢰도 상)
|
||||
|
||||
1. 공통 복사 0x55c7d4~0x55ca7b: QTY1→QTY2·QTY3 · MAMT1/LAMT1/SAMT1/TAMT1→2·3 · M_/L_/S_/T_AMT1→2·3. 칸 4 단가 복사 없음.
|
||||
2. 계약(PCLASS 4)에서 첫 기성 0x55cbd2~0x55cd75 「전회0/금회0/누계0」: QTY2·QTY3·QTY4 = 0 · T_AMT2·T_AMT3·T_AMT4 = 0. 그 뒤 BDCODE1 첫 글자 ∈ 'PR' 이거나(∈ 'MLSW' 이고 UNIT1 에 '%') 인 행만 QTY4 = QTY1.
|
||||
3. 기성(PCLASS 6)에서 다음 회차 0x55d0a0~0x55d148 「전회<-누계, 금회=0」: QTY3 = QTY2 · QTY4 = 0 · T_AMT3 = T_AMT2 · T_AMT4 = 0 → k_ord = K+1 (0x55d1d3).
|
||||
4. 변경(PCLASS 7)에서 기성 0x55d2e0 「임시저장<-누계기성」 뒤 QTY2·QTY4·QTY1·T_AMT2·T_AMT4 와 Mcost4→Mcost2 등 이동 — 세부 순서 미정리.
|
||||
|
||||
## 4. 기성 수량 편집 — ST_Boq (신뢰도 상, 설정 이름 하)
|
||||
|
||||
조건: PCLASS = 6 (0x4f4a2f) · BDCODE1 첫 글자 ∈ 'LMSBDWXAQ' (0x4f4a3c) · 고친 칸 이름에 'QTY'.
|
||||
|
||||
| 고친 칸 | 처리 | 주소 |
|
||||
|---|---|---|
|
||||
| QTY2(누계) | QTY1×QTY2 > 0 이고 설정 바이트([+0x1068]+0x69) 0 이고 \|QTY2\| > \|QTY1\| 이면 QTY2 = QTY1 → QTY4 = QTY2 − QTY3 | 0x4f4aa4~0x4f4ba0 |
|
||||
| QTY4(금회) | QTY1×QTY4 > 0 이고 설정 바이트 0 이고 \|QTY3+QTY4\| > \|QTY1\| 이면 QTY4 = QTY1 − QTY3 → QTY2 = QTY3 + QTY4 | 0x4f4bad~0x4f4ceb |
|
||||
|
||||
- 설정 바이트 +0x69 의 화면 이름 미확인(「초과 입력 허용」 성격으로 보이나 이름 근거 없음).
|
||||
- 편집 뒤 행 금액 다시 셈 0x4fc498 호출(0x4f4cf3).
|
||||
|
||||
## 5. 기성 행 금액 — ST_Boq 0x4fc498 (신뢰도 중)
|
||||
|
||||
- 첫 부분 0x4fc674~0x4fc6ad: 공통 행 계산기 0x456504 를 고른 칸으로 불러 T_/L_/N_/M_/S_/A_AMT + 칸 글자 기록(0x4fc6e6~0x4fc873).
|
||||
- PCLASS 분기 표 0x4fc8f2: 6 → 0x4fcd00 → 0x4fce6e: 0x456504 를 칸 2 로 다시 불러 T_AMT2·L_AMT2·(N_AMT2)·M_AMT2·S_AMT2 기록(0x4fcf07~0x4fcfe2).
|
||||
- 관찰: 누계 금액은 누계수량으로 다시 셈 — 「누계 = 전회 금액 + 금회 금액」 덧셈 경로 없음. 전회 금액은 회차 등록 때 앞 누계 이관(§3-3). 따라서 전회 + 금회 ≠ 누계 인 끝전 차이 가능.
|
||||
- 0x456504 의 수량·단가 칸 고르기 인자(IIF 0x4fced3)의 정확한 뜻은 미확인 — 금회 칸 단가가 MAMT4 인지 MAMT1 인지 미확인.
|
||||
|
||||
## 6. 기성 제잡비 계산서 `TwM_KanJub_K`
|
||||
|
||||
### 6.1 화면 (DFM, 신뢰도 상)
|
||||
|
||||
- 제목 「< 기성 제잡비 계산서 >」 · HelpContext 4700.
|
||||
- 위 표 rGrd_BoqXX: tb_BoqXX = Boq11.dbf · 거르기 `(BDCODE1="T") .and. (BDCODE1>"T2")` · 열 공종(ITNUM)·명칭(NAME1)·규격(SIZE1)·도급액·전회까지의 기성액(금액·비율)·금회 기성액(금액·비율)·누계(금액·비율). 금액·비율 열은 DrawCell 0x4cae70 에서 계산: 금액 서식 `'#,0.###;;#'` · 비율 = T_AMTn ÷ T_AMT1 × 100 서식 `'#,0.##%;;#'` · T_AMT1 = 0 이면 빈칸.
|
||||
- 아래 표 rGrd_Jab 14열: 공종·명칭·규격·도급액·전회금액·전율·금회금액(편집 열)·금율·누계금액·누율·구분(코드)·종류·계약잡비율(`0.#####`)·D_Typ(숨김).
|
||||
- rd_Filter 5택(소계(+=)·계(+==)·합계(+===)·총계(+====)·총합계(+=====) 이상) · 처음 ItemIndex 2.
|
||||
- cmBx_Buga 4택 값 0~3 · cmBx_JeolSa(공급가액 절사) 9택 값 0~8, 0 = 「총공사비에서 조정」 · cmBx_Tot_Jeol(총공사비 절사) 9택 값 0~8, 0 = 「이윤금액 직접입력」 · 힌트 「절사된 금액은 이윤에서 자동보정」.
|
||||
|
||||
### 6.2 행 구성 — 로더 0x4cb564 (신뢰도 상)
|
||||
|
||||
- 행 추가 함수 0x4cb03c(번호 종류, 명칭, 규격, 코드, 값 배열[4], 종류(word), D_Typ(long)). |값| < 상수(0x4cb43c) → 0. 번호 종류 ≥ 2 이고 도급값 0 이면 행 생략.
|
||||
- 값 배열 원천: 전역 원가 레코드 배열 0x586c44 + 칸×0x10450(칸 1~4). 레코드 +0 직접공사비 계 · +0x10 재료비 · +0x18 경비(초기화 0x4c9d04~0x4c9de7: TCOSTn·LCOSTn·MCOSTn·SCOSTn).
|
||||
- 종류(열 11): 1 = 요율 행(계약잡비율 표시) · 2 = 부분합 행 · 0 = 그 밖.
|
||||
|
||||
| 종류 | 행(코드) |
|
||||
|---|---|
|
||||
| 2 | 직접공사비 계(D_Typ 100) · 순공사원가 · 소계(C_TOT_1) · 공급가액(C_KONGGUP) · 도급공사비(C_DOGUP) · 총공사비(C_TOTAL) |
|
||||
| 1 | 간접노무비 C_KANNO · 산재 C_SANBO · 고용 C_KOBO · 건강 C_KUNBO · 장기요양 C_SLVBO · 연금 C_YUNBO · 퇴직공제 C_TBUGUM · 산업안전보건관리비 C_ANJUN · 기타경비 C_T_KITA · 수도광열 C_S_SUDO · 복리후생 C_S_BOKRI · 소모품 C_S_SOMO · 여비 C_S_TONGSIN · 세금 C_S_SEGUM · 폐기물처리 C_S_PEGI · 도서인쇄 C_S_DOSEO · 지급수수료 C_S_JIGUP · 공사이행보증 C_KONGSU · 하도급보증 C_HADOSU · 환경보전 C_HWAN · 건설기계보증 C_EQIPSU · 석면 C_BUDM_SM · 임금채권 C_BUDM_IC · 일반관리비 C_ILBAN · 이윤 C_IYUN · 안전점검비 C_ANJUNP · 시공도작성비 C_S_SIGONG · 공사손해보험료 C_KONGSA |
|
||||
| 0 | 사급자재대 C_SAGUP · 도서할증 C_DOSEOH(D_Typ 0xfb) · 주휴수당 C_EIS_HOLLAB · 품질관리비 C_S_PUMJIL·C_PUMJIL_B · 안전관리비 C_ANJUN_B · 산안비(별도내역) C_S_ANJUN_B · ADD_AMT_* · PS C_PSAMT_B · 제비율적용제외 C_EXCEPT_B · 고용개선지원비 C_EIS_SOCINS·C_EIS_INCENT · 작업설 C_BUSAN_B · 부가가치세 C_BUGA · 폐기물수수료 C_T_PEGI · 골재 C_T_KOLJAE · 비과세자재 C_NBUGAM · 관급자재대 C_UPDNKWN·C_KWANGUP_K |
|
||||
|
||||
- 일부 행은 설정(0x5e8a00 · JAB_TYPE · 0x5e8a44 등) 조건부 — 조건 값 뜻 미정리.
|
||||
- 계약잡비율(열 12) = 도급 행 금액 ÷ 도급 직접공사비 계([0x597094] = 칸 1 +0) × 100, 버림 없음 (0x4cb2cc~0x4cb300) · 규격 열 문자열 `'가. x ' + FormatFloat('0.000%;;#')`.
|
||||
- 행 번호 전역: 0x5e92f8 도서할증 · 0x5e92e4 소계 · 0x5e92e8 이윤 · 0x5e92ec 공급가액 · 0x5e92f0 부가세 · 0x5e92f4 도급공사비 또는 총공사비(뒤 행 우선).
|
||||
|
||||
### 6.3 [금회 간접비 적용] sBtn_Set_RateClick 0x4cdec0 (신뢰도 상)
|
||||
|
||||
확인창 「1.간접노무비 ~ 부가가치세이전(금회분) 까지의 금액을 "가.직접공사비계(금회분) x 계약제잡비율 로 수정」.
|
||||
|
||||
1. 누적값 시작: 금회 = 칸 4 직접공사비 계([0x5c7d84]) · 누계 = 칸 2 직접공사비 계([0x5a74e4]).
|
||||
2. 마지막 회차 표지 = (칸 1 직접 == 칸 2 직접) (0x4cdf53~0x4cdf62).
|
||||
3. 행 1부터 끝까지:
|
||||
- 종류 1: 표지 참이면 금회 = 도급 − 전회 · 아니면 금회 = MROUNDUD(계약잡비율 × 금회직접 ÷ 100, 자릿수 0, 선택값 0) (0x4ce025). 이어서 금회 ≥ 도급 + 전회 이면 금회 = 도급 − 전회 (0x4ce071 `fadd` — 원본 비교식 그대로). 누계 = 전회 + 금회.
|
||||
- 종류 2: 금회·누계 = 누적값.
|
||||
- 종류 0·1: 누적값 += 금회 · 누계 (0x4caa38 덧셈).
|
||||
4. 끝에 총공사비 계산(0x4ce6c4, Sender nil) 호출.
|
||||
|
||||
MROUNDUD 선택값 0 = 버림(08·13번 작업자료).
|
||||
|
||||
### 6.4 [총공사비 계산] sBtn_Calc_JabClick 0x4ce6c4 · 행 다시 셈 0x4ce2c8 · 끝전 0x4ce55c (신뢰도 상)
|
||||
|
||||
행 다시 셈 0x4ce2c8(행):
|
||||
- 종류 2: 금회·누계 = 누적값, 끝.
|
||||
- 도서할증 행: 금회 = MROUNDUD(PRJLST.LCOST2 × 도서할증율[0x5e887c] ÷ 100, 0, 0).
|
||||
- 이윤 행: 금회 = 금회 − 조정량.
|
||||
- 부가세 행: Buga 1 → MROUNDUD(0.1 × 누적 금회, 0, 0) · 2 → MROUNDUD(0.1 × 칸 4 재료비[0x5c7d94]) · 3 → MROUNDUD(0.1 × (칸 4 재료비 + 칸 4 경비[0x5c7d9c])) · 0 → 그대로(직접입력).
|
||||
- 그 밖(종류 0·1): 금회 그대로.
|
||||
- 공통: 누계 = 전회 + 금회 · 누적값 += 금회 · 누계.
|
||||
|
||||
총공사비 계산 0x4ce6c4:
|
||||
1. 조정량 0 으로 모든 행 다시 셈 · 이윤·공급가액·부가세·도급(또는 총) 행 금회를 0x5e9304~0x5e931c 에 보관.
|
||||
2. 세 콤보 중 하나라도 0 아니면 끝전 0x4ce55c:
|
||||
- 공급가액 절사 n ≠ 0: 조정량 = 공급가액 − MROUNDUD(공급가액, −n, 0).
|
||||
- 아니고 총공사비 절사 n ≠ 0: 조정량 = 총공사비 − MROUNDUD(총공사비, −n, 0).
|
||||
- 총공사비 절사 ≠ 0 이고 Buga = 1 이면 조정량 = MROUNDUD(조정량 ÷ 1.1, 0, 0) (상수 1.1 extended 0x4ce6b8).
|
||||
- 누적값을 소계 행 금회·누계로 되돌린 뒤 소계 다음 행부터 다시 셈(이윤 −= 조정량).
|
||||
3. 총공사비 절사 ≠ 0 이고 Buga = 1 이면 반복(0x4ce8c0~0x4ce90d): d = ROUND(현재 총액 − MROUNDUD(처음 총액, −n, 0)) 가 1~10 이면 조정량 = 1.0 으로 소계 다음부터 다시 셈(이윤 −1) 반복.
|
||||
4. 상태줄: 도급 총공사비(칸 1 +0x3b8) · 전회 총공사비(칸 3 +0x3b8) · 전회율 · 금회 누적 · 금회율 · 누계 누적 · 누계율, 율 = ÷ 도급 총공사비 × 100 `'0.00%;;#'`.
|
||||
|
||||
- 두 절사 콤보는 하나만(cmBx_ValueChange 0x4cef28~0x4cef84: 공급가액 절사 ≠ 0 이면 총공사비 절사 사용 안 함·0).
|
||||
- 콤보 세 개는 화면 열 때 0 으로 놓임(0x4cb5c4~0x4cb5ef) — 직전 값 복원 경로 관찰 안 됨.
|
||||
|
||||
### 6.5 편집 허용 (신뢰도 상)
|
||||
|
||||
- RowChange 0x4cdce4: D_Typ = 0xfb(도서할증) 또는 종류 2 행은 편집 끔.
|
||||
- CellEnter 0x4cddac: 공종 열 첫 글자가 '가나다…' 목록이면 편집 끔.
|
||||
- BeforePost 0x4cec80: 누계 = 전회 + 금회 · 상태줄 「계산안됨」.
|
||||
- 그리드 비율 열 DrawCell 0x4cdb94: 열 5·7·9 = 열 4·6·8 ÷ 열 3(도급) × 100 `'0.00%;;#'` · 종류 1 행 열 2 글자색 지정.
|
||||
|
||||
### 6.6 저장 (신뢰도 상)
|
||||
|
||||
`Edit_KanJub_K` 0x4ca5ac 닫을 때:
|
||||
- PRJLST.COSTW4 = 마지막 행 금회(열 6) (0x4ca825) · PRJLST.COSTW3 = 마지막 행 누계(열 8) (0x4ca866) · PRJLST.PXXNM = True · PRJ_MEMO 기록 후 Commit.
|
||||
- 0x4cac0c: 섹션 `2_KANJUB` · `4_KANJUB` 지움(가상 +0x4c) → 코드(열 10)가 있는 행마다 0x4caa48(칸 4, 코드, 금회) · 0x4caa48(칸 2, 코드, 누계).
|
||||
- 0x4caa48: 일반 코드 → 섹션 `칸 + '_' + 'KANJUB'` · 키 `칸 + '_' + 코드` (칸 글자 표 0x4d045c = '0'~'9','A','B') · ADD_AMT_ 코드 → 섹션 `'KANJUB_ADD'` · 키 `코드 + '_' + 칸`.
|
||||
- 섹션 이름 'KANJUB' 대입 0x4c9b06 · 메모 파일 `PRJ_MEMO.INI` · 공통 키 JAB_TYPE · CAL_ACTL · VIS_TOTL ([KANJUB]).
|
||||
- 불러오기 0x4c9a98: 칸 1 = 계산(0x43d228 → Calc_Kanjub 0x44cc58) · 칸 2~4 = 0x43ade4 가 `칸_C_코드` 저장값을 읽음 → 0x44c36c 합계.
|
||||
- 관찰: [3_KANJUB](전회) 기록 경로는 이 모듈에서 관찰 안 됨 — 회차 등록 때 2→3 이관 여부 미확인.
|
||||
|
||||
## 7. 인쇄 서식 (SET_REP · DFM, 신뢰도 상 — 열 산식은 0632 만)
|
||||
|
||||
| 번호 | 이름 | 머리 | 열(FLD_N, 너비) |
|
||||
|---|---|---|---|
|
||||
| 0632 | 기성부분총괄내역서 | 기성부분 총괄내역서 | 계약 15 · 전회 15 · 금회 15 · 누계 15 · 금액 15 · 비율 8 |
|
||||
| 0633 | 기성내역서 | 기 성 내 역 서 | 계약 · 전회 · 금회 · 누계 (각 15) |
|
||||
| 0634 | 기성내역서(사정) | 기 성 내 역 서 | + 사정 12 |
|
||||
| 0635 | 기성내역서(기성율) | 기 성 내 역 서 | + 비율 6 |
|
||||
| 0636 | 기성검사조서(을) | 기성부분 감독/검사 조서(을) | 계약금액 15 · 기성고(%) 18 · 전회 6 · 금회 6 · 누계 6 · 기성금액 15 |
|
||||
| 0637 | 기성검사조서(병) | 기성부분 감독/검사 조서(병) | 0636 과 같음 |
|
||||
| 0638 | 기성부분수량조서 | 기 성 부 분 수 량 조 서 | 기성수량 20 · 전회누계 15 · 금회 15 · 누계 15 · 기성(%) 8 · 잔량 15 |
|
||||
| 0646 | 준공조서(을) | 준공 감독/검사조서(을) | 계약금액 18 · 준공금액 18 |
|
||||
| 0647 | 준공조서(병) | 준공 감독/검사조서(병) | 0646 과 같음 |
|
||||
|
||||
- 0632 실제 인쇄 양식 `TPM_JAB_K`: 공종·명칭·규격 · 계약 금액 · 전회 금액·비율 · 금회 금액·비율 · 누계 금액·비율 · 비고 · 자료 PRT.DBF.
|
||||
- 0632 머리말: 「1. 공 사 명 : PNAME」 · 「2. 도 급 액 :」(TCOST1 읽음 0x480335) · 「3. 기성부분금액 : 금 (AMTTOHAN) 원정 (₩#,#)」 = PRJLST.COSTW4 (0x48037b).
|
||||
- ST_P_ConEst TPM_NAE_C3 0x4790e4~0x479140: 「◎ 기성부분금액 :」과 「◎ 준공 정산액 :」 둘 중 하나를 전역 [0x4aa738]==1 로 고름 · 금액 = PRJLST `TCOST` + 칸 글자(설정 +0x1788). 어느 값이 어느 문구인지(IIF 인자 순서) 미확인.
|
||||
- 0633~0638 · 0646·0647 열 산식(기성고 · 사정 · 잔량 · 준공금액)은 Prn_Jab(0x4b1998) 안에서 미해독.
|
||||
|
||||
## 8. 남은 것
|
||||
|
||||
| 항목 | 상태 |
|
||||
|---|---|
|
||||
| 금회 칸(4) 단가 원천 | 미확인 — 회차 등록 복사는 1→2·3 만 |
|
||||
| ST_Boq 0x456504 칸 인자 뜻 | 미확인 |
|
||||
| [3_KANJUB] 전회 제잡비 이관 | 미확인 |
|
||||
| 설정 바이트 +0x69(수량 상한 해제) 이름 | 미확인 |
|
||||
| 0633~0638 · 0646·0647 열 산식 · 준공금액 원천 | 미확인 |
|
||||
| 도서할증 행 밑수 PRJLST.LCOST2 의 업무 뜻 | 관찰만(칸 2 노무비 자리) |
|
||||
| 원본 실행 수치 일치 | 미검증 |
|
||||
|
||||
## 9. 자료
|
||||
|
||||
- evidence/ — 구간별 역어셈블(주석: 가져오기 이름·문자열·상수) · DFM 해독(TWM_KANJUB_K.json · TPM_JAB_K.json)
|
||||
- scripts/ — pe.py(섹션 대응) · dz.py(주석 역어셈블) · inv.py(VMT·메서드·내보내기) · rsrc.py(RCDATA) · litref.py · strfind.py(문자열·참조) · parse_dfm.py(DFM)
|
||||
+251
@@ -0,0 +1,251 @@
|
||||
4f4a2f: cmp dword ptr [0x5417bc], 6
|
||||
4f4a36: jne 0x4f4dbd
|
||||
4f4a3c: push 0x4f5104 ; 'LMSBDWXAQ'
|
||||
4f4a41: mov eax, dword ptr [ebp - 8]
|
||||
4f4a44: push eax
|
||||
4f4a45: call 0x42b308 ; DP_COMMON!MPOS
|
||||
4f4a4a: test al, al
|
||||
4f4a4c: je 0x4f4de4
|
||||
4f4a52: mov eax, dword ptr [ebp - 4]
|
||||
4f4a55: mov eax, dword ptr [eax + 0x8c4]
|
||||
4f4a5b: call 0x403520 ; RealGridDB6!@Urdbgrid@TRealDBGrid@GetSelectedField$qqrv
|
||||
4f4a60: mov eax, dword ptr [eax + 0x38]
|
||||
4f4a63: lea edx, [ebp - 0xc]
|
||||
4f4a66: call 0x401744 ; rtl60!@Sysutils@UpperCase$qqrx17System@AnsiString
|
||||
4f4a6b: mov eax, dword ptr [ebp - 0xc]
|
||||
4f4a6e: push eax
|
||||
4f4a6f: push 0x4f5118 ; 'QTY'
|
||||
4f4a74: call 0x42b308 ; DP_COMMON!MPOS
|
||||
4f4a79: test al, al
|
||||
4f4a7b: je 0x4f4de4
|
||||
4f4a81: mov byte ptr [0x541893], 0
|
||||
4f4a88: mov eax, dword ptr [ebp - 4]
|
||||
4f4a8b: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4a91: mov dl, byte ptr [eax + 0x9d]
|
||||
4f4a97: sub dl, 1
|
||||
4f4a9a: jne 0x4f4aa1
|
||||
4f4a9c: call 0x4035b8 ; dbrtl60!@Db@TDataSet@Edit$qqrv
|
||||
4f4aa1: mov eax, dword ptr [ebp - 0xc]
|
||||
4f4aa4: mov edx, 0x4f5124 ; 'QTY2'
|
||||
4f4aa9: call 0x401280 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4f4aae: jne 0x4f4baa
|
||||
4f4ab4: mov eax, dword ptr [ebp - 4]
|
||||
4f4ab7: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4abd: mov edx, 0x4f5134 ; 'qty2'
|
||||
4f4ac2: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4ac7: fstp qword ptr [ebp - 0x44]
|
||||
4f4aca: wait
|
||||
4f4acb: mov eax, dword ptr [ebp - 4]
|
||||
4f4ace: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4ad4: mov edx, 0x4f5144 ; 'qty1'
|
||||
4f4ad9: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4ade: fmul qword ptr [ebp - 0x44]
|
||||
4f4ae1: fcomp dword ptr [0x4f514c] ; =0.0
|
||||
4f4ae7: fnstsw ax
|
||||
4f4ae9: sahf
|
||||
4f4aea: jbe 0x4f4b5f
|
||||
4f4aec: mov eax, dword ptr [ebp - 4]
|
||||
4f4aef: mov eax, dword ptr [eax + 0x1068]
|
||||
4f4af5: cmp byte ptr [eax + 0x69], 0
|
||||
4f4af9: jne 0x4f4b5f
|
||||
4f4afb: mov eax, dword ptr [ebp - 4]
|
||||
4f4afe: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4b04: mov edx, 0x4f5134 ; 'qty2'
|
||||
4f4b09: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4b0e: fabs
|
||||
4f4b10: fstp xword ptr [ebp - 0x34]
|
||||
4f4b13: wait
|
||||
4f4b14: mov eax, dword ptr [ebp - 4]
|
||||
4f4b17: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4b1d: mov edx, 0x4f5144 ; 'qty1'
|
||||
4f4b22: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4b27: fabs
|
||||
4f4b29: fld xword ptr [ebp - 0x34]
|
||||
4f4b2c: fcompp
|
||||
4f4b2e: fnstsw ax
|
||||
4f4b30: sahf
|
||||
4f4b31: jbe 0x4f4b5f
|
||||
4f4b33: mov eax, dword ptr [ebp - 4]
|
||||
4f4b36: mov ebx, dword ptr [eax + 0x2f4]
|
||||
4f4b3c: mov eax, ebx
|
||||
4f4b3e: mov edx, 0x4f5144 ; 'qty1'
|
||||
4f4b43: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4b48: lea eax, [ebp - 0x54]
|
||||
4f4b4b: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4f4b50: lea ecx, [ebp - 0x54]
|
||||
4f4b53: mov eax, ebx
|
||||
4f4b55: mov edx, 0x4f5134 ; 'qty2'
|
||||
4f4b5a: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4f4b5f: mov eax, dword ptr [ebp - 4]
|
||||
4f4b62: mov ebx, dword ptr [eax + 0x2f4]
|
||||
4f4b68: mov eax, ebx
|
||||
4f4b6a: mov edx, 0x4f5134 ; 'qty2'
|
||||
4f4b6f: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4b74: fstp qword ptr [ebp - 0x44]
|
||||
4f4b77: wait
|
||||
4f4b78: mov eax, dword ptr [ebp - 4]
|
||||
4f4b7b: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4b81: mov edx, 0x4f5158 ; 'qty3'
|
||||
4f4b86: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4b8b: fsubr qword ptr [ebp - 0x44]
|
||||
4f4b8e: lea eax, [ebp - 0x64]
|
||||
4f4b91: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4f4b96: lea ecx, [ebp - 0x64]
|
||||
4f4b99: mov eax, ebx
|
||||
4f4b9b: mov edx, 0x4f5168 ; 'qty4'
|
||||
4f4ba0: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4f4ba5: jmp 0x4f4cf0
|
||||
4f4baa: mov eax, dword ptr [ebp - 0xc]
|
||||
4f4bad: mov edx, 0x4f5178 ; 'QTY4'
|
||||
4f4bb2: call 0x401280 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4f4bb7: jne 0x4f4cf0
|
||||
4f4bbd: mov eax, dword ptr [ebp - 4]
|
||||
4f4bc0: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4bc6: mov edx, 0x4f5168 ; 'qty4'
|
||||
4f4bcb: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4bd0: fstp qword ptr [ebp - 0x44]
|
||||
4f4bd3: wait
|
||||
4f4bd4: mov eax, dword ptr [ebp - 4]
|
||||
4f4bd7: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4bdd: mov edx, 0x4f5144 ; 'qty1'
|
||||
4f4be2: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4be7: fmul qword ptr [ebp - 0x44]
|
||||
4f4bea: fcomp dword ptr [0x4f514c] ; =0.0
|
||||
4f4bf0: fnstsw ax
|
||||
4f4bf2: sahf
|
||||
4f4bf3: jbe 0x4f4ca4
|
||||
4f4bf9: mov eax, dword ptr [ebp - 4]
|
||||
4f4bfc: mov eax, dword ptr [eax + 0x1068]
|
||||
4f4c02: cmp byte ptr [eax + 0x69], 0
|
||||
4f4c06: jne 0x4f4ca4
|
||||
4f4c0c: mov eax, dword ptr [ebp - 4]
|
||||
4f4c0f: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4c15: mov edx, 0x4f5158 ; 'qty3'
|
||||
4f4c1a: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4c1f: fstp qword ptr [ebp - 0x6c]
|
||||
4f4c22: wait
|
||||
4f4c23: mov eax, dword ptr [ebp - 4]
|
||||
4f4c26: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4c2c: mov edx, 0x4f5168 ; 'qty4'
|
||||
4f4c31: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4c36: fadd qword ptr [ebp - 0x6c]
|
||||
4f4c39: fabs
|
||||
4f4c3b: fstp xword ptr [ebp - 0x34]
|
||||
4f4c3e: wait
|
||||
4f4c3f: mov eax, dword ptr [ebp - 4]
|
||||
4f4c42: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4c48: mov edx, 0x4f5144 ; 'qty1'
|
||||
4f4c4d: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4c52: fabs
|
||||
4f4c54: fld xword ptr [ebp - 0x34]
|
||||
4f4c57: fcompp
|
||||
4f4c59: fnstsw ax
|
||||
4f4c5b: sahf
|
||||
4f4c5c: jbe 0x4f4ca4
|
||||
4f4c5e: mov eax, dword ptr [ebp - 4]
|
||||
4f4c61: mov ebx, dword ptr [eax + 0x2f4]
|
||||
4f4c67: mov eax, ebx
|
||||
4f4c69: mov edx, 0x4f5144 ; 'qty1'
|
||||
4f4c6e: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4c73: fstp qword ptr [ebp - 0x44]
|
||||
4f4c76: wait
|
||||
4f4c77: mov eax, dword ptr [ebp - 4]
|
||||
4f4c7a: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4c80: mov edx, 0x4f5158 ; 'qty3'
|
||||
4f4c85: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4c8a: fsubr qword ptr [ebp - 0x44]
|
||||
4f4c8d: lea eax, [ebp - 0x7c]
|
||||
4f4c90: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4f4c95: lea ecx, [ebp - 0x7c]
|
||||
4f4c98: mov eax, ebx
|
||||
4f4c9a: mov edx, 0x4f5168 ; 'qty4'
|
||||
4f4c9f: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4f4ca4: mov eax, dword ptr [ebp - 4]
|
||||
4f4ca7: mov ebx, dword ptr [eax + 0x2f4]
|
||||
4f4cad: mov eax, ebx
|
||||
4f4caf: mov edx, 0x4f5158 ; 'qty3'
|
||||
4f4cb4: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4cb9: fstp qword ptr [ebp - 0x44]
|
||||
4f4cbc: wait
|
||||
4f4cbd: mov eax, dword ptr [ebp - 4]
|
||||
4f4cc0: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4cc6: mov edx, 0x4f5168 ; 'qty4'
|
||||
4f4ccb: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4cd0: fadd qword ptr [ebp - 0x44]
|
||||
4f4cd3: lea eax, [ebp - 0x8c]
|
||||
4f4cd9: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4f4cde: lea ecx, [ebp - 0x8c]
|
||||
4f4ce4: mov eax, ebx
|
||||
4f4ce6: mov edx, 0x4f5134 ; 'qty2'
|
||||
4f4ceb: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4f4cf0: mov eax, dword ptr [ebp - 4]
|
||||
4f4cf3: call 0x4fc498
|
||||
4f4cf8: push 0
|
||||
4f4cfa: push 4
|
||||
4f4cfc: mov eax, dword ptr [ebp - 4]
|
||||
4f4cff: fld qword ptr [eax + 0x12d0]
|
||||
4f4d05: add esp, -0xc
|
||||
4f4d08: fstp xword ptr [esp]
|
||||
4f4d0b: wait
|
||||
4f4d0c: call 0x42b330 ; DP_COMMON!MROUNDUD
|
||||
4f4d11: fstp xword ptr [ebp - 0x34]
|
||||
4f4d14: wait
|
||||
4f4d15: push 0
|
||||
4f4d17: push 4
|
||||
4f4d19: mov eax, dword ptr [ebp - 4]
|
||||
4f4d1c: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4d22: mov edx, 0x4f5158 ; 'qty3'
|
||||
4f4d27: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4d2c: add esp, -0xc
|
||||
4f4d2f: fstp xword ptr [esp]
|
||||
4f4d32: wait
|
||||
4f4d33: call 0x42b330 ; DP_COMMON!MROUNDUD
|
||||
4f4d38: fld xword ptr [ebp - 0x34]
|
||||
4f4d3b: fcompp
|
||||
4f4d3d: fnstsw ax
|
||||
4f4d3f: sahf
|
||||
4f4d40: je 0x4f4d4f
|
||||
4f4d42: mov edx, 0x4f5188 ; 'XX3NM'
|
||||
4f4d47: mov eax, dword ptr [ebp - 4]
|
||||
4f4d4a: call 0x4f45f0
|
||||
4f4d4f: push 0
|
||||
4f4d51: push 4
|
||||
4f4d53: mov eax, dword ptr [ebp - 4]
|
||||
4f4d56: fld qword ptr [eax + 0x12d8]
|
||||
4f4d5c: add esp, -0xc
|
||||
4f4d5f: fstp xword ptr [esp]
|
||||
4f4d62: wait
|
||||
4f4d63: call 0x42b330 ; DP_COMMON!MROUNDUD
|
||||
4f4d68: fstp xword ptr [ebp - 0x34]
|
||||
4f4d6b: wait
|
||||
4f4d6c: push 0
|
||||
4f4d6e: push 4
|
||||
4f4d70: mov eax, dword ptr [ebp - 4]
|
||||
4f4d73: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4d79: mov edx, 0x4f5168 ; 'qty4'
|
||||
4f4d7e: call 0x403ab0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4f4d83: add esp, -0xc
|
||||
4f4d86: fstp xword ptr [esp]
|
||||
4f4d89: wait
|
||||
4f4d8a: call 0x42b330 ; DP_COMMON!MROUNDUD
|
||||
4f4d8f: fld xword ptr [ebp - 0x34]
|
||||
4f4d92: fcompp
|
||||
4f4d94: fnstsw ax
|
||||
4f4d96: sahf
|
||||
4f4d97: je 0x4f4da6
|
||||
4f4d99: mov edx, 0x4f5198 ; 'XX4NM'
|
||||
4f4d9e: mov eax, dword ptr [ebp - 4]
|
||||
4f4da1: call 0x4f45f0
|
||||
4f4da6: mov eax, dword ptr [ebp - 4]
|
||||
4f4da9: mov eax, dword ptr [eax + 0x2f4]
|
||||
4f4daf: call 0x403a58 ; Apollo5D6!@Apodset@TApolloTable@Commit$qqrv
|
||||
4f4db4: mov byte ptr [0x541893], 1
|
||||
4f4dbb: jmp 0x4f4de4
|
||||
4f4dbd: cmp byte ptr [0x541893], 0
|
||||
4f4dc4: je 0x4f4de4
|
||||
4f4dc6: mov byte ptr [0x541893], 0
|
||||
4f4dcd: mov eax, dword ptr [ebp - 4]
|
||||
4f4dd0: call 0x4e8c30
|
||||
4f4dd5: mov eax, dword ptr [ebp - 4]
|
||||
4f4dd8: call 0x4fc498
|
||||
4f4ddd: mov byte ptr [0x541893], 1
|
||||
+607
@@ -0,0 +1,607 @@
|
||||
4fc5dc: cmp dword ptr [0x5417bc], 1
|
||||
4fc5e3: jne 0x4fc62e
|
||||
4fc5e5: cmp dword ptr [0x5417bc], 5
|
||||
4fc5ec: sete al
|
||||
4fc5ef: or al, byte ptr [ebp - 0xd]
|
||||
4fc5f2: push eax
|
||||
4fc5f3: push 0
|
||||
4fc5f5: mov eax, dword ptr [0x52e7a8]
|
||||
4fc5fa: mov eax, dword ptr [eax]
|
||||
4fc5fc: movsx eax, byte ptr [eax + 0x58]
|
||||
4fc600: push eax
|
||||
4fc601: mov eax, dword ptr [0x541894]
|
||||
4fc606: push eax
|
||||
4fc607: mov eax, dword ptr [ebx]
|
||||
4fc609: push eax
|
||||
4fc60a: push 0x5418e4
|
||||
4fc60f: mov eax, dword ptr [0x52e890]
|
||||
4fc614: mov eax, dword ptr [eax]
|
||||
4fc616: mov cl, byte ptr [eax + 0x7c5]
|
||||
4fc61c: mov edx, dword ptr [edi + 0x2f4]
|
||||
4fc622: mov al, 1
|
||||
4fc624: call 0x456504
|
||||
4fc629: jmp 0x4fc6b2
|
||||
4fc62e: cmp dword ptr [0x5417bc], 4
|
||||
4fc635: jne 0x4fc674
|
||||
4fc637: cmp dword ptr [0x5417c4], 1
|
||||
4fc63e: jne 0x4fc674
|
||||
4fc640: push 1
|
||||
4fc642: push 0
|
||||
4fc644: mov eax, dword ptr [0x541898]
|
||||
4fc649: push eax
|
||||
4fc64a: mov eax, dword ptr [0x541894]
|
||||
4fc64f: push eax
|
||||
4fc650: mov eax, dword ptr [ebx]
|
||||
4fc652: push eax
|
||||
4fc653: push 0x5418e4
|
||||
4fc658: mov eax, dword ptr [0x52e890]
|
||||
4fc65d: mov eax, dword ptr [eax]
|
||||
4fc65f: mov cl, byte ptr [eax + 0x7c5]
|
||||
4fc665: mov edx, dword ptr [edi + 0x2f4]
|
||||
4fc66b: mov al, 1
|
||||
4fc66d: call 0x456504
|
||||
4fc672: jmp 0x4fc6b2
|
||||
4fc674: cmp dword ptr [0x5417bc], 5
|
||||
4fc67b: sete al
|
||||
4fc67e: or al, byte ptr [ebp - 0xd]
|
||||
4fc681: push eax
|
||||
4fc682: push 0
|
||||
4fc684: mov eax, dword ptr [0x541898]
|
||||
4fc689: push eax
|
||||
4fc68a: mov eax, dword ptr [0x541894]
|
||||
4fc68f: push eax
|
||||
4fc690: mov eax, dword ptr [ebx]
|
||||
4fc692: push eax
|
||||
4fc693: push 0x5418e4
|
||||
4fc698: mov eax, dword ptr [0x52e890]
|
||||
4fc69d: mov eax, dword ptr [eax]
|
||||
4fc69f: mov cl, byte ptr [eax + 0x7c5]
|
||||
4fc6a5: mov edx, dword ptr [edi + 0x2f4]
|
||||
4fc6ab: mov al, 1
|
||||
4fc6ad: call 0x456504
|
||||
4fc6b2: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fc6b8: call 0x4035b8 ; dbrtl60!@Db@TDataSet@Edit$qqrv
|
||||
4fc6bd: mov eax, dword ptr [ebx]
|
||||
4fc6bf: add eax, eax
|
||||
4fc6c1: lea eax, [eax + eax*2]
|
||||
4fc6c4: fld qword ptr [eax*8 + 0x541b9c]
|
||||
4fc6cb: lea eax, [ebp - 0x134]
|
||||
4fc6d1: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fc6d6: lea eax, [ebp - 0x134]
|
||||
4fc6dc: push eax
|
||||
4fc6dd: lea eax, [ebp - 0x138]
|
||||
4fc6e3: mov ecx, dword ptr [ebp - 8]
|
||||
4fc6e6: mov edx, 0x4fd1cc ; 'T_AMT'
|
||||
4fc6eb: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fc6f0: mov edx, dword ptr [ebp - 0x138]
|
||||
4fc6f6: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fc6fc: pop ecx
|
||||
4fc6fd: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fc702: mov eax, dword ptr [ebx]
|
||||
4fc704: add eax, eax
|
||||
4fc706: lea eax, [eax + eax*2]
|
||||
4fc709: fld qword ptr [eax*8 + 0x541ba4]
|
||||
4fc710: lea eax, [ebp - 0x148]
|
||||
4fc716: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fc71b: lea eax, [ebp - 0x148]
|
||||
4fc721: push eax
|
||||
4fc722: lea eax, [ebp - 0x14c]
|
||||
4fc728: mov ecx, dword ptr [ebp - 8]
|
||||
4fc72b: mov edx, 0x4fd1dc ; 'L_AMT'
|
||||
4fc730: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fc735: mov edx, dword ptr [ebp - 0x14c]
|
||||
4fc73b: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fc741: pop ecx
|
||||
4fc742: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fc747: mov eax, dword ptr [0x52e70c]
|
||||
4fc74c: mov eax, dword ptr [eax]
|
||||
4fc74e: cmp byte ptr [eax + 0x19ba], 1
|
||||
4fc755: jne 0x4fc7a9
|
||||
4fc757: mov eax, dword ptr [0x52e7a8]
|
||||
4fc75c: mov eax, dword ptr [eax]
|
||||
4fc75e: cmp byte ptr [eax + 0x57], 5
|
||||
4fc762: jne 0x4fc7a9
|
||||
4fc764: mov eax, dword ptr [ebx]
|
||||
4fc766: add eax, eax
|
||||
4fc768: lea eax, [eax + eax*2]
|
||||
4fc76b: fld qword ptr [eax*8 + 0x541bc4]
|
||||
4fc772: lea eax, [ebp - 0x15c]
|
||||
4fc778: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fc77d: lea eax, [ebp - 0x15c]
|
||||
4fc783: push eax
|
||||
4fc784: lea eax, [ebp - 0x160]
|
||||
4fc78a: mov ecx, dword ptr [ebp - 8]
|
||||
4fc78d: mov edx, 0x4fd1ec ; 'N_AMT'
|
||||
4fc792: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fc797: mov edx, dword ptr [ebp - 0x160]
|
||||
4fc79d: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fc7a3: pop ecx
|
||||
4fc7a4: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fc7a9: mov eax, dword ptr [ebx]
|
||||
4fc7ab: add eax, eax
|
||||
4fc7ad: lea eax, [eax + eax*2]
|
||||
4fc7b0: fld qword ptr [eax*8 + 0x541bac]
|
||||
4fc7b7: lea eax, [ebp - 0x170]
|
||||
4fc7bd: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fc7c2: lea eax, [ebp - 0x170]
|
||||
4fc7c8: push eax
|
||||
4fc7c9: lea eax, [ebp - 0x174]
|
||||
4fc7cf: mov ecx, dword ptr [ebp - 8]
|
||||
4fc7d2: mov edx, 0x4fd1fc ; 'M_AMT'
|
||||
4fc7d7: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fc7dc: mov edx, dword ptr [ebp - 0x174]
|
||||
4fc7e2: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fc7e8: pop ecx
|
||||
4fc7e9: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fc7ee: mov eax, dword ptr [ebx]
|
||||
4fc7f0: add eax, eax
|
||||
4fc7f2: lea eax, [eax + eax*2]
|
||||
4fc7f5: fld qword ptr [eax*8 + 0x541bb4]
|
||||
4fc7fc: lea eax, [ebp - 0x184]
|
||||
4fc802: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fc807: lea eax, [ebp - 0x184]
|
||||
4fc80d: push eax
|
||||
4fc80e: lea eax, [ebp - 0x188]
|
||||
4fc814: mov ecx, dword ptr [ebp - 8]
|
||||
4fc817: mov edx, 0x4fd20c ; 'S_AMT'
|
||||
4fc81c: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fc821: mov edx, dword ptr [ebp - 0x188]
|
||||
4fc827: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fc82d: pop ecx
|
||||
4fc82e: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fc833: mov eax, dword ptr [ebx]
|
||||
4fc835: add eax, eax
|
||||
4fc837: lea eax, [eax + eax*2]
|
||||
4fc83a: fld qword ptr [eax*8 + 0x541bbc]
|
||||
4fc841: lea eax, [ebp - 0x198]
|
||||
4fc847: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fc84c: lea eax, [ebp - 0x198]
|
||||
4fc852: push eax
|
||||
4fc853: lea eax, [ebp - 0x19c]
|
||||
4fc859: mov ecx, dword ptr [ebp - 8]
|
||||
4fc85c: mov edx, 0x4fd21c ; 'A_AMT'
|
||||
4fc861: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fc866: mov edx, dword ptr [ebp - 0x19c]
|
||||
4fc86c: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fc872: pop ecx
|
||||
4fc873: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fc878: lea edx, [ebp - 0x1a0]
|
||||
4fc87e: mov eax, dword ptr [ebp - 4]
|
||||
4fc881: call 0x40177c ; rtl60!@Sysutils@Trim$qqrx17System@AnsiString
|
||||
4fc886: mov eax, dword ptr [ebp - 0x1a0]
|
||||
4fc88c: mov edx, 0x4fd22c ; 'QTY'
|
||||
4fc891: call 0x401280 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4fc896: jne 0x4fc8dd
|
||||
4fc898: mov eax, dword ptr [ebx]
|
||||
4fc89a: add eax, eax
|
||||
4fc89c: lea eax, [eax + eax*2]
|
||||
4fc89f: fld qword ptr [eax*8 + 0x541aac]
|
||||
4fc8a6: lea eax, [ebp - 0x1b0]
|
||||
4fc8ac: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fc8b1: lea eax, [ebp - 0x1b0]
|
||||
4fc8b7: push eax
|
||||
4fc8b8: lea eax, [ebp - 0x1b4]
|
||||
4fc8be: mov ecx, dword ptr [ebp - 8]
|
||||
4fc8c1: mov edx, 0x4fd238 ; 'TAMT'
|
||||
4fc8c6: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fc8cb: mov edx, dword ptr [ebp - 0x1b4]
|
||||
4fc8d1: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fc8d7: pop ecx
|
||||
4fc8d8: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fc8dd: mov eax, dword ptr [0x5417bc]
|
||||
4fc8e2: cmp eax, 7
|
||||
4fc8e5: ja 0x4fcfe7
|
||||
4fc8eb: jmp dword ptr [eax*4 + 0x4fc8f2]
|
||||
4fc8f2: out 0xcf, eax
|
||||
4fc8f4: dec edi
|
||||
4fc8f5: add byte ptr [eax], al
|
||||
4fc8f7: int 0x4f
|
||||
4fc8f9: add bh, ah
|
||||
4fc8fb: iretd
|
||||
4fc8fc: dec edi
|
||||
4fc8fd: add byte ptr [edx], dl
|
||||
4fc8ff: leave
|
||||
4fc900: dec edi
|
||||
4fc901: add byte ptr [ebx - 0x35], ah
|
||||
4fc904: dec edi
|
||||
4fc905: add byte ptr [eax], al
|
||||
4fc907: int 0x4f
|
||||
4fc909: add byte ptr [eax], al
|
||||
4fc90b: int 0x4f
|
||||
4fc90d: add byte ptr [edx], dl
|
||||
4fc90f: leave
|
||||
4fc910: dec edi
|
||||
4fc911: add byte ptr [ecx + 0x5417c0], ah
|
||||
4fc917: test eax, eax
|
||||
4fc919: jle 0x4fcfe7
|
||||
4fc91f: mov dword ptr [ebp - 0x14], eax
|
||||
4fc922: mov dword ptr [ebp - 0xc], 1
|
||||
4fc929: mov ebx, dword ptr [0x52e784]
|
||||
4fc92f: add ebx, 4
|
||||
4fc932: mov esi, 0x541bcc
|
||||
4fc937: mov al, byte ptr [ebp - 0xd]
|
||||
4fc93a: push eax
|
||||
4fc93b: push 0
|
||||
4fc93d: lea eax, [ebp - 0x1d4]
|
||||
4fc943: mov edx, dword ptr [0x541898]
|
||||
4fc949: mov cl, 0xfc
|
||||
4fc94b: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fc950: push dword ptr [ebp - 0x1c8]
|
||||
4fc956: push dword ptr [ebp - 0x1cc]
|
||||
4fc95c: push dword ptr [ebp - 0x1d0]
|
||||
4fc962: push dword ptr [ebp - 0x1d4]
|
||||
4fc968: lea eax, [ebp - 0x1e4]
|
||||
4fc96e: mov edx, dword ptr [ebp - 0xc]
|
||||
4fc971: mov cl, 0xfc
|
||||
4fc973: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fc978: push dword ptr [ebp - 0x1d8]
|
||||
4fc97e: push dword ptr [ebp - 0x1dc]
|
||||
4fc984: push dword ptr [ebp - 0x1e0]
|
||||
4fc98a: push dword ptr [ebp - 0x1e4]
|
||||
4fc990: cmp dword ptr [0x5417bc], 3
|
||||
4fc997: sete al
|
||||
4fc99a: push eax
|
||||
4fc99b: lea eax, [ebp - 0x1c4]
|
||||
4fc9a1: push eax
|
||||
4fc9a2: call 0x42b2f8 ; DP_COMMON!IIF
|
||||
4fc9a7: lea eax, [ebp - 0x1c4]
|
||||
4fc9ad: call 0x401340 ; rtl60!@System@@VarToInt$qqrrx14System@Variant
|
||||
4fc9b2: push eax
|
||||
4fc9b3: mov eax, dword ptr [ebp - 0xc]
|
||||
4fc9b6: push eax
|
||||
4fc9b7: mov eax, dword ptr [ebp - 0xc]
|
||||
4fc9ba: push eax
|
||||
4fc9bb: push 0x5418e4
|
||||
4fc9c0: mov eax, dword ptr [0x52e890]
|
||||
4fc9c5: mov eax, dword ptr [eax]
|
||||
4fc9c7: mov cl, byte ptr [eax + 0x7c5]
|
||||
4fc9cd: mov edx, dword ptr [edi + 0x2f4]
|
||||
4fc9d3: mov al, 1
|
||||
4fc9d5: call 0x456504
|
||||
4fc9da: fld qword ptr [esi]
|
||||
4fc9dc: lea eax, [ebp - 0x1f4]
|
||||
4fc9e2: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fc9e7: lea eax, [ebp - 0x1f4]
|
||||
4fc9ed: push eax
|
||||
4fc9ee: mov ecx, dword ptr [ebx]
|
||||
4fc9f0: lea eax, [ebp - 0x1f8]
|
||||
4fc9f6: mov edx, 0x4fd1cc ; 'T_AMT'
|
||||
4fc9fb: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fca00: mov edx, dword ptr [ebp - 0x1f8]
|
||||
4fca06: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fca0c: pop ecx
|
||||
4fca0d: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fca12: fld qword ptr [esi + 8]
|
||||
4fca15: lea eax, [ebp - 0x208]
|
||||
4fca1b: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fca20: lea eax, [ebp - 0x208]
|
||||
4fca26: push eax
|
||||
4fca27: mov ecx, dword ptr [ebx]
|
||||
4fca29: lea eax, [ebp - 0x20c]
|
||||
4fca2f: mov edx, 0x4fd1dc ; 'L_AMT'
|
||||
4fca34: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fca39: mov edx, dword ptr [ebp - 0x20c]
|
||||
4fca3f: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fca45: pop ecx
|
||||
4fca46: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fca4b: mov eax, dword ptr [0x52e70c]
|
||||
4fca50: mov eax, dword ptr [eax]
|
||||
4fca52: cmp byte ptr [eax + 0x19ba], 1
|
||||
4fca59: jne 0x4fcaa1
|
||||
4fca5b: mov eax, dword ptr [0x52e7a8]
|
||||
4fca60: mov eax, dword ptr [eax]
|
||||
4fca62: cmp byte ptr [eax + 0x57], 5
|
||||
4fca66: jne 0x4fcaa1
|
||||
4fca68: fld qword ptr [esi + 0x28]
|
||||
4fca6b: lea eax, [ebp - 0x21c]
|
||||
4fca71: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fca76: lea eax, [ebp - 0x21c]
|
||||
4fca7c: push eax
|
||||
4fca7d: mov ecx, dword ptr [ebx]
|
||||
4fca7f: lea eax, [ebp - 0x220]
|
||||
4fca85: mov edx, 0x4fd1ec ; 'N_AMT'
|
||||
4fca8a: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fca8f: mov edx, dword ptr [ebp - 0x220]
|
||||
4fca95: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fca9b: pop ecx
|
||||
4fca9c: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcaa1: fld qword ptr [esi + 0x10]
|
||||
4fcaa4: lea eax, [ebp - 0x230]
|
||||
4fcaaa: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcaaf: lea eax, [ebp - 0x230]
|
||||
4fcab5: push eax
|
||||
4fcab6: mov ecx, dword ptr [ebx]
|
||||
4fcab8: lea eax, [ebp - 0x234]
|
||||
4fcabe: mov edx, 0x4fd1fc ; 'M_AMT'
|
||||
4fcac3: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fcac8: mov edx, dword ptr [ebp - 0x234]
|
||||
4fcace: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcad4: pop ecx
|
||||
4fcad5: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcada: fld qword ptr [esi + 0x18]
|
||||
4fcadd: lea eax, [ebp - 0x244]
|
||||
4fcae3: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcae8: lea eax, [ebp - 0x244]
|
||||
4fcaee: push eax
|
||||
4fcaef: mov ecx, dword ptr [ebx]
|
||||
4fcaf1: lea eax, [ebp - 0x248]
|
||||
4fcaf7: mov edx, 0x4fd20c ; 'S_AMT'
|
||||
4fcafc: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fcb01: mov edx, dword ptr [ebp - 0x248]
|
||||
4fcb07: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcb0d: pop ecx
|
||||
4fcb0e: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcb13: fld qword ptr [esi + 0x20]
|
||||
4fcb16: lea eax, [ebp - 0x258]
|
||||
4fcb1c: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcb21: lea eax, [ebp - 0x258]
|
||||
4fcb27: push eax
|
||||
4fcb28: mov ecx, dword ptr [ebx]
|
||||
4fcb2a: lea eax, [ebp - 0x25c]
|
||||
4fcb30: mov edx, 0x4fd21c ; 'A_AMT'
|
||||
4fcb35: call 0x401270 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4fcb3a: mov edx, dword ptr [ebp - 0x25c]
|
||||
4fcb40: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcb46: pop ecx
|
||||
4fcb47: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcb4c: inc dword ptr [ebp - 0xc]
|
||||
4fcb4f: add esi, 0x30
|
||||
4fcb52: add ebx, 4
|
||||
4fcb55: dec dword ptr [ebp - 0x14]
|
||||
4fcb58: jne 0x4fc937
|
||||
4fcb5e: jmp 0x4fcfe7
|
||||
4fcb63: cmp dword ptr [0x5417c4], 1
|
||||
4fcb6a: jne 0x4fcfe7
|
||||
4fcb70: mov al, byte ptr [ebp - 0xd]
|
||||
4fcb73: push eax
|
||||
4fcb74: push 0
|
||||
4fcb76: lea eax, [ebp - 0x27c]
|
||||
4fcb7c: mov edx, dword ptr [0x541898]
|
||||
4fcb82: mov cl, 0xfc
|
||||
4fcb84: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fcb89: push dword ptr [ebp - 0x270]
|
||||
4fcb8f: push dword ptr [ebp - 0x274]
|
||||
4fcb95: push dword ptr [ebp - 0x278]
|
||||
4fcb9b: push dword ptr [ebp - 0x27c]
|
||||
4fcba1: lea eax, [ebp - 0x28c]
|
||||
4fcba7: mov edx, 3
|
||||
4fcbac: mov cl, 1
|
||||
4fcbae: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fcbb3: push dword ptr [ebp - 0x280]
|
||||
4fcbb9: push dword ptr [ebp - 0x284]
|
||||
4fcbbf: push dword ptr [ebp - 0x288]
|
||||
4fcbc5: push dword ptr [ebp - 0x28c]
|
||||
4fcbcb: cmp byte ptr [ebp - 0xd], 0
|
||||
4fcbcf: jne 0x4fcbdd
|
||||
4fcbd1: mov eax, dword ptr [ebp - 4]
|
||||
4fcbd4: cmp byte ptr [eax], 0x51
|
||||
4fcbd7: je 0x4fcbdd
|
||||
4fcbd9: xor eax, eax
|
||||
4fcbdb: jmp 0x4fcbdf
|
||||
4fcbdd: mov al, 1
|
||||
4fcbdf: push eax
|
||||
4fcbe0: lea eax, [ebp - 0x26c]
|
||||
4fcbe6: push eax
|
||||
4fcbe7: call 0x42b2f8 ; DP_COMMON!IIF
|
||||
4fcbec: lea eax, [ebp - 0x26c]
|
||||
4fcbf2: call 0x401340 ; rtl60!@System@@VarToInt$qqrrx14System@Variant
|
||||
4fcbf7: push eax
|
||||
4fcbf8: push 3
|
||||
4fcbfa: push 3
|
||||
4fcbfc: push 0x5418e4
|
||||
4fcc01: mov eax, dword ptr [0x52e890]
|
||||
4fcc06: mov eax, dword ptr [eax]
|
||||
4fcc08: mov cl, byte ptr [eax + 0x7c5]
|
||||
4fcc0e: mov edx, dword ptr [edi + 0x2f4]
|
||||
4fcc14: mov al, 1
|
||||
4fcc16: call 0x456504
|
||||
4fcc1b: fld qword ptr [0x541c2c]
|
||||
4fcc21: lea eax, [ebp - 0x29c]
|
||||
4fcc27: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcc2c: lea ecx, [ebp - 0x29c]
|
||||
4fcc32: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcc38: mov edx, 0x4fd248 ; 'T_AMT3'
|
||||
4fcc3d: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcc42: fld qword ptr [0x541c34]
|
||||
4fcc48: lea eax, [ebp - 0x2ac]
|
||||
4fcc4e: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcc53: lea ecx, [ebp - 0x2ac]
|
||||
4fcc59: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcc5f: mov edx, 0x4fd258 ; 'L_AMT3'
|
||||
4fcc64: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcc69: mov eax, dword ptr [0x52e70c]
|
||||
4fcc6e: mov eax, dword ptr [eax]
|
||||
4fcc70: cmp byte ptr [eax + 0x19ba], 1
|
||||
4fcc77: jne 0x4fccad
|
||||
4fcc79: mov eax, dword ptr [0x52e7a8]
|
||||
4fcc7e: mov eax, dword ptr [eax]
|
||||
4fcc80: cmp byte ptr [eax + 0x57], 5
|
||||
4fcc84: jne 0x4fccad
|
||||
4fcc86: fld qword ptr [0x541c54]
|
||||
4fcc8c: lea eax, [ebp - 0x2bc]
|
||||
4fcc92: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcc97: lea ecx, [ebp - 0x2bc]
|
||||
4fcc9d: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcca3: mov edx, 0x4fd268 ; 'N_AMT3'
|
||||
4fcca8: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fccad: fld qword ptr [0x541c3c]
|
||||
4fccb3: lea eax, [ebp - 0x2cc]
|
||||
4fccb9: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fccbe: lea ecx, [ebp - 0x2cc]
|
||||
4fccc4: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fccca: mov edx, 0x4fd278 ; 'M_AMT3'
|
||||
4fcccf: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fccd4: fld qword ptr [0x541c44]
|
||||
4fccda: lea eax, [ebp - 0x2dc]
|
||||
4fcce0: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcce5: lea ecx, [ebp - 0x2dc]
|
||||
4fcceb: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fccf1: mov edx, 0x4fd288 ; 'S_AMT3'
|
||||
4fccf6: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fccfb: jmp 0x4fcfe7
|
||||
4fcd00: cmp dword ptr [0x5417bc], 5
|
||||
4fcd07: jne 0x4fcdbc
|
||||
4fcd0d: mov al, byte ptr [ebp - 0xd]
|
||||
4fcd10: push eax
|
||||
4fcd11: push 0
|
||||
4fcd13: lea eax, [ebp - 0x2fc]
|
||||
4fcd19: mov edx, 1
|
||||
4fcd1e: mov cl, 1
|
||||
4fcd20: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fcd25: push dword ptr [ebp - 0x2f0]
|
||||
4fcd2b: push dword ptr [ebp - 0x2f4]
|
||||
4fcd31: push dword ptr [ebp - 0x2f8]
|
||||
4fcd37: push dword ptr [ebp - 0x2fc]
|
||||
4fcd3d: lea eax, [ebp - 0x30c]
|
||||
4fcd43: mov edx, 2
|
||||
4fcd48: mov cl, 1
|
||||
4fcd4a: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fcd4f: push dword ptr [ebp - 0x300]
|
||||
4fcd55: push dword ptr [ebp - 0x304]
|
||||
4fcd5b: push dword ptr [ebp - 0x308]
|
||||
4fcd61: push dword ptr [ebp - 0x30c]
|
||||
4fcd67: cmp byte ptr [ebp - 0xd], 0
|
||||
4fcd6b: jne 0x4fcd79
|
||||
4fcd6d: mov eax, dword ptr [ebp - 4]
|
||||
4fcd70: cmp byte ptr [eax], 0x51
|
||||
4fcd73: je 0x4fcd79
|
||||
4fcd75: xor eax, eax
|
||||
4fcd77: jmp 0x4fcd7b
|
||||
4fcd79: mov al, 1
|
||||
4fcd7b: push eax
|
||||
4fcd7c: lea eax, [ebp - 0x2ec]
|
||||
4fcd82: push eax
|
||||
4fcd83: call 0x42b2f8 ; DP_COMMON!IIF
|
||||
4fcd88: lea eax, [ebp - 0x2ec]
|
||||
4fcd8e: call 0x401340 ; rtl60!@System@@VarToInt$qqrrx14System@Variant
|
||||
4fcd93: push eax
|
||||
4fcd94: push 1
|
||||
4fcd96: push 2
|
||||
4fcd98: push 0x5418e4
|
||||
4fcd9d: mov eax, dword ptr [0x52e890]
|
||||
4fcda2: mov eax, dword ptr [eax]
|
||||
4fcda4: mov cl, byte ptr [eax + 0x7c5]
|
||||
4fcdaa: mov edx, dword ptr [edi + 0x2f4]
|
||||
4fcdb0: mov al, 1
|
||||
4fcdb2: call 0x456504
|
||||
4fcdb7: jmp 0x4fcf07
|
||||
4fcdbc: cmp dword ptr [0x5417bc], 1
|
||||
4fcdc3: jne 0x4fce6e
|
||||
4fcdc9: mov al, byte ptr [ebp - 0xd]
|
||||
4fcdcc: push eax
|
||||
4fcdcd: push 0
|
||||
4fcdcf: lea eax, [ebp - 0x32c]
|
||||
4fcdd5: mov edx, dword ptr [0x52e7a8]
|
||||
4fcddb: mov edx, dword ptr [edx]
|
||||
4fcddd: movsx edx, byte ptr [edx + 0x58]
|
||||
4fcde1: mov cl, 0xff
|
||||
4fcde3: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fcde8: push dword ptr [ebp - 0x320]
|
||||
4fcdee: push dword ptr [ebp - 0x324]
|
||||
4fcdf4: push dword ptr [ebp - 0x328]
|
||||
4fcdfa: push dword ptr [ebp - 0x32c]
|
||||
4fce00: lea eax, [ebp - 0x33c]
|
||||
4fce06: mov edx, 2
|
||||
4fce0b: mov cl, 1
|
||||
4fce0d: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fce12: push dword ptr [ebp - 0x330]
|
||||
4fce18: push dword ptr [ebp - 0x334]
|
||||
4fce1e: push dword ptr [ebp - 0x338]
|
||||
4fce24: push dword ptr [ebp - 0x33c]
|
||||
4fce2a: mov al, byte ptr [ebp - 0xd]
|
||||
4fce2d: push eax
|
||||
4fce2e: lea eax, [ebp - 0x31c]
|
||||
4fce34: push eax
|
||||
4fce35: call 0x42b2f8 ; DP_COMMON!IIF
|
||||
4fce3a: lea eax, [ebp - 0x31c]
|
||||
4fce40: call 0x401340 ; rtl60!@System@@VarToInt$qqrrx14System@Variant
|
||||
4fce45: push eax
|
||||
4fce46: push 2
|
||||
4fce48: push 2
|
||||
4fce4a: push 0x5418e4
|
||||
4fce4f: mov eax, dword ptr [0x52e890]
|
||||
4fce54: mov eax, dword ptr [eax]
|
||||
4fce56: mov cl, byte ptr [eax + 0x7c5]
|
||||
4fce5c: mov edx, dword ptr [edi + 0x2f4]
|
||||
4fce62: mov al, 1
|
||||
4fce64: call 0x456504
|
||||
4fce69: jmp 0x4fcf07
|
||||
4fce6e: mov al, byte ptr [ebp - 0xd]
|
||||
4fce71: push eax
|
||||
4fce72: push 0
|
||||
4fce74: lea eax, [ebp - 0x35c]
|
||||
4fce7a: mov edx, 1
|
||||
4fce7f: mov cl, 1
|
||||
4fce81: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fce86: push dword ptr [ebp - 0x350]
|
||||
4fce8c: push dword ptr [ebp - 0x354]
|
||||
4fce92: push dword ptr [ebp - 0x358]
|
||||
4fce98: push dword ptr [ebp - 0x35c]
|
||||
4fce9e: lea eax, [ebp - 0x36c]
|
||||
4fcea4: mov edx, 2
|
||||
4fcea9: mov cl, 1
|
||||
4fceab: call 0x401368 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4fceb0: push dword ptr [ebp - 0x360]
|
||||
4fceb6: push dword ptr [ebp - 0x364]
|
||||
4fcebc: push dword ptr [ebp - 0x368]
|
||||
4fcec2: push dword ptr [ebp - 0x36c]
|
||||
4fcec8: mov al, byte ptr [ebp - 0xd]
|
||||
4fcecb: push eax
|
||||
4fcecc: lea eax, [ebp - 0x34c]
|
||||
4fced2: push eax
|
||||
4fced3: call 0x42b2f8 ; DP_COMMON!IIF
|
||||
4fced8: lea eax, [ebp - 0x34c]
|
||||
4fcede: call 0x401340 ; rtl60!@System@@VarToInt$qqrrx14System@Variant
|
||||
4fcee3: push eax
|
||||
4fcee4: push 2
|
||||
4fcee6: push 2
|
||||
4fcee8: push 0x5418e4
|
||||
4fceed: mov eax, dword ptr [0x52e890]
|
||||
4fcef2: mov eax, dword ptr [eax]
|
||||
4fcef4: mov cl, byte ptr [eax + 0x7c5]
|
||||
4fcefa: mov edx, dword ptr [edi + 0x2f4]
|
||||
4fcf00: mov al, 1
|
||||
4fcf02: call 0x456504
|
||||
4fcf07: fld qword ptr [0x541bfc]
|
||||
4fcf0d: lea eax, [ebp - 0x37c]
|
||||
4fcf13: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcf18: lea ecx, [ebp - 0x37c]
|
||||
4fcf1e: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcf24: mov edx, 0x4fd298 ; 'T_AMT2'
|
||||
4fcf29: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcf2e: fld qword ptr [0x541c04]
|
||||
4fcf34: lea eax, [ebp - 0x38c]
|
||||
4fcf3a: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcf3f: lea ecx, [ebp - 0x38c]
|
||||
4fcf45: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcf4b: mov edx, 0x4fd2a8 ; 'L_AMT2'
|
||||
4fcf50: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcf55: mov eax, dword ptr [0x52e70c]
|
||||
4fcf5a: mov eax, dword ptr [eax]
|
||||
4fcf5c: cmp byte ptr [eax + 0x19ba], 1
|
||||
4fcf63: jne 0x4fcf99
|
||||
4fcf65: mov eax, dword ptr [0x52e7a8]
|
||||
4fcf6a: mov eax, dword ptr [eax]
|
||||
4fcf6c: cmp byte ptr [eax + 0x57], 5
|
||||
4fcf70: jne 0x4fcf99
|
||||
4fcf72: fld qword ptr [0x541c24]
|
||||
4fcf78: lea eax, [ebp - 0x39c]
|
||||
4fcf7e: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcf83: lea ecx, [ebp - 0x39c]
|
||||
4fcf89: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcf8f: mov edx, 0x4fd2b8 ; 'N_AMT2'
|
||||
4fcf94: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcf99: fld qword ptr [0x541c0c]
|
||||
4fcf9f: lea eax, [ebp - 0x3ac]
|
||||
4fcfa5: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcfaa: lea ecx, [ebp - 0x3ac]
|
||||
4fcfb0: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcfb6: mov edx, 0x4fd2c8 ; 'M_AMT2'
|
||||
4fcfbb: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4fcfc0: fld qword ptr [0x541c14]
|
||||
4fcfc6: lea eax, [ebp - 0x3bc]
|
||||
4fcfcc: call 0x401380 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4fcfd1: lea ecx, [ebp - 0x3bc]
|
||||
4fcfd7: mov eax, dword ptr [edi + 0x2f4]
|
||||
4fcfdd: mov edx, 0x4fd2d8 ; 'S_AMT2'
|
||||
4fcfe2: call 0x403580 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
+158
@@ -0,0 +1,158 @@
|
||||
47fadf: mov edx, 0x4800a8 ; 'T_AMT1'
|
||||
47fae4: mov eax, dword ptr [ebx + 0x2fc]
|
||||
47faea: call 0x402cb0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
47faef: fstp qword ptr [ebp - 0x18]
|
||||
47faf2: wait
|
||||
47faf3: mov dword ptr [ebp - 0xc], 1
|
||||
47fafa: mov edi, 0x50c240
|
||||
47faff: mov dword ptr [ebp - 0x24], 0x50ce60
|
||||
47fb06: mov esi, edi
|
||||
47fb08: lea eax, [ebp - 0x1e4]
|
||||
47fb0e: lea edx, [esi + 0x204]
|
||||
47fb14: call 0x401210
|
||||
47fb19: mov eax, dword ptr [ebp - 0x1e4]
|
||||
47fb1f: push eax
|
||||
47fb20: lea eax, [ebp - 0x1e8]
|
||||
47fb26: lea edx, [esi + 0x104]
|
||||
47fb2c: call 0x401210
|
||||
47fb31: mov eax, dword ptr [ebp - 0x1e8]
|
||||
47fb37: push eax
|
||||
47fb38: movsx eax, byte ptr [esi + 0x305]
|
||||
47fb3f: push eax
|
||||
47fb40: lea eax, [ebp - 0x1ec]
|
||||
47fb46: lea edx, [esi + 4]
|
||||
47fb49: call 0x401210
|
||||
47fb4e: mov edx, dword ptr [ebp - 0x1ec]
|
||||
47fb54: mov eax, dword ptr [ebx + 0x2fc]
|
||||
47fb5a: call 0x402cb0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
47fb5f: add esp, -0xc
|
||||
47fb62: fstp xword ptr [esp]
|
||||
47fb65: wait
|
||||
47fb66: lea eax, [ebp - 0x1e0]
|
||||
47fb6c: push eax
|
||||
47fb6d: call 0x4376fc ; DP_COMMON!DIS_FMT1
|
||||
47fb72: mov edx, dword ptr [ebp - 0x1e0]
|
||||
47fb78: lea eax, [ebp - 0x1dc]
|
||||
47fb7e: call 0x401350
|
||||
47fb83: lea edx, [ebp - 0x1dc]
|
||||
47fb89: mov eax, dword ptr [esi]
|
||||
47fb8b: mov ecx, dword ptr [eax]
|
||||
47fb8d: call dword ptr [ecx + 0xc4]
|
||||
47fb93: mov eax, dword ptr [ebp - 0x24]
|
||||
47fb96: mov esi, eax
|
||||
47fb98: cmp dword ptr [ebp - 0xc], 1
|
||||
47fb9c: jle 0x47fda5
|
||||
47fba2: fld qword ptr [ebp - 0x18]
|
||||
47fba5: fcomp dword ptr [0x4800b0] ; =0.0
|
||||
47fbab: fnstsw ax
|
||||
47fbad: sahf
|
||||
47fbae: ja 0x47fbd2
|
||||
47fbb0: lea eax, [ebp - 0x1fc]
|
||||
47fbb6: xor edx, edx
|
||||
47fbb8: call 0x401350
|
||||
47fbbd: lea edx, [ebp - 0x1fc]
|
||||
47fbc3: mov eax, dword ptr [esi]
|
||||
47fbc5: mov ecx, dword ptr [eax]
|
||||
47fbc7: call dword ptr [ecx + 0xc4]
|
||||
47fbcd: jmp 0x47fda5
|
||||
47fbd2: mov eax, dword ptr [ebp - 0xc]
|
||||
47fbd5: sub eax, 2
|
||||
47fbd8: je 0x47fbed
|
||||
47fbda: dec eax
|
||||
47fbdb: je 0x47fc77
|
||||
47fbe1: dec eax
|
||||
47fbe2: je 0x47fd01
|
||||
47fbe8: jmp 0x47fd88
|
||||
47fbed: lea eax, [ebp - 0x214]
|
||||
47fbf3: lea edx, [esi + 0x204]
|
||||
47fbf9: call 0x401210
|
||||
47fbfe: mov eax, dword ptr [ebp - 0x214]
|
||||
47fc04: push eax
|
||||
47fc05: lea eax, [ebp - 0x218]
|
||||
47fc0b: lea edx, [esi + 0x104]
|
||||
47fc11: call 0x401210
|
||||
47fc16: mov eax, dword ptr [ebp - 0x218]
|
||||
47fc1c: push eax
|
||||
47fc1d: movsx eax, byte ptr [esi + 0x305]
|
||||
47fc24: push eax
|
||||
47fc25: mov edx, 0x4800bc ; 'T_AMT3'
|
||||
47fc2a: mov eax, dword ptr [ebx + 0x2fc]
|
||||
47fc30: call 0x402cb0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
47fc35: fdiv qword ptr [ebp - 0x18]
|
||||
47fc38: fmul dword ptr [0x4800c4] ; =100.0
|
||||
47fc3e: add esp, -0xc
|
||||
47fc41: fstp xword ptr [esp]
|
||||
47fc44: wait
|
||||
47fc45: lea eax, [ebp - 0x210]
|
||||
47fc4b: push eax
|
||||
47fc4c: call 0x4376fc ; DP_COMMON!DIS_FMT1
|
||||
47fc51: mov edx, dword ptr [ebp - 0x210]
|
||||
47fc57: lea eax, [ebp - 0x20c]
|
||||
47fc5d: call 0x401350
|
||||
47fc62: lea edx, [ebp - 0x20c]
|
||||
47fc68: mov eax, dword ptr [esi]
|
||||
47fc6a: mov ecx, dword ptr [eax]
|
||||
47fc6c: call dword ptr [ecx + 0xc4]
|
||||
47fc72: jmp 0x47fda5
|
||||
47fc77: lea eax, [ebp - 0x230]
|
||||
47fc7d: lea edx, [esi + 0x204]
|
||||
47fc83: call 0x401210
|
||||
47fc88: mov eax, dword ptr [ebp - 0x230]
|
||||
47fc8e: push eax
|
||||
47fc8f: lea eax, [ebp - 0x234]
|
||||
47fc95: lea edx, [esi + 0x104]
|
||||
47fc9b: call 0x401210
|
||||
47fca0: mov eax, dword ptr [ebp - 0x234]
|
||||
47fca6: push eax
|
||||
47fca7: movsx eax, byte ptr [esi + 0x305]
|
||||
47fcae: push eax
|
||||
47fcaf: mov edx, 0x4800d0 ; 'T_AMT4'
|
||||
47fcb4: mov eax, dword ptr [ebx + 0x2fc]
|
||||
47fcba: call 0x402cb0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
47fcbf: fdiv qword ptr [ebp - 0x18]
|
||||
47fcc2: fmul dword ptr [0x4800c4] ; =100.0
|
||||
47fcc8: add esp, -0xc
|
||||
47fccb: fstp xword ptr [esp]
|
||||
47fcce: wait
|
||||
47fccf: lea eax, [ebp - 0x22c]
|
||||
47fcd5: push eax
|
||||
47fcd6: call 0x4376fc ; DP_COMMON!DIS_FMT1
|
||||
47fcdb: mov edx, dword ptr [ebp - 0x22c]
|
||||
47fce1: lea eax, [ebp - 0x228]
|
||||
47fce7: call 0x401350
|
||||
47fcec: lea edx, [ebp - 0x228]
|
||||
47fcf2: mov eax, dword ptr [esi]
|
||||
47fcf4: mov ecx, dword ptr [eax]
|
||||
47fcf6: call dword ptr [ecx + 0xc4]
|
||||
47fcfc: jmp 0x47fda5
|
||||
47fd01: lea eax, [ebp - 0x24c]
|
||||
47fd07: lea edx, [esi + 0x204]
|
||||
47fd0d: call 0x401210
|
||||
47fd12: mov eax, dword ptr [ebp - 0x24c]
|
||||
47fd18: push eax
|
||||
47fd19: lea eax, [ebp - 0x250]
|
||||
47fd1f: lea edx, [esi + 0x104]
|
||||
47fd25: call 0x401210
|
||||
47fd2a: mov eax, dword ptr [ebp - 0x250]
|
||||
47fd30: push eax
|
||||
47fd31: movsx eax, byte ptr [esi + 0x305]
|
||||
47fd38: push eax
|
||||
47fd39: mov edx, 0x4800e0 ; 'T_AMT2'
|
||||
47fd3e: mov eax, dword ptr [ebx + 0x2fc]
|
||||
47fd44: call 0x402cb0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
47fd49: fdiv qword ptr [ebp - 0x18]
|
||||
47fd4c: fmul dword ptr [0x4800c4] ; =100.0
|
||||
47fd52: add esp, -0xc
|
||||
47fd55: fstp xword ptr [esp]
|
||||
47fd58: wait
|
||||
47fd59: lea eax, [ebp - 0x248]
|
||||
47fd5f: push eax
|
||||
47fd60: call 0x4376fc ; DP_COMMON!DIS_FMT1
|
||||
47fd65: mov edx, dword ptr [ebp - 0x248]
|
||||
47fd6b: lea eax, [ebp - 0x244]
|
||||
47fd71: call 0x401350
|
||||
47fd76: lea edx, [ebp - 0x244]
|
||||
47fd7c: mov eax, dword ptr [esi]
|
||||
47fd7e: mov ecx, dword ptr [eax]
|
||||
47fd80: call dword ptr [ecx + 0xc4]
|
||||
47fd86: jmp 0x47fda5
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
48032b: mov eax, dword ptr [0x486914]
|
||||
480330: mov eax, dword ptr [eax]
|
||||
480332: mov eax, dword ptr [eax + 0x20]
|
||||
480335: mov edx, 0x4806dc ; 'TCOST1'
|
||||
48033a: call 0x402cb0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
48033f: fstp st(0)
|
||||
480341: lea eax, [ebp - 0x358]
|
||||
480347: mov edx, 0x4806ec ; '2. 도 급 액 : '
|
||||
48034c: call 0x401350
|
||||
480351: lea edx, [ebp - 0x358]
|
||||
480357: mov eax, dword ptr [ebp - 4]
|
||||
48035a: mov ecx, dword ptr [ebp - 8]
|
||||
48035d: mov eax, dword ptr [eax + ecx*4 + 0x370]
|
||||
480364: mov ecx, dword ptr [eax]
|
||||
480366: call dword ptr [ecx + 0xc4]
|
||||
48036c: jmp 0x4804b9
|
||||
480371: mov eax, dword ptr [0x486914]
|
||||
480376: mov eax, dword ptr [eax]
|
||||
480378: mov eax, dword ptr [eax + 0x20]
|
||||
48037b: mov edx, 0x480708 ; 'COSTW4'
|
||||
480380: call 0x402cb0 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
480385: fstp qword ptr [ebp - 0x18]
|
||||
480388: wait
|
||||
480389: lea eax, [ebp - 0x368]
|
||||
48038f: mov edx, 0x480718 ; '3. 기성부분금액 : '
|
||||
480394: call 0x401350
|
||||
480399: lea edx, [ebp - 0x368]
|
||||
48039f: mov eax, dword ptr [ebp - 4]
|
||||
4803a2: mov ecx, dword ptr [ebp - 8]
|
||||
4803a5: mov eax, dword ptr [eax + ecx*4 + 0x370]
|
||||
4803ac: mov ecx, dword ptr [eax]
|
||||
4803ae: call dword ptr [ecx + 0xc4]
|
||||
4803b4: mov eax, dword ptr [0x486740]
|
||||
4803b9: mov eax, dword ptr [eax]
|
||||
4803bb: cmp byte ptr [eax + 0x1763], 0
|
||||
4803c2: jne 0x4804b9
|
||||
4803c8: mov eax, dword ptr [ebp - 4]
|
||||
4803cb: mov edx, dword ptr [ebp - 8]
|
||||
4803ce: mov ebx, dword ptr [eax + edx*4 + 0x370]
|
||||
4803d5: lea edx, [ebx + 0x1e0]
|
||||
4803db: lea eax, [ebp - 0x378]
|
||||
4803e1: call 0x4012e8
|
||||
4803e6: push dword ptr [ebp - 0x14]
|
||||
4803e9: push dword ptr [ebp - 0x18]
|
||||
4803ec: lea eax, [ebp - 0x38c]
|
||||
4803f2: push eax
|
||||
4803f3: call 0x4376e4 ; DP_COMMON!AMTTOHAN
|
||||
4803f8: mov edx, dword ptr [ebp - 0x38c]
|
||||
4803fe: lea eax, [ebp - 0x388]
|
||||
480404: call 0x401350
|
||||
480409: lea edx, [ebp - 0x388]
|
||||
48040f: lea eax, [ebp - 0x378]
|
||||
480415: call 0x401358
|
||||
48041a: lea eax, [ebp - 0x378]
|
||||
480420: push eax
|
||||
480421: lea eax, [ebp - 0x39c]
|
||||
480427: mov edx, 0x480734 ; '원정 '
|
||||
48042c: call 0x401350
|
||||
480431: lea edx, [ebp - 0x39c]
|
||||
480437: pop eax
|
||||
480438: call 0x401358
|
||||
48043d: lea eax, [ebp - 0x378]
|
||||
480443: push eax
|
||||
480444: fld qword ptr [ebp - 0x18]
|
||||
480447: add esp, -0xc
|
||||
48044a: fstp xword ptr [esp]
|
||||
48044d: wait
|
||||
48044e: lea edx, [ebp - 0x3b0]
|
||||
480454: mov eax, 0x480744 ; '(₩#,#)'
|
||||
480459: call 0x40178c ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
48045e: mov edx, dword ptr [ebp - 0x3b0]
|
||||
480464: lea eax, [ebp - 0x3ac]
|
||||
48046a: call 0x401350
|
||||
48046f: lea edx, [ebp - 0x3ac]
|
||||
480475: pop eax
|
||||
480476: call 0x401358
|
||||
48047b: lea edx, [ebp - 0x378]
|
||||
480481: mov eax, dword ptr [ebp - 4]
|
||||
480484: mov ecx, dword ptr [ebp - 8]
|
||||
480487: mov eax, ebx
|
||||
480489: mov ecx, dword ptr [eax]
|
||||
48048b: call dword ptr [ecx + 0xc4]
|
||||
480491: jmp 0x4804b9
|
||||
480493: lea eax, [ebp - 0x3c0]
|
||||
480499: mov edx, 0x480754 ; '4. 내 역 : '
|
||||
48049e: call 0x401350
|
||||
4804a3: lea edx, [ebp - 0x3c0]
|
||||
4804a9: mov eax, dword ptr [ebp - 4]
|
||||
4804ac: mov ecx, dword ptr [ebp - 8]
|
||||
4804af: mov eax, esi
|
||||
4804b1: mov ecx, dword ptr [eax]
|
||||
4804b3: call dword ptr [ecx + 0xc4]
|
||||
+426
@@ -0,0 +1,426 @@
|
||||
4c9a98: push ebp
|
||||
4c9a99: mov ebp, esp
|
||||
4c9a9b: push ecx
|
||||
4c9a9c: mov ecx, 0x1f
|
||||
4c9aa1: push 0
|
||||
4c9aa3: push 0
|
||||
4c9aa5: dec ecx
|
||||
4c9aa6: jne 0x4c9aa1
|
||||
4c9aa8: xchg dword ptr [ebp - 4], ecx
|
||||
4c9aab: push ebx
|
||||
4c9aac: push esi
|
||||
4c9aad: push edi
|
||||
4c9aae: mov dword ptr [ebp - 4], ecx
|
||||
4c9ab1: mov ebx, edx
|
||||
4c9ab3: mov esi, eax
|
||||
4c9ab5: xor eax, eax
|
||||
4c9ab7: push ebp
|
||||
4c9ab8: push 0x4ca04d
|
||||
4c9abd: push dword ptr fs:[eax]
|
||||
4c9ac0: mov dword ptr fs:[eax], esp
|
||||
4c9ac3: xor eax, eax
|
||||
4c9ac5: push ebp
|
||||
4c9ac6: push 0x4c9fbf
|
||||
4c9acb: push dword ptr fs:[eax]
|
||||
4c9ace: mov dword ptr fs:[eax], esp
|
||||
4c9ad1: mov eax, dword ptr [0x4d26cc]
|
||||
4c9ad6: xor ecx, ecx
|
||||
4c9ad8: mov edx, 0x10
|
||||
4c9add: call 0x4010c0 ; rtl60!@System@@FillChar$qqrpvic
|
||||
4c9ae2: mov eax, dword ptr [0x4d25c8]
|
||||
4c9ae7: mov eax, dword ptr [eax]
|
||||
4c9ae9: mov edx, dword ptr [eax + 0x38]
|
||||
4c9aec: mov eax, dword ptr [0x4d26cc]
|
||||
4c9af1: add eax, 4
|
||||
4c9af4: mov ecx, 0x4ca06c ; 'PRJ_MEMO.INI'
|
||||
4c9af9: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4c9afe: mov eax, dword ptr [0x4d26cc]
|
||||
4c9b03: add eax, 8
|
||||
4c9b06: mov edx, 0x4ca084 ; 'KANJUB'
|
||||
4c9b0b: call 0x4011f0 ; rtl60!@System@@LStrAsg$qqrpvpxv
|
||||
4c9b10: inc ebx
|
||||
4c9b11: imul edx, ebx, 0x10450
|
||||
4c9b17: mov eax, esi
|
||||
4c9b19: xor ecx, ecx
|
||||
4c9b1b: call 0x4010c0 ; rtl60!@System@@FillChar$qqrpvic
|
||||
4c9b20: mov eax, dword ptr [ebp + 8]
|
||||
4c9b23: inc eax
|
||||
4c9b24: imul edx, eax, 0x220
|
||||
4c9b2a: mov eax, dword ptr [ebp - 4]
|
||||
4c9b2d: xor ecx, ecx
|
||||
4c9b2f: call 0x4010c0 ; rtl60!@System@@FillChar$qqrpvic
|
||||
4c9b34: mov eax, dword ptr [0x4d2694]
|
||||
4c9b39: mov eax, dword ptr [eax]
|
||||
4c9b3b: mov eax, dword ptr [eax + 0x20]
|
||||
4c9b3e: mov edx, 0x4ca094 ; 'PCLASS'
|
||||
4c9b43: call 0x402dac ; Apollo5D6!@Apodset@TApolloTable@GetInteger$qqr17System@AnsiString
|
||||
4c9b48: mov edx, dword ptr [0x4d26a4]
|
||||
4c9b4e: mov dword ptr [edx], eax
|
||||
4c9b50: mov eax, dword ptr [0x4d26cc]
|
||||
4c9b55: mov eax, dword ptr [eax + 4]
|
||||
4c9b58: push eax
|
||||
4c9b59: push 0
|
||||
4c9b5b: lea eax, [ebp - 0x38]
|
||||
4c9b5e: xor edx, edx
|
||||
4c9b60: mov cl, 1
|
||||
4c9b62: call 0x401320 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4c9b67: lea eax, [ebp - 0x38]
|
||||
4c9b6a: push eax
|
||||
4c9b6b: push 2
|
||||
4c9b6d: push 0x4ca0a4 ; 'PRJ_MEMO'
|
||||
4c9b72: lea eax, [ebp - 0x28]
|
||||
4c9b75: push eax
|
||||
4c9b76: mov eax, dword ptr [0x4d2694]
|
||||
4c9b7b: mov eax, dword ptr [eax]
|
||||
4c9b7d: lea edx, [eax + 0x20]
|
||||
4c9b80: mov eax, dword ptr [0x4d26cc]
|
||||
4c9b85: add eax, 0xc
|
||||
4c9b88: xor ecx, ecx
|
||||
4c9b8a: call 0x42a5d0
|
||||
4c9b8f: mov eax, dword ptr [0x4d26cc]
|
||||
4c9b94: mov eax, dword ptr [eax + 4]
|
||||
4c9b97: push eax
|
||||
4c9b98: push 0x4ca0b8 ; 'JAB_TYPE'
|
||||
4c9b9d: lea eax, [ebp - 0x58]
|
||||
4c9ba0: xor edx, edx
|
||||
4c9ba2: mov cl, 1
|
||||
4c9ba4: call 0x401320 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4c9ba9: lea eax, [ebp - 0x58]
|
||||
4c9bac: push eax
|
||||
4c9bad: push 2
|
||||
4c9baf: mov eax, dword ptr [0x4d26cc]
|
||||
4c9bb4: mov eax, dword ptr [eax + 8]
|
||||
4c9bb7: push eax
|
||||
4c9bb8: lea eax, [ebp - 0x48]
|
||||
4c9bbb: push eax
|
||||
4c9bbc: mov eax, dword ptr [0x4d2694]
|
||||
4c9bc1: mov eax, dword ptr [eax]
|
||||
4c9bc3: lea edx, [eax + 0x20]
|
||||
4c9bc6: mov eax, dword ptr [0x4d26cc]
|
||||
4c9bcb: add eax, 0xc
|
||||
4c9bce: mov cl, 1
|
||||
4c9bd0: call 0x42a5d0
|
||||
4c9bd5: lea eax, [ebp - 0x48]
|
||||
4c9bd8: call 0x4012f8 ; rtl60!@System@@VarToInt$qqrrx14System@Variant
|
||||
4c9bdd: mov edx, dword ptr [0x4d26cc]
|
||||
4c9be3: mov byte ptr [edx], al
|
||||
4c9be5: mov eax, dword ptr [0x4d26cc]
|
||||
4c9bea: mov eax, dword ptr [eax + 4]
|
||||
4c9bed: push eax
|
||||
4c9bee: push 0x4ca0cc ; 'CAL_ACTL'
|
||||
4c9bf3: lea eax, [ebp - 0x78]
|
||||
4c9bf6: xor edx, edx
|
||||
4c9bf8: mov cl, 1
|
||||
4c9bfa: call 0x401320 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4c9bff: lea eax, [ebp - 0x78]
|
||||
4c9c02: push eax
|
||||
4c9c03: push 4
|
||||
4c9c05: mov eax, dword ptr [0x4d26cc]
|
||||
4c9c0a: mov eax, dword ptr [eax + 8]
|
||||
4c9c0d: push eax
|
||||
4c9c0e: lea eax, [ebp - 0x68]
|
||||
4c9c11: push eax
|
||||
4c9c12: mov eax, dword ptr [0x4d2694]
|
||||
4c9c17: mov eax, dword ptr [eax]
|
||||
4c9c19: lea edx, [eax + 0x20]
|
||||
4c9c1c: mov eax, dword ptr [0x4d26cc]
|
||||
4c9c21: add eax, 0xc
|
||||
4c9c24: mov cl, 1
|
||||
4c9c26: call 0x42a5d0
|
||||
4c9c2b: lea eax, [ebp - 0x68]
|
||||
4c9c2e: call 0x401300 ; rtl60!@System@@VarToBool$qqrrx14System@Variant
|
||||
4c9c33: mov edx, dword ptr [0x4d26cc]
|
||||
4c9c39: mov byte ptr [edx + 1], al
|
||||
4c9c3c: mov eax, dword ptr [0x4d26cc]
|
||||
4c9c41: mov eax, dword ptr [eax + 4]
|
||||
4c9c44: push eax
|
||||
4c9c45: push 0x4ca0e0 ; 'VIS_TOTL'
|
||||
4c9c4a: lea eax, [ebp - 0x98]
|
||||
4c9c50: xor edx, edx
|
||||
4c9c52: mov cl, 1
|
||||
4c9c54: call 0x401320 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
4c9c59: lea eax, [ebp - 0x98]
|
||||
4c9c5f: push eax
|
||||
4c9c60: push 4
|
||||
4c9c62: mov eax, dword ptr [0x4d26cc]
|
||||
4c9c67: mov eax, dword ptr [eax + 8]
|
||||
4c9c6a: push eax
|
||||
4c9c6b: lea eax, [ebp - 0x88]
|
||||
4c9c71: push eax
|
||||
4c9c72: mov eax, dword ptr [0x4d2694]
|
||||
4c9c77: mov eax, dword ptr [eax]
|
||||
4c9c79: lea edx, [eax + 0x20]
|
||||
4c9c7c: mov eax, dword ptr [0x4d26cc]
|
||||
4c9c81: add eax, 0xc
|
||||
4c9c84: mov cl, 1
|
||||
4c9c86: call 0x42a5d0
|
||||
4c9c8b: lea eax, [ebp - 0x88]
|
||||
4c9c91: call 0x401300 ; rtl60!@System@@VarToBool$qqrrx14System@Variant
|
||||
4c9c96: mov edx, dword ptr [0x4d26cc]
|
||||
4c9c9c: mov byte ptr [edx + 2], al
|
||||
4c9c9f: call 0x450258
|
||||
4c9ca4: push 4
|
||||
4c9ca6: push 5
|
||||
4c9ca8: mov eax, dword ptr [0x4d24b4]
|
||||
4c9cad: mov eax, dword ptr [eax]
|
||||
4c9caf: cmp word ptr [eax + 0x1750], 7
|
||||
4c9cb7: sete al
|
||||
4c9cba: push eax
|
||||
4c9cbb: call 0x409188 ; DP_COMMON!IFI
|
||||
4c9cc0: test eax, eax
|
||||
4c9cc2: jle 0x4c9fb1
|
||||
4c9cc8: mov dword ptr [ebp - 0x10], eax
|
||||
4c9ccb: mov dword ptr [ebp - 0xc], 1
|
||||
4c9cd2: mov edi, dword ptr [0x4d25a0]
|
||||
4c9cd8: add edi, 4
|
||||
4c9cdb: mov ebx, dword ptr [0x4d25b8]
|
||||
4c9ce1: lea eax, [esi + 0x10450]
|
||||
4c9ce7: mov esi, eax
|
||||
4c9ce9: mov eax, dword ptr [0x4d24b0]
|
||||
4c9cee: mov dword ptr [ebp - 0x14], eax
|
||||
4c9cf1: mov eax, dword ptr [ebp - 4]
|
||||
4c9cf4: add eax, 0x220
|
||||
4c9cf9: mov dword ptr [ebp - 0x18], eax
|
||||
4c9cfc: mov ecx, dword ptr [edi]
|
||||
4c9cfe: lea eax, [ebp - 0xac]
|
||||
4c9d04: mov edx, 0x4ca0f4 ; 'TCOST'
|
||||
4c9d09: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4c9d0e: mov edx, dword ptr [ebp - 0xac]
|
||||
4c9d14: lea ecx, [ebp - 0xa8]
|
||||
4c9d1a: mov eax, dword ptr [0x4d2694]
|
||||
4c9d1f: mov eax, dword ptr [eax]
|
||||
4c9d21: mov eax, dword ptr [eax + 0x20]
|
||||
4c9d24: call 0x402b6c ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
4c9d29: lea eax, [ebp - 0xa8]
|
||||
4c9d2f: call 0x401308 ; rtl60!@System@@VarToReal$qqrrx14System@Variant
|
||||
4c9d34: fstp qword ptr [ebx]
|
||||
4c9d36: wait
|
||||
4c9d37: mov ecx, dword ptr [edi]
|
||||
4c9d39: lea eax, [ebp - 0xc0]
|
||||
4c9d3f: mov edx, 0x4ca104 ; 'MCOST'
|
||||
4c9d44: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4c9d49: mov edx, dword ptr [ebp - 0xc0]
|
||||
4c9d4f: lea ecx, [ebp - 0xbc]
|
||||
4c9d55: mov eax, dword ptr [0x4d2694]
|
||||
4c9d5a: mov eax, dword ptr [eax]
|
||||
4c9d5c: mov eax, dword ptr [eax + 0x20]
|
||||
4c9d5f: call 0x402b6c ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
4c9d64: lea eax, [ebp - 0xbc]
|
||||
4c9d6a: call 0x401308 ; rtl60!@System@@VarToReal$qqrrx14System@Variant
|
||||
4c9d6f: fstp qword ptr [ebx + 0x10]
|
||||
4c9d72: wait
|
||||
4c9d73: mov ecx, dword ptr [edi]
|
||||
4c9d75: lea eax, [ebp - 0xd4]
|
||||
4c9d7b: mov edx, 0x4ca114 ; 'LCOST'
|
||||
4c9d80: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4c9d85: mov edx, dword ptr [ebp - 0xd4]
|
||||
4c9d8b: lea ecx, [ebp - 0xd0]
|
||||
4c9d91: mov eax, dword ptr [0x4d2694]
|
||||
4c9d96: mov eax, dword ptr [eax]
|
||||
4c9d98: mov eax, dword ptr [eax + 0x20]
|
||||
4c9d9b: call 0x402b6c ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
4c9da0: lea eax, [ebp - 0xd0]
|
||||
4c9da6: call 0x401308 ; rtl60!@System@@VarToReal$qqrrx14System@Variant
|
||||
4c9dab: fstp qword ptr [ebx + 8]
|
||||
4c9dae: wait
|
||||
4c9daf: mov ecx, dword ptr [edi]
|
||||
4c9db1: lea eax, [ebp - 0xe8]
|
||||
4c9db7: mov edx, 0x4ca124 ; 'SCOST'
|
||||
4c9dbc: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4c9dc1: mov edx, dword ptr [ebp - 0xe8]
|
||||
4c9dc7: lea ecx, [ebp - 0xe4]
|
||||
4c9dcd: mov eax, dword ptr [0x4d2694]
|
||||
4c9dd2: mov eax, dword ptr [eax]
|
||||
4c9dd4: mov eax, dword ptr [eax + 0x20]
|
||||
4c9dd7: call 0x402b6c ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
4c9ddc: lea eax, [ebp - 0xe4]
|
||||
4c9de2: call 0x401308 ; rtl60!@System@@VarToReal$qqrrx14System@Variant
|
||||
4c9de7: fstp qword ptr [ebx + 0x18]
|
||||
4c9dea: wait
|
||||
4c9deb: mov eax, dword ptr [0x4d24b4]
|
||||
4c9df0: mov eax, dword ptr [eax]
|
||||
4c9df2: cmp byte ptr [eax + 0x7bcd], 0
|
||||
4c9df9: je 0x4c9e37
|
||||
4c9dfb: mov ecx, dword ptr [edi]
|
||||
4c9dfd: lea eax, [ebp - 0xfc]
|
||||
4c9e03: mov edx, 0x4ca134 ; 'NCOST'
|
||||
4c9e08: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4c9e0d: mov edx, dword ptr [ebp - 0xfc]
|
||||
4c9e13: lea ecx, [ebp - 0xf8]
|
||||
4c9e19: mov eax, dword ptr [0x4d2694]
|
||||
4c9e1e: mov eax, dword ptr [eax]
|
||||
4c9e20: mov eax, dword ptr [eax + 0x20]
|
||||
4c9e23: call 0x402b6c ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
4c9e28: lea eax, [ebp - 0xf8]
|
||||
4c9e2e: call 0x401308 ; rtl60!@System@@VarToReal$qqrrx14System@Variant
|
||||
4c9e33: fstp qword ptr [ebx + 0x28]
|
||||
4c9e36: wait
|
||||
4c9e37: push esi
|
||||
4c9e38: push edi
|
||||
4c9e39: mov edi, esi
|
||||
4c9e3b: mov esi, ebx
|
||||
4c9e3d: mov ecx, 0xc
|
||||
4c9e42: rep movsd dword ptr es:[edi], dword ptr [esi]
|
||||
4c9e44: pop edi
|
||||
4c9e45: pop esi
|
||||
4c9e46: mov eax, dword ptr [ebp - 0x14]
|
||||
4c9e49: push esi
|
||||
4c9e4a: push edi
|
||||
4c9e4b: mov esi, ebx
|
||||
4c9e4d: mov edi, eax
|
||||
4c9e4f: mov ecx, 0xc
|
||||
4c9e54: rep movsd dword ptr es:[edi], dword ptr [esi]
|
||||
4c9e56: pop edi
|
||||
4c9e57: pop esi
|
||||
4c9e58: mov eax, dword ptr [0x4d26cc]
|
||||
4c9e5d: cmp byte ptr [eax + 1], 0
|
||||
4c9e61: jne 0x4c9e70
|
||||
4c9e63: fld qword ptr [esi + 8]
|
||||
4c9e66: fadd qword ptr [esi + 0x10]
|
||||
4c9e69: fstp qword ptr [esi + 0x90]
|
||||
4c9e6f: wait
|
||||
4c9e70: cmp dword ptr [ebp - 0xc], 1
|
||||
4c9e74: jne 0x4c9ee8
|
||||
4c9e76: mov eax, dword ptr [0x4d26cc]
|
||||
4c9e7b: cmp byte ptr [eax + 1], 0
|
||||
4c9e7f: jne 0x4c9e8e
|
||||
4c9e81: fld qword ptr [esi + 8]
|
||||
4c9e84: fadd qword ptr [esi + 0x10]
|
||||
4c9e87: fstp qword ptr [esi + 0x90]
|
||||
4c9e8d: wait
|
||||
4c9e8e: push 0
|
||||
4c9e90: push 0
|
||||
4c9e92: push 0
|
||||
4c9e94: mov eax, dword ptr [ebp - 0x18]
|
||||
4c9e97: mov ecx, eax
|
||||
4c9e99: mov edx, esi
|
||||
4c9e9b: mov eax, dword ptr [ebp - 0xc]
|
||||
4c9e9e: call 0x43d228
|
||||
4c9ea3: mov eax, dword ptr [0x4d26cc]
|
||||
4c9ea8: cmp byte ptr [eax + 1], 0
|
||||
4c9eac: je 0x4c9ece
|
||||
4c9eae: mov eax, dword ptr [ebp - 0x18]
|
||||
4c9eb1: cmp dword ptr [eax + 0x16c], 0
|
||||
4c9eb8: jne 0x4c9ece
|
||||
4c9eba: mov eax, dword ptr [ebp - 0x18]
|
||||
4c9ebd: cmp dword ptr [eax + 0x168], 0
|
||||
4c9ec4: jne 0x4c9ece
|
||||
4c9ec6: xor eax, eax
|
||||
4c9ec8: mov dword ptr [ebx + 0x18], eax
|
||||
4c9ecb: mov dword ptr [ebx + 0x1c], eax
|
||||
4c9ece: push 0
|
||||
4c9ed0: push esi
|
||||
4c9ed1: mov eax, dword ptr [ebp - 0x18]
|
||||
4c9ed4: push eax
|
||||
4c9ed5: push 1
|
||||
4c9ed7: mov edx, ebx
|
||||
4c9ed9: xor ecx, ecx
|
||||
4c9edb: mov eax, dword ptr [ebp - 0xc]
|
||||
4c9ede: call 0x44cc58
|
||||
4c9ee3: jmp 0x4c9f8e
|
||||
4c9ee8: mov edx, esi
|
||||
4c9eea: mov eax, dword ptr [ebp - 0xc]
|
||||
4c9eed: call 0x43ade4
|
||||
4c9ef2: mov eax, dword ptr [ebp - 4]
|
||||
4c9ef5: cmp dword ptr [eax + 0x3dc], 3
|
||||
4c9efc: jne 0x4c9f27
|
||||
4c9efe: fld qword ptr [ebx + 0x10]
|
||||
4c9f01: fadd qword ptr [esi + 0x390]
|
||||
4c9f07: fstp qword ptr [ebx + 0x10]
|
||||
4c9f0a: wait
|
||||
4c9f0b: fld qword ptr [ebx + 0x10]
|
||||
4c9f0e: fadd qword ptr [ebx + 8]
|
||||
4c9f11: fadd qword ptr [ebx + 0x18]
|
||||
4c9f14: fstp qword ptr [ebx]
|
||||
4c9f16: wait
|
||||
4c9f17: xor eax, eax
|
||||
4c9f19: mov dword ptr [esi + 0x398], eax
|
||||
4c9f1f: mov dword ptr [esi + 0x39c], eax
|
||||
4c9f25: jmp 0x4c9f3f
|
||||
4c9f27: mov eax, dword ptr [esi + 0x390]
|
||||
4c9f2d: mov dword ptr [esi + 0x398], eax
|
||||
4c9f33: mov eax, dword ptr [esi + 0x394]
|
||||
4c9f39: mov dword ptr [esi + 0x39c], eax
|
||||
4c9f3f: fld qword ptr [esi + 0x110]
|
||||
4c9f45: fcomp dword ptr [0x4ca13c] ; =0.0
|
||||
4c9f4b: fnstsw ax
|
||||
4c9f4d: sahf
|
||||
4c9f4e: je 0x4c9f69
|
||||
4c9f50: fld qword ptr [ebx + 8]
|
||||
4c9f53: fadd qword ptr [esi + 0x110]
|
||||
4c9f59: fstp qword ptr [ebx + 8]
|
||||
4c9f5c: wait
|
||||
4c9f5d: fld qword ptr [ebx + 0x10]
|
||||
4c9f60: fadd qword ptr [ebx + 8]
|
||||
4c9f63: fadd qword ptr [ebx + 0x18]
|
||||
4c9f66: fstp qword ptr [ebx]
|
||||
4c9f68: wait
|
||||
4c9f69: push esi
|
||||
4c9f6a: push edi
|
||||
4c9f6b: mov edi, esi
|
||||
4c9f6d: mov esi, ebx
|
||||
4c9f6f: mov ecx, 0xc
|
||||
4c9f74: rep movsd dword ptr es:[edi], dword ptr [esi]
|
||||
4c9f76: pop edi
|
||||
4c9f77: pop esi
|
||||
4c9f78: mov eax, dword ptr [ebp - 4]
|
||||
4c9f7b: mov eax, dword ptr [eax + 0x3dc]
|
||||
4c9f81: push eax
|
||||
4c9f82: mov ecx, esi
|
||||
4c9f84: mov edx, ebx
|
||||
4c9f86: mov eax, dword ptr [ebp - 0xc]
|
||||
4c9f89: call 0x44c36c
|
||||
4c9f8e: inc dword ptr [ebp - 0xc]
|
||||
4c9f91: add dword ptr [ebp - 0x18], 0x220
|
||||
4c9f98: add dword ptr [ebp - 0x14], 0x30
|
||||
4c9f9c: add esi, 0x10450
|
||||
4c9fa2: add ebx, 0x30
|
||||
4c9fa5: add edi, 4
|
||||
4c9fa8: dec dword ptr [ebp - 0x10]
|
||||
4c9fab: jne 0x4c9cfc
|
||||
4c9fb1: xor eax, eax
|
||||
4c9fb3: pop edx
|
||||
4c9fb4: pop ecx
|
||||
4c9fb5: pop ecx
|
||||
4c9fb6: mov dword ptr fs:[eax], edx
|
||||
4c9fb9: push 0x4c9fc6
|
||||
4c9fbe: ret
|
||||
4c9fbf: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4c9fc4: jmp 0x4c9fbe
|
||||
4c9fc6: xor eax, eax
|
||||
4c9fc8: pop edx
|
||||
4c9fc9: pop ecx
|
||||
4c9fca: pop ecx
|
||||
4c9fcb: mov dword ptr fs:[eax], edx
|
||||
4c9fce: push 0x4ca057
|
||||
4c9fd3: lea eax, [ebp - 0xfc]
|
||||
4c9fd9: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4c9fde: lea eax, [ebp - 0xf8]
|
||||
4c9fe4: call 0x4013a0 ; rtl60!@System@@VarClr$qqrr14System@Variant
|
||||
4c9fe9: lea eax, [ebp - 0xe8]
|
||||
4c9fef: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4c9ff4: lea eax, [ebp - 0xe4]
|
||||
4c9ffa: call 0x4013a0 ; rtl60!@System@@VarClr$qqrr14System@Variant
|
||||
4c9fff: lea eax, [ebp - 0xd4]
|
||||
4ca005: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4ca00a: lea eax, [ebp - 0xd0]
|
||||
4ca010: call 0x4013a0 ; rtl60!@System@@VarClr$qqrr14System@Variant
|
||||
4ca015: lea eax, [ebp - 0xc0]
|
||||
4ca01b: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4ca020: lea eax, [ebp - 0xbc]
|
||||
4ca026: call 0x4013a0 ; rtl60!@System@@VarClr$qqrr14System@Variant
|
||||
4ca02b: lea eax, [ebp - 0xac]
|
||||
4ca031: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4ca036: lea eax, [ebp - 0xa8]
|
||||
4ca03c: mov edx, dword ptr [0x5eac60] ; [rtl60!@$xp$14System@Variant]
|
||||
4ca042: mov ecx, 9
|
||||
4ca047: call 0x4012b8 ; rtl60!@System@@FinalizeArray$qqrpvt1ui
|
||||
4ca04c: ret
|
||||
4ca04d: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4ca052: jmp 0x4c9fd3
|
||||
4ca057: mov al, byte ptr [ebp - 5]
|
||||
4ca05a: pop edi
|
||||
4ca05b: pop esi
|
||||
4ca05c: pop ebx
|
||||
4ca05d: mov esp, ebp
|
||||
4ca05f: pop ebp
|
||||
+265
@@ -0,0 +1,265 @@
|
||||
4ca5ac: push ebp
|
||||
4ca5ad: mov ebp, esp
|
||||
4ca5af: mov ecx, 0xb
|
||||
4ca5b4: push 0
|
||||
4ca5b6: push 0
|
||||
4ca5b8: dec ecx
|
||||
4ca5b9: jne 0x4ca5b4
|
||||
4ca5bb: push ecx
|
||||
4ca5bc: push ebx
|
||||
4ca5bd: push esi
|
||||
4ca5be: mov esi, dword ptr [0x4d2694]
|
||||
4ca5c4: xor eax, eax
|
||||
4ca5c6: push ebp
|
||||
4ca5c7: push 0x4ca959
|
||||
4ca5cc: push dword ptr fs:[eax]
|
||||
4ca5cf: mov dword ptr fs:[eax], esp
|
||||
4ca5d2: mov eax, dword ptr [0x5eb508] ; [vcl60!@Forms@Application]
|
||||
4ca5d7: mov eax, dword ptr [eax]
|
||||
4ca5d9: mov edx, dword ptr [ebp + 8]
|
||||
4ca5dc: call 0x402734 ; vcl60!@Forms@TApplication@SetHandle$qqrui
|
||||
4ca5e1: call 0x4097e8
|
||||
4ca5e6: push 0x41d0b852
|
||||
4ca5eb: call 0x436418
|
||||
4ca5f0: test al, al
|
||||
4ca5f2: je 0x4ca92b
|
||||
4ca5f8: lea ecx, [ebp - 8]
|
||||
4ca5fb: mov eax, dword ptr [0x5eb508] ; [vcl60!@Forms@Application]
|
||||
4ca600: mov eax, dword ptr [eax]
|
||||
4ca602: mov edx, dword ptr [0x4ca190]
|
||||
4ca608: call 0x402744 ; vcl60!@Forms@TApplication@CreateForm$qqrp17System@TMetaClasspv
|
||||
4ca60d: mov eax, dword ptr [0x4d26cc]
|
||||
4ca612: xor ecx, ecx
|
||||
4ca614: mov edx, 0x10
|
||||
4ca619: call 0x4010c0 ; rtl60!@System@@FillChar$qqrpvic
|
||||
4ca61e: xor edx, edx
|
||||
4ca620: push ebp
|
||||
4ca621: push 0x4ca924
|
||||
4ca626: push dword ptr fs:[edx]
|
||||
4ca629: mov dword ptr fs:[edx], esp
|
||||
4ca62c: mov eax, dword ptr [0x4d2460]
|
||||
4ca631: mov edx, dword ptr [0x4d25c8]
|
||||
4ca637: mov edx, dword ptr [edx]
|
||||
4ca639: mov edx, dword ptr [edx + 0x38]
|
||||
4ca63c: call 0x4011f0 ; rtl60!@System@@LStrAsg$qqrpvpxv
|
||||
4ca641: lea ecx, [ebp - 0xc]
|
||||
4ca644: mov eax, dword ptr [esi]
|
||||
4ca646: mov eax, dword ptr [eax + 0x20]
|
||||
4ca649: mov edx, 0x4ca974 ; 'PCODE'
|
||||
4ca64e: call 0x402dc4 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
4ca653: mov edx, dword ptr [ebp - 0xc]
|
||||
4ca656: mov eax, dword ptr [0x4d2580]
|
||||
4ca65b: call 0x4011f0 ; rtl60!@System@@LStrAsg$qqrpvpxv
|
||||
4ca660: mov eax, dword ptr [ebp - 8]
|
||||
4ca663: mov eax, dword ptr [eax + 0x304]
|
||||
4ca669: call 0x402b5c ; dbrtl60!@Db@TDataSet@Close$qqrv
|
||||
4ca66e: push 0x4ca984 ; 'BOQ'
|
||||
4ca673: lea ecx, [ebp - 0x14]
|
||||
4ca676: mov eax, dword ptr [esi]
|
||||
4ca678: mov eax, dword ptr [eax + 0x20]
|
||||
4ca67b: mov edx, 0x4ca974 ; 'PCODE'
|
||||
4ca680: call 0x402dc4 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
4ca685: push dword ptr [ebp - 0x14]
|
||||
4ca688: push 0x4ca990 ; '.DBF'
|
||||
4ca68d: lea eax, [ebp - 0x10]
|
||||
4ca690: mov edx, 3
|
||||
4ca695: call 0x401248 ; rtl60!@System@@LStrCatN$qqrv
|
||||
4ca69a: mov edx, dword ptr [ebp - 0x10]
|
||||
4ca69d: mov eax, dword ptr [ebp - 8]
|
||||
4ca6a0: mov eax, dword ptr [eax + 0x304]
|
||||
4ca6a6: call 0x402e44 ; Apollo5D6!@Apodset@TApolloTable@SetTableName$qqr17System@AnsiString
|
||||
4ca6ab: mov eax, dword ptr [ebp - 8]
|
||||
4ca6ae: mov eax, dword ptr [eax + 0x304]
|
||||
4ca6b4: call 0x402b54 ; dbrtl60!@Db@TDataSet@Open$qqrv
|
||||
4ca6b9: lea ecx, [ebp - 0x1c]
|
||||
4ca6bc: mov eax, dword ptr [esi]
|
||||
4ca6be: mov eax, dword ptr [eax + 0x20]
|
||||
4ca6c1: mov edx, 0x4ca9a0 ; 'PNAME'
|
||||
4ca6c6: call 0x402dc4 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
4ca6cb: mov ecx, dword ptr [ebp - 0x1c]
|
||||
4ca6ce: lea eax, [ebp - 0x18]
|
||||
4ca6d1: mov edx, 0x4ca9b0 ; '< 기성 제잡비 계산 > '
|
||||
4ca6d6: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4ca6db: mov edx, dword ptr [ebp - 0x18]
|
||||
4ca6de: mov eax, dword ptr [ebp - 8]
|
||||
4ca6e1: call 0x402854 ; vcl60!@Controls@TControl@SetText$qqrx17System@AnsiString
|
||||
4ca6e6: mov edx, 0x3ba
|
||||
4ca6eb: mov eax, dword ptr [ebp - 8]
|
||||
4ca6ee: call 0x402634 ; vcl60!@Forms@TCustomForm@SetClientWidth$qqri
|
||||
4ca6f3: mov eax, dword ptr [ebp - 8]
|
||||
4ca6f6: mov ecx, dword ptr [eax + 0x48]
|
||||
4ca6f9: mov eax, dword ptr [ebp - 8]
|
||||
4ca6fc: mov eax, dword ptr [eax + 0x74]
|
||||
4ca6ff: mov edx, 1
|
||||
4ca704: call 0x40279c ; vcl60!@Controls@TSizeConstraints@SetConstraints$qqrii
|
||||
4ca709: push 5
|
||||
4ca70b: mov ecx, 0x5e8624
|
||||
4ca710: mov eax, 0x586c44
|
||||
4ca715: mov edx, 5
|
||||
4ca71a: call 0x4c9a98
|
||||
4ca71f: mov eax, dword ptr [ebp - 8]
|
||||
4ca722: call 0x4cb564
|
||||
4ca727: mov eax, dword ptr [ebp - 8]
|
||||
4ca72a: mov eax, dword ptr [eax + 0x300]
|
||||
4ca730: call 0x407c5c ; RealGrid6!@Urmgrid@TRealGrid@Post$qqrv
|
||||
4ca735: xor edx, edx
|
||||
4ca737: mov eax, dword ptr [ebp - 8]
|
||||
4ca73a: call 0x4ce6c4
|
||||
4ca73f: mov eax, dword ptr [ebp - 8]
|
||||
4ca742: mov eax, dword ptr [eax + 0x300]
|
||||
4ca748: mov edx, 6
|
||||
4ca74d: call 0x407b94 ; RealGrid6!@Urgrids@TwCustomGrid@SetSelectedIndex$qqri
|
||||
4ca752: mov eax, dword ptr [ebp - 8]
|
||||
4ca755: mov edx, dword ptr [eax + 0x300]
|
||||
4ca75b: mov eax, dword ptr [ebp - 8]
|
||||
4ca75e: call 0x40269c ; vcl60!@Forms@TCustomForm@SetActiveControl$qqrp20Controls@TWinControl
|
||||
4ca763: mov eax, dword ptr [ebp - 8]
|
||||
4ca766: mov edx, dword ptr [eax + 0x300]
|
||||
4ca76c: mov eax, dword ptr [ebp - 8]
|
||||
4ca76f: call 0x4cddac
|
||||
4ca774: mov eax, dword ptr [ebp - 8]
|
||||
4ca777: mov eax, dword ptr [eax + 0x300]
|
||||
4ca77d: xor ecx, ecx
|
||||
4ca77f: mov edx, 0xd
|
||||
4ca784: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ca789: call 0x407bfc ; RealGrid6!@Urmgrid@TwCells@GetLong$qqrv
|
||||
4ca78e: cmp eax, 0x64
|
||||
4ca791: jne 0x4ca7a9
|
||||
4ca793: mov eax, dword ptr [ebp - 8]
|
||||
4ca796: mov eax, dword ptr [eax + 0x300]
|
||||
4ca79c: mov edx, 1
|
||||
4ca7a1: mov ecx, dword ptr [eax]
|
||||
4ca7a3: call dword ptr [ecx + 0x128]
|
||||
4ca7a9: push 0
|
||||
4ca7ab: push 0
|
||||
4ca7ad: mov ecx, 0x4ca9d0 ; '원가계산(기성)'
|
||||
4ca7b2: mov edx, 0x4ca9e8 ; 'Ind_Cost'
|
||||
4ca7b7: mov eax, 1
|
||||
4ca7bc: call 0x43974c
|
||||
4ca7c1: mov eax, dword ptr [ebp - 8]
|
||||
4ca7c4: mov edx, dword ptr [eax]
|
||||
4ca7c6: call dword ptr [edx + 0xe8]
|
||||
4ca7cc: push 0
|
||||
4ca7ce: push 0
|
||||
4ca7d0: mov ecx, 0x4ca9d0 ; '원가계산(기성)'
|
||||
4ca7d5: mov edx, 0x4ca9e8 ; 'Ind_Cost'
|
||||
4ca7da: mov eax, 2
|
||||
4ca7df: call 0x43974c
|
||||
4ca7e4: mov eax, dword ptr [esi]
|
||||
4ca7e6: mov eax, dword ptr [eax + 0x20]
|
||||
4ca7e9: call 0x402b9c ; dbrtl60!@Db@TDataSet@Edit$qqrv
|
||||
4ca7ee: mov eax, dword ptr [ebp - 8]
|
||||
4ca7f1: mov ebx, dword ptr [eax + 0x300]
|
||||
4ca7f7: mov eax, ebx
|
||||
4ca7f9: mov edx, dword ptr [eax]
|
||||
4ca7fb: call dword ptr [edx + 0x12c]
|
||||
4ca801: mov ecx, eax
|
||||
4ca803: dec ecx
|
||||
4ca804: mov eax, ebx
|
||||
4ca806: mov edx, 6
|
||||
4ca80b: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ca810: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ca815: lea eax, [ebp - 0x2c]
|
||||
4ca818: call 0x401330 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4ca81d: lea ecx, [ebp - 0x2c]
|
||||
4ca820: mov eax, dword ptr [esi]
|
||||
4ca822: mov eax, dword ptr [eax + 0x20]
|
||||
4ca825: mov edx, 0x4ca9fc ; 'COSTW4'
|
||||
4ca82a: call 0x402b74 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4ca82f: mov eax, dword ptr [ebp - 8]
|
||||
4ca832: mov ebx, dword ptr [eax + 0x300]
|
||||
4ca838: mov eax, ebx
|
||||
4ca83a: mov edx, dword ptr [eax]
|
||||
4ca83c: call dword ptr [edx + 0x12c]
|
||||
4ca842: mov ecx, eax
|
||||
4ca844: dec ecx
|
||||
4ca845: mov eax, ebx
|
||||
4ca847: mov edx, 8
|
||||
4ca84c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ca851: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ca856: lea eax, [ebp - 0x3c]
|
||||
4ca859: call 0x401330 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4ca85e: lea ecx, [ebp - 0x3c]
|
||||
4ca861: mov eax, dword ptr [esi]
|
||||
4ca863: mov eax, dword ptr [eax + 0x20]
|
||||
4ca866: mov edx, 0x4caa0c ; 'COSTW3'
|
||||
4ca86b: call 0x402b74 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4ca870: lea eax, [ebp - 0x4c]
|
||||
4ca873: mov dl, 1
|
||||
4ca875: call 0x401328 ; rtl60!@System@@VarFromBool$qqrr14System@Variantxo
|
||||
4ca87a: lea ecx, [ebp - 0x4c]
|
||||
4ca87d: mov eax, dword ptr [esi]
|
||||
4ca87f: mov eax, dword ptr [eax + 0x20]
|
||||
4ca882: mov edx, 0x4caa1c ; 'PXXNM'
|
||||
4ca887: call 0x402b74 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
4ca88c: push 0
|
||||
4ca88e: lea eax, [ebp - 0x5c]
|
||||
4ca891: xor edx, edx
|
||||
4ca893: call 0x401350 ; rtl60!@System@@VarFromLStr$qqrr14System@Variantx17System@AnsiString
|
||||
4ca898: lea eax, [ebp - 0x5c]
|
||||
4ca89b: push eax
|
||||
4ca89c: push 1
|
||||
4ca89e: push 1
|
||||
4ca8a0: push 0x4caa2c ; 'PRJ_MEMO'
|
||||
4ca8a5: mov ecx, dword ptr [0x4d26cc]
|
||||
4ca8ab: mov ecx, dword ptr [ecx + 4]
|
||||
4ca8ae: mov eax, dword ptr [esi]
|
||||
4ca8b0: lea edx, [eax + 0x20]
|
||||
4ca8b3: mov eax, dword ptr [0x4d26cc]
|
||||
4ca8b8: add eax, 0xc
|
||||
4ca8bb: call 0x42a878
|
||||
4ca8c0: mov eax, dword ptr [esi]
|
||||
4ca8c2: mov eax, dword ptr [eax + 0x20]
|
||||
4ca8c5: call 0x402d74 ; Apollo5D6!@Apodset@TApolloTable@Commit$qqrv
|
||||
4ca8ca: xor eax, eax
|
||||
4ca8cc: pop edx
|
||||
4ca8cd: pop ecx
|
||||
4ca8ce: pop ecx
|
||||
4ca8cf: mov dword ptr fs:[eax], edx
|
||||
4ca8d2: push 0x4ca92b
|
||||
4ca8d7: mov eax, dword ptr [ebp - 8]
|
||||
4ca8da: mov eax, dword ptr [eax + 0x304]
|
||||
4ca8e0: call 0x402b5c ; dbrtl60!@Db@TDataSet@Close$qqrv
|
||||
4ca8e5: mov eax, dword ptr [0x4d26cc]
|
||||
4ca8ea: mov eax, dword ptr [eax + 0xc]
|
||||
4ca8ed: test eax, eax
|
||||
4ca8ef: je 0x4ca906
|
||||
4ca8f1: mov edx, dword ptr [0x4d26cc]
|
||||
4ca8f7: call 0x401118 ; rtl60!@System@TObject@Free$qqrv
|
||||
4ca8fc: mov eax, dword ptr [0x4d26cc]
|
||||
4ca901: xor edx, edx
|
||||
4ca903: mov dword ptr [eax + 0xc], edx
|
||||
4ca906: push 0
|
||||
4ca908: mov eax, dword ptr [0x4d26cc]
|
||||
4ca90d: mov eax, dword ptr [eax + 4]
|
||||
4ca910: push eax
|
||||
4ca911: call 0x409210 ; DP_COMMON!DELE_FILE
|
||||
4ca916: mov eax, dword ptr [ebp - 8]
|
||||
4ca919: call 0x401118 ; rtl60!@System@TObject@Free$qqrv
|
||||
4ca91e: xor eax, eax
|
||||
4ca920: mov dword ptr [ebp - 8], eax
|
||||
4ca923: ret
|
||||
4ca924: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4ca929: jmp 0x4ca8d7
|
||||
4ca92b: xor eax, eax
|
||||
4ca92d: pop edx
|
||||
4ca92e: pop ecx
|
||||
4ca92f: pop ecx
|
||||
4ca930: mov dword ptr fs:[eax], edx
|
||||
4ca933: push 0x4ca960
|
||||
4ca938: lea eax, [ebp - 0x5c]
|
||||
4ca93b: mov edx, dword ptr [0x5eac60] ; [rtl60!@$xp$14System@Variant]
|
||||
4ca941: mov ecx, 4
|
||||
4ca946: call 0x4012b8 ; rtl60!@System@@FinalizeArray$qqrpvt1ui
|
||||
4ca94b: lea eax, [ebp - 0x1c]
|
||||
4ca94e: mov edx, 5
|
||||
4ca953: call 0x4011e8 ; rtl60!@System@@LStrArrayClr$qqrpvi
|
||||
4ca958: ret
|
||||
4ca959: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4ca95e: jmp 0x4ca938
|
||||
4ca960: mov al, byte ptr [ebp - 1]
|
||||
4ca963: pop esi
|
||||
4ca964: pop ebx
|
||||
4ca965: mov esp, ebp
|
||||
4ca967: pop ebp
|
||||
4ca968: ret 8
|
||||
+320
@@ -0,0 +1,320 @@
|
||||
4caa38: push ebp
|
||||
4caa39: mov ebp, esp
|
||||
4caa3b: fld qword ptr [eax]
|
||||
4caa3d: fadd qword ptr [ebp + 8]
|
||||
4caa40: fstp qword ptr [eax]
|
||||
4caa42: wait
|
||||
4caa43: pop ebp
|
||||
4caa44: ret 8
|
||||
4caa47: nop
|
||||
4caa48: push ebp
|
||||
4caa49: mov ebp, esp
|
||||
4caa4b: add esp, -0x28
|
||||
4caa4e: push ebx
|
||||
4caa4f: push esi
|
||||
4caa50: push edi
|
||||
4caa51: xor ebx, ebx
|
||||
4caa53: mov dword ptr [ebp - 0x24], ebx
|
||||
4caa56: mov dword ptr [ebp - 0x28], ebx
|
||||
4caa59: mov dword ptr [ebp - 0x1c], ebx
|
||||
4caa5c: mov dword ptr [ebp - 0x20], ebx
|
||||
4caa5f: mov esi, ecx
|
||||
4caa61: lea edi, [ebp - 0x18]
|
||||
4caa64: movsd dword ptr es:[edi], dword ptr [esi]
|
||||
4caa65: movsd dword ptr es:[edi], dword ptr [esi]
|
||||
4caa66: movsd dword ptr es:[edi], dword ptr [esi]
|
||||
4caa67: movsd dword ptr es:[edi], dword ptr [esi]
|
||||
4caa68: mov dword ptr [ebp - 4], edx
|
||||
4caa6b: mov ebx, eax
|
||||
4caa6d: mov eax, dword ptr [ebp - 4]
|
||||
4caa70: call 0x401258 ; rtl60!@System@@LStrAddRef$qqrpv
|
||||
4caa75: lea eax, [ebp - 0x18]
|
||||
4caa78: call 0x4013a8 ; rtl60!@System@@VarAddRef$qqrr14System@Variant
|
||||
4caa7d: xor eax, eax
|
||||
4caa7f: push ebp
|
||||
4caa80: push 0x4cabbc
|
||||
4caa85: push dword ptr fs:[eax]
|
||||
4caa88: mov dword ptr fs:[eax], esp
|
||||
4caa8b: cmp dword ptr [ebp - 4], 0
|
||||
4caa8f: je 0x4cab91
|
||||
4caa95: mov edx, dword ptr [ebp - 4]
|
||||
4caa98: mov eax, 0x4cabd4 ; 'ADD_'
|
||||
4caa9d: call 0x401288 ; rtl60!@System@@LStrPos$qqrv
|
||||
4caaa2: dec eax
|
||||
4caaa3: jne 0x4cab20
|
||||
4caaa5: mov edx, dword ptr [ebp - 4]
|
||||
4caaa8: mov eax, 0x4cabe4 ; 'ADD_AMT_'
|
||||
4caaad: call 0x401288 ; rtl60!@System@@LStrPos$qqrv
|
||||
4caab2: dec eax
|
||||
4caab3: jne 0x4cab91
|
||||
4caab9: push dword ptr [ebp - 4]
|
||||
4caabc: push 0x4cabf8 ; '_'
|
||||
4caac1: mov eax, dword ptr [0x4d25a0]
|
||||
4caac6: push dword ptr [eax + ebx*4]
|
||||
4caac9: lea eax, [ebp - 0x1c]
|
||||
4caacc: mov edx, 3
|
||||
4caad1: call 0x401248 ; rtl60!@System@@LStrCatN$qqrv
|
||||
4caad6: mov eax, dword ptr [ebp - 0x1c]
|
||||
4caad9: push eax
|
||||
4caada: lea eax, [ebp - 0x18]
|
||||
4caadd: push eax
|
||||
4caade: mov eax, dword ptr [ebp + 8]
|
||||
4caae1: push eax
|
||||
4caae2: push 0
|
||||
4caae4: mov edx, dword ptr [0x4d26cc]
|
||||
4caaea: mov edx, dword ptr [edx + 8]
|
||||
4caaed: lea eax, [ebp - 0x20]
|
||||
4caaf0: mov ecx, 0x4cac04 ; '_ADD'
|
||||
4caaf5: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4caafa: mov eax, dword ptr [ebp - 0x20]
|
||||
4caafd: push eax
|
||||
4caafe: mov ecx, dword ptr [0x4d26cc]
|
||||
4cab04: mov ecx, dword ptr [ecx + 4]
|
||||
4cab07: mov eax, dword ptr [0x4d2694]
|
||||
4cab0c: mov eax, dword ptr [eax]
|
||||
4cab0e: lea edx, [eax + 0x20]
|
||||
4cab11: mov eax, dword ptr [0x4d26cc]
|
||||
4cab16: add eax, 0xc
|
||||
4cab19: call 0x42a878
|
||||
4cab1e: jmp 0x4cab91
|
||||
4cab20: mov eax, dword ptr [0x4d25a0]
|
||||
4cab25: push dword ptr [eax + ebx*4]
|
||||
4cab28: push 0x4cabf8 ; '_'
|
||||
4cab2d: push dword ptr [ebp - 4]
|
||||
4cab30: lea eax, [ebp - 0x24]
|
||||
4cab33: mov edx, 3
|
||||
4cab38: call 0x401248 ; rtl60!@System@@LStrCatN$qqrv
|
||||
4cab3d: mov eax, dword ptr [ebp - 0x24]
|
||||
4cab40: push eax
|
||||
4cab41: lea eax, [ebp - 0x18]
|
||||
4cab44: push eax
|
||||
4cab45: mov eax, dword ptr [ebp + 8]
|
||||
4cab48: push eax
|
||||
4cab49: push 0
|
||||
4cab4b: mov eax, dword ptr [0x4d25a0]
|
||||
4cab50: push dword ptr [eax + ebx*4]
|
||||
4cab53: push 0x4cabf8 ; '_'
|
||||
4cab58: mov eax, dword ptr [0x4d26cc]
|
||||
4cab5d: push dword ptr [eax + 8]
|
||||
4cab60: lea eax, [ebp - 0x28]
|
||||
4cab63: mov edx, 3
|
||||
4cab68: call 0x401248 ; rtl60!@System@@LStrCatN$qqrv
|
||||
4cab6d: mov eax, dword ptr [ebp - 0x28]
|
||||
4cab70: push eax
|
||||
4cab71: mov ecx, dword ptr [0x4d26cc]
|
||||
4cab77: mov ecx, dword ptr [ecx + 4]
|
||||
4cab7a: mov eax, dword ptr [0x4d2694]
|
||||
4cab7f: mov eax, dword ptr [eax]
|
||||
4cab81: lea edx, [eax + 0x20]
|
||||
4cab84: mov eax, dword ptr [0x4d26cc]
|
||||
4cab89: add eax, 0xc
|
||||
4cab8c: call 0x42a878
|
||||
4cab91: xor eax, eax
|
||||
4cab93: pop edx
|
||||
4cab94: pop ecx
|
||||
4cab95: pop ecx
|
||||
4cab96: mov dword ptr fs:[eax], edx
|
||||
4cab99: push 0x4cabc3
|
||||
4cab9e: lea eax, [ebp - 0x28]
|
||||
4caba1: mov edx, 4
|
||||
4caba6: call 0x4011e8 ; rtl60!@System@@LStrArrayClr$qqrpvi
|
||||
4cabab: lea eax, [ebp - 0x18]
|
||||
4cabae: call 0x4013a0 ; rtl60!@System@@VarClr$qqrr14System@Variant
|
||||
4cabb3: lea eax, [ebp - 4]
|
||||
4cabb6: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4cabbb: ret
|
||||
4cabbc: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4cabc1: jmp 0x4cab9e
|
||||
4cabc3: pop edi
|
||||
4cabc4: pop esi
|
||||
4cabc5: pop ebx
|
||||
4cabc6: mov esp, ebp
|
||||
4cabc8: pop ebp
|
||||
4cabc9: ret 4
|
||||
4cabcc: .byte 0xff
|
||||
4cabcd: .byte 0xff
|
||||
4cabce: .byte 0xff
|
||||
4cabcf: inc dword ptr [eax + eax]
|
||||
4cabd2: add byte ptr [eax], al
|
||||
4cabd4: inc ecx
|
||||
4cabd5: inc esp
|
||||
4cabd6: inc esp
|
||||
4cabd7: pop edi
|
||||
4cabd8: add byte ptr [eax], al
|
||||
4cabda: add byte ptr [eax], al
|
||||
4cabdc: .byte 0xff
|
||||
4cabdd: .byte 0xff
|
||||
4cabde: .byte 0xff
|
||||
4cabdf: dec dword ptr [eax]
|
||||
4cabe1: add byte ptr [eax], al
|
||||
4cabe3: add byte ptr [ecx + 0x44], al
|
||||
4cabe6: inc esp
|
||||
4cabe7: pop edi
|
||||
4cabe8: inc ecx
|
||||
4cabe9: dec ebp
|
||||
4cabea: push esp
|
||||
4cabeb: pop edi
|
||||
4cabec: add byte ptr [eax], al
|
||||
4cabee: add byte ptr [eax], al
|
||||
4cabf0: .byte 0xff
|
||||
4cabf1: .byte 0xff
|
||||
4cabf2: .byte 0xff
|
||||
4cabf3: inc dword ptr [ecx]
|
||||
4cabf5: add byte ptr [eax], al
|
||||
4cabf7: add byte ptr [edi], bl
|
||||
4cabfa: add byte ptr [eax], al
|
||||
4cabfc: .byte 0xff
|
||||
4cabfd: .byte 0xff
|
||||
4cabfe: .byte 0xff
|
||||
4cabff: inc dword ptr [eax + eax]
|
||||
4cac02: add byte ptr [eax], al
|
||||
4cac04: pop edi
|
||||
4cac05: inc ecx
|
||||
4cac06: inc esp
|
||||
4cac07: inc esp
|
||||
4cac08: add byte ptr [eax], al
|
||||
4cac0a: add byte ptr [eax], al
|
||||
4cac0c: push ebp
|
||||
4cac0d: mov ebp, esp
|
||||
4cac0f: mov ecx, 7
|
||||
4cac14: push 0
|
||||
4cac16: push 0
|
||||
4cac18: dec ecx
|
||||
4cac19: jne 0x4cac14
|
||||
4cac1b: push ebx
|
||||
4cac1c: push esi
|
||||
4cac1d: push edi
|
||||
4cac1e: mov ebx, eax
|
||||
4cac20: xor eax, eax
|
||||
4cac22: push ebp
|
||||
4cac23: push 0x4cad92
|
||||
4cac28: push dword ptr fs:[eax]
|
||||
4cac2b: mov dword ptr fs:[eax], esp
|
||||
4cac2e: mov ecx, dword ptr [0x4d26cc]
|
||||
4cac34: mov ecx, dword ptr [ecx + 8]
|
||||
4cac37: lea eax, [ebp - 4]
|
||||
4cac3a: mov edx, 0x4cadac ; '2_'
|
||||
4cac3f: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4cac44: mov edx, dword ptr [ebp - 4]
|
||||
4cac47: mov eax, dword ptr [0x4d26cc]
|
||||
4cac4c: mov eax, dword ptr [eax + 0xc]
|
||||
4cac4f: mov ecx, dword ptr [eax]
|
||||
4cac51: call dword ptr [ecx + 0x4c]
|
||||
4cac54: mov ecx, dword ptr [0x4d26cc]
|
||||
4cac5a: mov ecx, dword ptr [ecx + 8]
|
||||
4cac5d: lea eax, [ebp - 8]
|
||||
4cac60: mov edx, 0x4cadb8 ; '4_'
|
||||
4cac65: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4cac6a: mov edx, dword ptr [ebp - 8]
|
||||
4cac6d: mov eax, dword ptr [0x4d26cc]
|
||||
4cac72: mov eax, dword ptr [eax + 0xc]
|
||||
4cac75: mov ecx, dword ptr [eax]
|
||||
4cac77: call dword ptr [ecx + 0x4c]
|
||||
4cac7a: mov esi, dword ptr [ebx + 0x300]
|
||||
4cac80: mov eax, esi
|
||||
4cac82: mov edx, dword ptr [eax]
|
||||
4cac84: call dword ptr [edx + 0x12c]
|
||||
4cac8a: mov edi, eax
|
||||
4cac8c: dec edi
|
||||
4cac8d: test edi, edi
|
||||
4cac8f: jl 0x4cad55
|
||||
4cac95: inc edi
|
||||
4cac96: xor ebx, ebx
|
||||
4cac98: mov ecx, ebx
|
||||
4cac9a: mov edx, 0xa
|
||||
4cac9f: mov eax, esi
|
||||
4caca1: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4caca6: lea edx, [ebp - 0x10]
|
||||
4caca9: call 0x407bc4 ; RealGrid6!@Urmgrid@TwCells@GetString$qqrv
|
||||
4cacae: mov eax, dword ptr [ebp - 0x10]
|
||||
4cacb1: lea edx, [ebp - 0xc]
|
||||
4cacb4: call 0x4019c4 ; rtl60!@Sysutils@Trim$qqrx17System@AnsiString
|
||||
4cacb9: cmp dword ptr [ebp - 0xc], 0
|
||||
4cacbd: je 0x4cad4d
|
||||
4cacc3: push 3
|
||||
4cacc5: mov ecx, ebx
|
||||
4cacc7: mov edx, 6
|
||||
4caccc: mov eax, esi
|
||||
4cacce: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cacd3: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cacd8: lea eax, [ebp - 0x20]
|
||||
4cacdb: call 0x401330 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4cace0: lea eax, [ebp - 0x20]
|
||||
4cace3: push eax
|
||||
4cace4: mov ecx, ebx
|
||||
4cace6: mov edx, 0xa
|
||||
4caceb: mov eax, esi
|
||||
4caced: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cacf2: lea edx, [ebp - 0x24]
|
||||
4cacf5: call 0x407bc4 ; RealGrid6!@Urmgrid@TwCells@GetString$qqrv
|
||||
4cacfa: mov edx, dword ptr [ebp - 0x24]
|
||||
4cacfd: mov eax, 4
|
||||
4cad02: pop ecx
|
||||
4cad03: call 0x4caa48
|
||||
4cad08: push 3
|
||||
4cad0a: mov ecx, ebx
|
||||
4cad0c: mov edx, 8
|
||||
4cad11: mov eax, esi
|
||||
4cad13: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cad18: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cad1d: lea eax, [ebp - 0x34]
|
||||
4cad20: call 0x401330 ; rtl60!@System@@VarFromReal$qqrv
|
||||
4cad25: lea eax, [ebp - 0x34]
|
||||
4cad28: push eax
|
||||
4cad29: mov ecx, ebx
|
||||
4cad2b: mov edx, 0xa
|
||||
4cad30: mov eax, esi
|
||||
4cad32: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cad37: lea edx, [ebp - 0x38]
|
||||
4cad3a: call 0x407bc4 ; RealGrid6!@Urmgrid@TwCells@GetString$qqrv
|
||||
4cad3f: mov edx, dword ptr [ebp - 0x38]
|
||||
4cad42: mov eax, 2
|
||||
4cad47: pop ecx
|
||||
4cad48: call 0x4caa48
|
||||
4cad4d: inc ebx
|
||||
4cad4e: dec edi
|
||||
4cad4f: jne 0x4cac98
|
||||
4cad55: mov bl, 1
|
||||
4cad57: xor eax, eax
|
||||
4cad59: pop edx
|
||||
4cad5a: pop ecx
|
||||
4cad5b: pop ecx
|
||||
4cad5c: mov dword ptr fs:[eax], edx
|
||||
4cad5f: push 0x4cad99
|
||||
4cad64: lea eax, [ebp - 0x38]
|
||||
4cad67: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4cad6c: lea eax, [ebp - 0x34]
|
||||
4cad6f: call 0x4013a0 ; rtl60!@System@@VarClr$qqrr14System@Variant
|
||||
4cad74: lea eax, [ebp - 0x24]
|
||||
4cad77: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4cad7c: lea eax, [ebp - 0x20]
|
||||
4cad7f: call 0x4013a0 ; rtl60!@System@@VarClr$qqrr14System@Variant
|
||||
4cad84: lea eax, [ebp - 0x10]
|
||||
4cad87: mov edx, 4
|
||||
4cad8c: call 0x4011e8 ; rtl60!@System@@LStrArrayClr$qqrpvi
|
||||
4cad91: ret
|
||||
4cad92: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4cad97: jmp 0x4cad64
|
||||
4cad99: mov eax, ebx
|
||||
4cad9b: pop edi
|
||||
4cad9c: pop esi
|
||||
4cad9d: pop ebx
|
||||
4cad9e: mov esp, ebp
|
||||
4cada0: pop ebp
|
||||
4cada1: ret
|
||||
4cada2: add byte ptr [eax], al
|
||||
4cada4: .byte 0xff
|
||||
4cada5: .byte 0xff
|
||||
4cada6: .byte 0xff
|
||||
4cada7: inc dword ptr [edx]
|
||||
4cada9: add byte ptr [eax], al
|
||||
4cadab: add byte ptr [edx], dh
|
||||
4cadad: pop edi
|
||||
4cadae: add byte ptr [eax], al
|
||||
4cadb0: .byte 0xff
|
||||
4cadb1: .byte 0xff
|
||||
4cadb2: .byte 0xff
|
||||
4cadb3: inc dword ptr [edx]
|
||||
4cadb5: add byte ptr [eax], al
|
||||
4cadb7: add byte ptr [edi + ebx*2], dh
|
||||
4cadba: add byte ptr [eax], al
|
||||
+239
@@ -0,0 +1,239 @@
|
||||
4cadbc: push ebp
|
||||
4cadbd: mov ebp, esp
|
||||
4cadbf: push 0
|
||||
4cadc1: push 0
|
||||
4cadc3: push ebx
|
||||
4cadc4: mov ebx, eax
|
||||
4cadc6: xor eax, eax
|
||||
4cadc8: push ebp
|
||||
4cadc9: push 0x4cae2e
|
||||
4cadce: push dword ptr fs:[eax]
|
||||
4cadd1: mov dword ptr fs:[eax], esp
|
||||
4cadd4: push 0x4cae44 ; '(BDCODE1="T") .and. (BDCODE1>"T'
|
||||
4cadd9: lea edx, [ebp - 8]
|
||||
4caddc: mov eax, dword ptr [ebx + 0x318]
|
||||
4cade2: mov eax, dword ptr [eax + 0x218]
|
||||
4cade8: call 0x4019dc ; rtl60!@Sysutils@IntToStr$qqri
|
||||
4caded: push dword ptr [ebp - 8]
|
||||
4cadf0: push 0x4cae6c ; '")'
|
||||
4cadf5: lea eax, [ebp - 4]
|
||||
4cadf8: mov edx, 3
|
||||
4cadfd: call 0x401248 ; rtl60!@System@@LStrCatN$qqrv
|
||||
4cae02: mov edx, dword ptr [ebp - 4]
|
||||
4cae05: mov eax, dword ptr [ebx + 0x304]
|
||||
4cae0b: mov ecx, dword ptr [eax]
|
||||
4cae0d: call dword ptr [ecx + 0x198]
|
||||
4cae13: xor eax, eax
|
||||
4cae15: pop edx
|
||||
4cae16: pop ecx
|
||||
4cae17: pop ecx
|
||||
4cae18: mov dword ptr fs:[eax], edx
|
||||
4cae1b: push 0x4cae35
|
||||
4cae20: lea eax, [ebp - 8]
|
||||
4cae23: mov edx, 2
|
||||
4cae28: call 0x4011e8 ; rtl60!@System@@LStrArrayClr$qqrpvi
|
||||
4cae2d: ret
|
||||
4cae2e: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4cae33: jmp 0x4cae20
|
||||
4cae35: pop ebx
|
||||
4cae36: pop ecx
|
||||
4cae37: pop ecx
|
||||
4cae38: pop ebp
|
||||
4cae39: ret
|
||||
4cae3a: add byte ptr [eax], al
|
||||
4cae3c: .byte 0xff
|
||||
4cae3d: .byte 0xff
|
||||
4cae3e: .byte 0xff
|
||||
4cae3f: call ptr [edi]
|
||||
4cae41: add byte ptr [eax], al
|
||||
4cae43: add byte ptr [eax], ch
|
||||
4cae45: inc edx
|
||||
4cae46: inc esp
|
||||
4cae47: inc ebx
|
||||
4cae48: dec edi
|
||||
4cae49: inc esp
|
||||
4cae4a: inc ebp
|
||||
4cae4b: xor dword ptr [0x29225422], edi
|
||||
4cae51: and byte ptr [esi], ch
|
||||
4cae53: popal
|
||||
4cae54: outsb dx, byte ptr [esi]
|
||||
4cae55: and byte ptr cs:[eax], ch
|
||||
4cae59: inc edx
|
||||
4cae5a: inc esp
|
||||
4cae5b: inc ebx
|
||||
4cae5c: dec edi
|
||||
4cae5d: inc esp
|
||||
4cae5e: inc ebp
|
||||
4cae5f: xor dword ptr [esi], edi
|
||||
4cae61: and dl, byte ptr [eax + eax - 1]
|
||||
4cae65: .byte 0xff
|
||||
4cae66: .byte 0xff
|
||||
4cae67: inc dword ptr [edx]
|
||||
4cae69: add byte ptr [eax], al
|
||||
4cae6b: add byte ptr [edx], ah
|
||||
4cae6d: sub dword ptr [eax], eax
|
||||
4cae6f: add byte ptr [ebp - 0x75], dl
|
||||
4cae72: in al, dx
|
||||
4cae73: push ecx
|
||||
4cae74: mov ecx, 4
|
||||
4cae79: push 0
|
||||
4cae7b: push 0
|
||||
4cae7d: dec ecx
|
||||
4cae7e: jne 0x4cae79
|
||||
4cae80: xchg dword ptr [ebp - 4], ecx
|
||||
4cae83: push ebx
|
||||
4cae84: push esi
|
||||
4cae85: mov esi, edx
|
||||
4cae87: xor edx, edx
|
||||
4cae89: push ebp
|
||||
4cae8a: push 0x4cafd2
|
||||
4cae8f: push dword ptr fs:[edx]
|
||||
4cae92: mov dword ptr fs:[edx], esp
|
||||
4cae95: mov ebx, dword ptr [eax + 0x304]
|
||||
4cae9b: mov eax, esi
|
||||
4cae9d: call 0x401c6c ; rtl60!@Classes@TCollectionItem@GetIndex$qqrv
|
||||
4caea2: cmp eax, 9
|
||||
4caea5: ja 0x4cafb7
|
||||
4caeab: mov al, byte ptr [eax + 0x4caeb8]
|
||||
4caeb1: jmp dword ptr [eax*4 + 0x4caec2]
|
||||
4caeb8: add byte ptr [eax], al
|
||||
4caeba: add byte ptr [ecx], al
|
||||
4caebc: add dword ptr [edx], eax
|
||||
4caebe: add dword ptr [edx], eax
|
||||
4caec0: add dword ptr [edx], eax
|
||||
4caec2: mov bh, 0xaf
|
||||
4caec4: dec esp
|
||||
4caec5: add dh, cl
|
||||
4caec7: scasb al, byte ptr es:[edi]
|
||||
4caec8: dec esp
|
||||
4caec9: add byte ptr [0x8d004caf], bl
|
||||
4caecf: inc ebp
|
||||
4caed0: hlt
|
||||
4caed1: mov edx, dword ptr [esi + 0x7c]
|
||||
4caed4: mov dl, byte ptr [edx + 0x4d2411]
|
||||
4caeda: call 0x401208 ; rtl60!@System@@LStrFromChar$qqrr17System@AnsiStringc
|
||||
4caedf: mov ecx, dword ptr [ebp - 0xc]
|
||||
4caee2: lea eax, [ebp - 8]
|
||||
4caee5: mov edx, 0x4cafec ; 'T_AMT'
|
||||
4caeea: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4caeef: mov edx, dword ptr [ebp - 8]
|
||||
4caef2: mov eax, ebx
|
||||
4caef4: call 0x402da4 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4caef9: add esp, -0xc
|
||||
4caefc: fstp xword ptr [esp]
|
||||
4caeff: wait
|
||||
4caf00: lea edx, [ebp - 4]
|
||||
4caf03: mov eax, 0x4caffc ; '#,0.###;;#'
|
||||
4caf08: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4caf0d: mov edx, dword ptr [ebp - 4]
|
||||
4caf10: mov eax, dword ptr [ebp + 0x14]
|
||||
4caf13: call 0x4011f0 ; rtl60!@System@@LStrAsg$qqrpvpxv
|
||||
4caf18: jmp 0x4cafb7
|
||||
4caf1d: mov edx, 0x4cb010 ; 'T_AMT1'
|
||||
4caf22: mov eax, ebx
|
||||
4caf24: call 0x402da4 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4caf29: fcomp dword ptr [0x4cb018] ; =0.0
|
||||
4caf2f: fnstsw ax
|
||||
4caf31: sahf
|
||||
4caf32: jne 0x4caf54
|
||||
4caf34: push 0
|
||||
4caf36: push 0
|
||||
4caf38: push 0
|
||||
4caf3a: lea edx, [ebp - 0x10]
|
||||
4caf3d: mov eax, 0x4cb024 ; '#,0.##%;;#'
|
||||
4caf42: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4caf47: mov edx, dword ptr [ebp - 0x10]
|
||||
4caf4a: mov eax, dword ptr [ebp + 0x14]
|
||||
4caf4d: call 0x4011f0 ; rtl60!@System@@LStrAsg$qqrpvpxv
|
||||
4caf52: jmp 0x4cafb7
|
||||
4caf54: lea eax, [ebp - 0x1c]
|
||||
4caf57: mov edx, dword ptr [esi + 0x7c]
|
||||
4caf5a: mov dl, byte ptr [edx + 0x4d2411]
|
||||
4caf60: call 0x401208 ; rtl60!@System@@LStrFromChar$qqrr17System@AnsiStringc
|
||||
4caf65: mov ecx, dword ptr [ebp - 0x1c]
|
||||
4caf68: lea eax, [ebp - 0x18]
|
||||
4caf6b: mov edx, 0x4cafec ; 'T_AMT'
|
||||
4caf70: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4caf75: mov edx, dword ptr [ebp - 0x18]
|
||||
4caf78: mov eax, ebx
|
||||
4caf7a: call 0x402da4 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4caf7f: fstp qword ptr [ebp - 0x24]
|
||||
4caf82: wait
|
||||
4caf83: mov edx, 0x4cb010 ; 'T_AMT1'
|
||||
4caf88: mov eax, ebx
|
||||
4caf8a: call 0x402da4 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4caf8f: fdivr qword ptr [ebp - 0x24]
|
||||
4caf92: fmul dword ptr [0x4cb030] ; =100.0
|
||||
4caf98: add esp, -0xc
|
||||
4caf9b: fstp xword ptr [esp]
|
||||
4caf9e: wait
|
||||
4caf9f: lea edx, [ebp - 0x14]
|
||||
4cafa2: mov eax, 0x4cb024 ; '#,0.##%;;#'
|
||||
4cafa7: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4cafac: mov edx, dword ptr [ebp - 0x14]
|
||||
4cafaf: mov eax, dword ptr [ebp + 0x14]
|
||||
4cafb2: call 0x4011f0 ; rtl60!@System@@LStrAsg$qqrpvpxv
|
||||
4cafb7: xor eax, eax
|
||||
4cafb9: pop edx
|
||||
4cafba: pop ecx
|
||||
4cafbb: pop ecx
|
||||
4cafbc: mov dword ptr fs:[eax], edx
|
||||
4cafbf: push 0x4cafd9
|
||||
4cafc4: lea eax, [ebp - 0x1c]
|
||||
4cafc7: mov edx, 7
|
||||
4cafcc: call 0x4011e8 ; rtl60!@System@@LStrArrayClr$qqrpvi
|
||||
4cafd1: ret
|
||||
4cafd2: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4cafd7: jmp 0x4cafc4
|
||||
4cafd9: pop esi
|
||||
4cafda: pop ebx
|
||||
4cafdb: mov esp, ebp
|
||||
4cafdd: pop ebp
|
||||
4cafde: ret 0x10
|
||||
4cafe1: add byte ptr [eax], al
|
||||
4cafe3: add bh, bh
|
||||
4cafe5: .byte 0xff
|
||||
4cafe6: .byte 0xff
|
||||
4cafe7: inc dword ptr [0x54000000]
|
||||
4cafed: pop edi
|
||||
4cafee: inc ecx
|
||||
4cafef: dec ebp
|
||||
4caff0: push esp
|
||||
4caff1: add byte ptr [eax], al
|
||||
4caff3: add bh, bh
|
||||
4caff5: .byte 0xff
|
||||
4caff6: .byte 0xff
|
||||
4caff7: dec dword ptr [edx]
|
||||
4caff9: add byte ptr [eax], al
|
||||
4caffb: add byte ptr [ebx], ah
|
||||
4caffd: sub al, 0x30
|
||||
4cafff: and esp, dword ptr cs:[ebx]
|
||||
4cb002: and edi, dword ptr [ebx]
|
||||
4cb004: cmp esp, dword ptr [ebx]
|
||||
4cb006: add byte ptr [eax], al
|
||||
4cb008: .byte 0xff
|
||||
4cb009: .byte 0xff
|
||||
4cb00a: .byte 0xff
|
||||
4cb00b: inc dword ptr [esi]
|
||||
4cb00d: add byte ptr [eax], al
|
||||
4cb00f: add byte ptr [edi + ebx*2 + 0x41], dl
|
||||
4cb013: dec ebp
|
||||
4cb014: push esp
|
||||
4cb015: xor dword ptr [eax], eax
|
||||
4cb017: add byte ptr [eax], al
|
||||
4cb019: add byte ptr [eax], al
|
||||
4cb01b: add bh, bh
|
||||
4cb01d: .byte 0xff
|
||||
4cb01e: .byte 0xff
|
||||
4cb01f: dec dword ptr [edx]
|
||||
4cb021: add byte ptr [eax], al
|
||||
4cb023: add byte ptr [ebx], ah
|
||||
4cb025: sub al, 0x30
|
||||
4cb027: and esp, dword ptr cs:[ebx]
|
||||
4cb02a: and eax, 0x233b3b
|
||||
4cb02f: add byte ptr [eax], al
|
||||
4cb031: add al, cl
|
||||
4cb033: inc edx
|
||||
4cb034: call 0x4026bc ; vcl60!@Forms@TCustomForm@Close$qqrv
|
||||
4cb039: ret
|
||||
4cb03a: mov eax, eax
|
||||
+475
@@ -0,0 +1,475 @@
|
||||
4cb03c: push ebp
|
||||
4cb03d: mov ebp, esp
|
||||
4cb03f: push ecx
|
||||
4cb040: mov ecx, 5
|
||||
4cb045: push 0
|
||||
4cb047: push 0
|
||||
4cb049: dec ecx
|
||||
4cb04a: jne 0x4cb045
|
||||
4cb04c: xchg dword ptr [ebp - 4], ecx
|
||||
4cb04f: push ebx
|
||||
4cb050: push esi
|
||||
4cb051: push edi
|
||||
4cb052: mov ebx, dword ptr [ebp + 0x14]
|
||||
4cb055: mov esi, dword ptr [ebp + 0x10]
|
||||
4cb058: add esi, esi
|
||||
4cb05a: inc esi
|
||||
4cb05b: test esi, esi
|
||||
4cb05d: js 0x4cb066
|
||||
4cb05f: mov edi, dword ptr [ebx + esi*4]
|
||||
4cb062: dec esi
|
||||
4cb063: push edi
|
||||
4cb064: jns 0x4cb05f
|
||||
4cb066: mov dword ptr [ebp + 0x14], esp
|
||||
4cb069: mov dword ptr [ebp - 0xc], ecx
|
||||
4cb06c: mov dword ptr [ebp - 8], edx
|
||||
4cb06f: mov dword ptr [ebp - 4], eax
|
||||
4cb072: mov edi, dword ptr [ebp + 0x14]
|
||||
4cb075: mov eax, dword ptr [ebp - 8]
|
||||
4cb078: call 0x401258 ; rtl60!@System@@LStrAddRef$qqrpv
|
||||
4cb07d: mov eax, dword ptr [ebp - 0xc]
|
||||
4cb080: call 0x401258 ; rtl60!@System@@LStrAddRef$qqrpv
|
||||
4cb085: mov eax, dword ptr [ebp + 0x18]
|
||||
4cb088: call 0x401258 ; rtl60!@System@@LStrAddRef$qqrpv
|
||||
4cb08d: xor eax, eax
|
||||
4cb08f: push ebp
|
||||
4cb090: push 0x4cb426
|
||||
4cb095: push dword ptr fs:[eax]
|
||||
4cb098: mov dword ptr fs:[eax], esp
|
||||
4cb09b: mov esi, dword ptr [ebp + 0x10]
|
||||
4cb09e: test esi, esi
|
||||
4cb0a0: jl 0x4cb0c3
|
||||
4cb0a2: inc esi
|
||||
4cb0a3: mov ebx, edi
|
||||
4cb0a5: fld qword ptr [ebx]
|
||||
4cb0a7: fabs
|
||||
4cb0a9: fld xword ptr [0x4cb43c]
|
||||
4cb0af: fcompp
|
||||
4cb0b1: fnstsw ax
|
||||
4cb0b3: sahf
|
||||
4cb0b4: jae 0x4cb0bd
|
||||
4cb0b6: xor eax, eax
|
||||
4cb0b8: mov dword ptr [ebx], eax
|
||||
4cb0ba: mov dword ptr [ebx + 4], eax
|
||||
4cb0bd: add ebx, 8
|
||||
4cb0c0: dec esi
|
||||
4cb0c1: jne 0x4cb0a5
|
||||
4cb0c3: mov eax, dword ptr [ebp - 4]
|
||||
4cb0c6: sub eax, 2
|
||||
4cb0c9: jb 0x4cb0dc
|
||||
4cb0cb: fld qword ptr [edi]
|
||||
4cb0cd: fcomp dword ptr [0x4cb448] ; =0.0
|
||||
4cb0d3: fnstsw ax
|
||||
4cb0d5: sahf
|
||||
4cb0d6: je 0x4cb3f6
|
||||
4cb0dc: mov eax, dword ptr [ebp + 0x1c]
|
||||
4cb0df: mov eax, dword ptr [eax - 4]
|
||||
4cb0e2: mov ebx, dword ptr [eax + 0x300]
|
||||
4cb0e8: push 0
|
||||
4cb0ea: xor ecx, ecx
|
||||
4cb0ec: mov dl, 1
|
||||
4cb0ee: mov eax, ebx
|
||||
4cb0f0: call 0x407c44 ; RealGrid6!@Urmgrid@TRealGrid@AddRow$qqrooo
|
||||
4cb0f5: mov eax, ebx
|
||||
4cb0f7: mov edx, dword ptr [eax]
|
||||
4cb0f9: call dword ptr [edx + 0x12c]
|
||||
4cb0ff: mov esi, eax
|
||||
4cb101: dec esi
|
||||
4cb102: cmp dword ptr [ebp + 8], 0x28c
|
||||
4cb109: je 0x4cb114
|
||||
4cb10b: cmp dword ptr [ebp + 8], 0xfb
|
||||
4cb112: jne 0x4cb12e
|
||||
4cb114: mov ecx, esi
|
||||
4cb116: xor edx, edx
|
||||
4cb118: mov eax, ebx
|
||||
4cb11a: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb11f: mov edx, 0x4cb454 ; ' ◇'
|
||||
4cb124: call 0x407bcc ; RealGrid6!@Urmgrid@TwCells@SetString$qqrx17System@AnsiString
|
||||
4cb129: jmp 0x4cb1ef
|
||||
4cb12e: mov eax, dword ptr [ebp - 4]
|
||||
4cb131: sub eax, 1
|
||||
4cb134: jae 0x4cb19c
|
||||
4cb136: mov eax, dword ptr [ebp + 0x1c]
|
||||
4cb139: inc dword ptr [eax - 8]
|
||||
4cb13c: lea eax, [ebp - 0x10]
|
||||
4cb13f: push eax
|
||||
4cb140: lea eax, [ebp - 0x1c]
|
||||
4cb143: push eax
|
||||
4cb144: mov eax, dword ptr [ebp + 0x1c]
|
||||
4cb147: mov eax, dword ptr [eax - 8]
|
||||
4cb14a: dec eax
|
||||
4cb14b: mov edx, eax
|
||||
4cb14d: add edx, edx
|
||||
4cb14f: inc edx
|
||||
4cb150: mov ecx, 2
|
||||
4cb155: mov eax, 0x4cb460 ; '가나다라마바사아자차카타파하거너더러머버서어저처커터퍼허'
|
||||
4cb15a: call 0x401278 ; rtl60!@System@@LStrCopy$qqrv
|
||||
4cb15f: lea eax, [ebp - 0x1c]
|
||||
4cb162: mov edx, 0x4cb4a4 ; '.'
|
||||
4cb167: call 0x401238 ; rtl60!@System@@LStrCat$qqrv
|
||||
4cb16c: mov eax, dword ptr [ebp - 0x1c]
|
||||
4cb16f: mov dword ptr [ebp - 0x18], eax
|
||||
4cb172: mov byte ptr [ebp - 0x14], 0xb
|
||||
4cb176: lea edx, [ebp - 0x18]
|
||||
4cb179: xor ecx, ecx
|
||||
4cb17b: mov eax, 0x4cb4b0 ; '%-5s'
|
||||
4cb180: call 0x401a74 ; rtl60!@Sysutils@Format$qqrx17System@AnsiStringpx14System@TVarRecxi
|
||||
4cb185: mov eax, dword ptr [ebp - 0x10]
|
||||
4cb188: push eax
|
||||
4cb189: mov ecx, esi
|
||||
4cb18b: xor edx, edx
|
||||
4cb18d: mov eax, ebx
|
||||
4cb18f: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb194: pop edx
|
||||
4cb195: call 0x407bcc ; RealGrid6!@Urmgrid@TwCells@SetString$qqrx17System@AnsiString
|
||||
4cb19a: jmp 0x4cb1ef
|
||||
4cb19c: mov eax, dword ptr [ebp + 0x1c]
|
||||
4cb19f: inc dword ptr [eax - 0xc]
|
||||
4cb1a2: lea eax, [ebp - 0x20]
|
||||
4cb1a5: push eax
|
||||
4cb1a6: lea edx, [ebp - 0x24]
|
||||
4cb1a9: mov eax, dword ptr [ebp + 0x1c]
|
||||
4cb1ac: mov eax, dword ptr [eax - 0xc]
|
||||
4cb1af: call 0x4019dc ; rtl60!@Sysutils@IntToStr$qqri
|
||||
4cb1b4: lea eax, [ebp - 0x24]
|
||||
4cb1b7: mov edx, 0x4cb4a4 ; '.'
|
||||
4cb1bc: call 0x401238 ; rtl60!@System@@LStrCat$qqrv
|
||||
4cb1c1: mov eax, dword ptr [ebp - 0x24]
|
||||
4cb1c4: mov dword ptr [ebp - 0x18], eax
|
||||
4cb1c7: mov byte ptr [ebp - 0x14], 0xb
|
||||
4cb1cb: lea edx, [ebp - 0x18]
|
||||
4cb1ce: xor ecx, ecx
|
||||
4cb1d0: mov eax, 0x4cb4c0 ; '%5s'
|
||||
4cb1d5: call 0x401a74 ; rtl60!@Sysutils@Format$qqrx17System@AnsiStringpx14System@TVarRecxi
|
||||
4cb1da: mov eax, dword ptr [ebp - 0x20]
|
||||
4cb1dd: push eax
|
||||
4cb1de: mov ecx, esi
|
||||
4cb1e0: xor edx, edx
|
||||
4cb1e2: mov eax, ebx
|
||||
4cb1e4: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb1e9: pop edx
|
||||
4cb1ea: call 0x407bcc ; RealGrid6!@Urmgrid@TwCells@SetString$qqrx17System@AnsiString
|
||||
4cb1ef: mov ecx, esi
|
||||
4cb1f1: mov edx, 1
|
||||
4cb1f6: mov eax, ebx
|
||||
4cb1f8: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb1fd: mov edx, dword ptr [ebp - 8]
|
||||
4cb200: call 0x407bcc ; RealGrid6!@Urmgrid@TwCells@SetString$qqrx17System@AnsiString
|
||||
4cb205: mov ecx, esi
|
||||
4cb207: mov edx, 2
|
||||
4cb20c: mov eax, ebx
|
||||
4cb20e: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb213: mov edx, dword ptr [ebp - 0xc]
|
||||
4cb216: call 0x407bcc ; RealGrid6!@Urmgrid@TwCells@SetString$qqrx17System@AnsiString
|
||||
4cb21b: push dword ptr [edi + 4]
|
||||
4cb21e: push dword ptr [edi]
|
||||
4cb220: mov ecx, esi
|
||||
4cb222: mov edx, 3
|
||||
4cb227: mov eax, ebx
|
||||
4cb229: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb22e: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4cb233: push dword ptr [edi + 0x14]
|
||||
4cb236: push dword ptr [edi + 0x10]
|
||||
4cb239: mov ecx, esi
|
||||
4cb23b: mov edx, 4
|
||||
4cb240: mov eax, ebx
|
||||
4cb242: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb247: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4cb24c: push dword ptr [edi + 0x1c]
|
||||
4cb24f: push dword ptr [edi + 0x18]
|
||||
4cb252: mov ecx, esi
|
||||
4cb254: mov edx, 6
|
||||
4cb259: mov eax, ebx
|
||||
4cb25b: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb260: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4cb265: push dword ptr [edi + 0xc]
|
||||
4cb268: push dword ptr [edi + 8]
|
||||
4cb26b: mov ecx, esi
|
||||
4cb26d: mov edx, 8
|
||||
4cb272: mov eax, ebx
|
||||
4cb274: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb279: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4cb27e: mov ecx, esi
|
||||
4cb280: mov edx, 0xa
|
||||
4cb285: mov eax, ebx
|
||||
4cb287: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb28c: mov edx, dword ptr [ebp + 0x18]
|
||||
4cb28f: call 0x407bcc ; RealGrid6!@Urmgrid@TwCells@SetString$qqrx17System@AnsiString
|
||||
4cb294: mov ecx, esi
|
||||
4cb296: mov edx, 0xb
|
||||
4cb29b: mov eax, ebx
|
||||
4cb29d: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb2a2: mov dx, word ptr [ebp + 0xc]
|
||||
4cb2a6: call 0x407bf4 ; RealGrid6!@Urmgrid@TwCells@SetWord$qqrus
|
||||
4cb2ab: mov ecx, esi
|
||||
4cb2ad: mov edx, 0xd
|
||||
4cb2b2: mov eax, ebx
|
||||
4cb2b4: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb2b9: mov edx, dword ptr [ebp + 8]
|
||||
4cb2bc: call 0x407c04 ; RealGrid6!@Urmgrid@TwCells@SetLong$qqri
|
||||
4cb2c1: cmp word ptr [ebp + 0xc], 1
|
||||
4cb2c6: jne 0x4cb354
|
||||
4cb2cc: fld qword ptr [0x597094]
|
||||
4cb2d2: fcomp dword ptr [0x4cb448] ; =0.0
|
||||
4cb2d8: fnstsw ax
|
||||
4cb2da: sahf
|
||||
4cb2db: je 0x4cb354
|
||||
4cb2dd: fld qword ptr [edi]
|
||||
4cb2df: fdiv qword ptr [0x597094]
|
||||
4cb2e5: fmul dword ptr [0x4cb4c4] ; =100.0
|
||||
4cb2eb: add esp, -8
|
||||
4cb2ee: fstp qword ptr [esp]
|
||||
4cb2f1: wait
|
||||
4cb2f2: mov ecx, esi
|
||||
4cb2f4: mov edx, 0xc
|
||||
4cb2f9: mov eax, ebx
|
||||
4cb2fb: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb300: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4cb305: mov ecx, esi
|
||||
4cb307: mov edx, 0xc
|
||||
4cb30c: mov eax, ebx
|
||||
4cb30e: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb313: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cb318: add esp, -0xc
|
||||
4cb31b: fstp xword ptr [esp]
|
||||
4cb31e: wait
|
||||
4cb31f: lea edx, [ebp - 0x2c]
|
||||
4cb322: mov eax, 0x4cb4d0 ; '0.000%;;#'
|
||||
4cb327: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4cb32c: mov ecx, dword ptr [ebp - 0x2c]
|
||||
4cb32f: lea eax, [ebp - 0x28]
|
||||
4cb332: mov edx, 0x4cb4e4 ; '가. x '
|
||||
4cb337: call 0x401240 ; rtl60!@System@@LStrCat3$qqrv
|
||||
4cb33c: mov eax, dword ptr [ebp - 0x28]
|
||||
4cb33f: push eax
|
||||
4cb340: mov ecx, esi
|
||||
4cb342: mov edx, 2
|
||||
4cb347: mov eax, ebx
|
||||
4cb349: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cb34e: pop edx
|
||||
4cb34f: call 0x407bcc ; RealGrid6!@Urmgrid@TwCells@SetString$qqrx17System@AnsiString
|
||||
4cb354: mov eax, dword ptr [ebp + 0x18]
|
||||
4cb357: mov edx, 0x4cb4f4 ; 'C_DOSEOH'
|
||||
4cb35c: call 0x401250 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4cb361: jne 0x4cb36e
|
||||
4cb363: mov dword ptr [0x5e92f8], esi
|
||||
4cb369: jmp 0x4cb3f6
|
||||
4cb36e: mov eax, dword ptr [ebp + 0x18]
|
||||
4cb371: mov edx, 0x4cb508 ; 'C_TOT_1'
|
||||
4cb376: call 0x401250 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4cb37b: jne 0x4cb385
|
||||
4cb37d: mov dword ptr [0x5e92e4], esi
|
||||
4cb383: jmp 0x4cb3f6
|
||||
4cb385: mov eax, dword ptr [ebp + 0x18]
|
||||
4cb388: mov edx, 0x4cb518 ; 'C_IYUN'
|
||||
4cb38d: call 0x401250 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4cb392: jne 0x4cb39c
|
||||
4cb394: mov dword ptr [0x5e92e8], esi
|
||||
4cb39a: jmp 0x4cb3f6
|
||||
4cb39c: mov eax, dword ptr [ebp + 0x18]
|
||||
4cb39f: mov edx, 0x4cb528 ; 'C_KONGGUP'
|
||||
4cb3a4: call 0x401250 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4cb3a9: jne 0x4cb3b3
|
||||
4cb3ab: mov dword ptr [0x5e92ec], esi
|
||||
4cb3b1: jmp 0x4cb3f6
|
||||
4cb3b3: mov eax, dword ptr [ebp + 0x18]
|
||||
4cb3b6: mov edx, 0x4cb53c ; 'C_BUGA'
|
||||
4cb3bb: call 0x401250 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4cb3c0: jne 0x4cb3ca
|
||||
4cb3c2: mov dword ptr [0x5e92f0], esi
|
||||
4cb3c8: jmp 0x4cb3f6
|
||||
4cb3ca: mov eax, dword ptr [ebp + 0x18]
|
||||
4cb3cd: mov edx, 0x4cb54c ; 'C_DOGUP'
|
||||
4cb3d2: call 0x401250 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4cb3d7: jne 0x4cb3e1
|
||||
4cb3d9: mov dword ptr [0x5e92f4], esi
|
||||
4cb3df: jmp 0x4cb3f6
|
||||
4cb3e1: mov eax, dword ptr [ebp + 0x18]
|
||||
4cb3e4: mov edx, 0x4cb55c ; 'C_TOTAL'
|
||||
4cb3e9: call 0x401250 ; rtl60!@System@@LStrCmp$qqrv
|
||||
4cb3ee: jne 0x4cb3f6
|
||||
4cb3f0: mov dword ptr [0x5e92f4], esi
|
||||
4cb3f6: xor eax, eax
|
||||
4cb3f8: pop edx
|
||||
4cb3f9: pop ecx
|
||||
4cb3fa: pop ecx
|
||||
4cb3fb: mov dword ptr fs:[eax], edx
|
||||
4cb3fe: push 0x4cb42d
|
||||
4cb403: lea eax, [ebp - 0x2c]
|
||||
4cb406: mov edx, 5
|
||||
4cb40b: call 0x4011e8 ; rtl60!@System@@LStrArrayClr$qqrpvi
|
||||
4cb410: lea eax, [ebp - 0x10]
|
||||
4cb413: mov edx, 3
|
||||
4cb418: call 0x4011e8 ; rtl60!@System@@LStrArrayClr$qqrpvi
|
||||
4cb41d: lea eax, [ebp + 0x18]
|
||||
4cb420: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4cb425: ret
|
||||
4cb426: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4cb42b: jmp 0x4cb403
|
||||
4cb42d: mov edi, dword ptr [ebp - 0x38]
|
||||
4cb430: mov esi, dword ptr [ebp - 0x34]
|
||||
4cb433: mov ebx, dword ptr [ebp - 0x30]
|
||||
4cb436: mov esp, ebp
|
||||
4cb438: pop ebp
|
||||
4cb439: ret 0x14
|
||||
4cb43c: add byte ptr [eax], al
|
||||
4cb43e: bound ebp, qword ptr [ebp + eax*8 + 0x41ad78eb]
|
||||
4cb445: inc eax
|
||||
4cb446: add byte ptr [eax], al
|
||||
4cb448: add byte ptr [eax], al
|
||||
4cb44a: add byte ptr [eax], al
|
||||
4cb44c: .byte 0xff
|
||||
4cb44d: .byte 0xff
|
||||
4cb44e: .byte 0xff
|
||||
4cb44f: inc dword ptr [ebx]
|
||||
4cb451: add byte ptr [eax], al
|
||||
4cb453: add byte ptr [eax], ah
|
||||
4cb455: mov eax, dword ptr [0xffff00de]
|
||||
4cb45a: .byte 0xff
|
||||
4cb45b: .byte 0xff
|
||||
4cb45c: cmp byte ptr [eax], al
|
||||
4cb45e: add byte ptr [eax], al
|
||||
4cb460: mov al, 0xa1
|
||||
4cb462: mov bl, 0xaa
|
||||
4cb464: mov ah, 0xd9
|
||||
4cb466: mov dh, 0xf3
|
||||
4cb468: mov eax, 0xbbd9b9b6
|
||||
4cb46d: out 0xbe, eax
|
||||
4cb46f: mov al, 0xda
|
||||
4cb472: ret 0xc4f7
|
||||
4cb475: stosd dword ptr es:[edi], eax
|
||||
4cb476: lds edi, ptr [eax - 0x30383b3a]
|
||||
4cb47c: mov al, 0xc5
|
||||
4cb47e: mov bl, 0xca
|
||||
4cb480: mov ah, 0xf5
|
||||
4cb482: mov bh, 0xaf
|
||||
4cb484: mov eax, 0xbcf6b9d3
|
||||
4cb489: lodsd eax, dword ptr [esi]
|
||||
4cb48a: mov esi, 0xc3fac0ee
|
||||
4cb48f: mov bl, 0xc4
|
||||
4cb491: mov edi, 0xdbc6cdc5
|
||||
4cb496: .byte 0xc7
|
||||
4cb497: jecxz 0x4cb499
|
||||
4cb499: add byte ptr [eax], al
|
||||
4cb49b: add bh, bh
|
||||
4cb49d: .byte 0xff
|
||||
4cb49e: .byte 0xff
|
||||
4cb49f: inc dword ptr [ecx]
|
||||
4cb4a1: add byte ptr [eax], al
|
||||
4cb4a3: add byte ptr [esi], ch
|
||||
4cb4a5: add byte ptr [eax], al
|
||||
4cb4a7: add bh, bh
|
||||
4cb4a9: .byte 0xff
|
||||
4cb4aa: .byte 0xff
|
||||
4cb4ab: inc dword ptr [eax + eax]
|
||||
4cb4ae: add byte ptr [eax], al
|
||||
4cb4b0: and eax, 0x73352d
|
||||
4cb4b5: add byte ptr [eax], al
|
||||
4cb4b7: add bh, bh
|
||||
4cb4b9: .byte 0xff
|
||||
4cb4ba: .byte 0xff
|
||||
4cb4bb: inc dword ptr [ebx]
|
||||
4cb4bd: add byte ptr [eax], al
|
||||
4cb4bf: add byte ptr [0x7335], ah
|
||||
4cb4c5: add al, cl
|
||||
4cb4c7: inc edx
|
||||
4cb4c8: .byte 0xff
|
||||
4cb4c9: .byte 0xff
|
||||
4cb4ca: .byte 0xff
|
||||
4cb4cb: dec dword ptr [ecx]
|
||||
4cb4cd: add byte ptr [eax], al
|
||||
4cb4cf: add byte ptr [eax], dh
|
||||
4cb4d1: xor byte ptr cs:[eax], dh
|
||||
4cb4d4: xor byte ptr [0x233b3b], ah
|
||||
4cb4da: add byte ptr [eax], al
|
||||
4cb4dc: .byte 0xff
|
||||
4cb4dd: .byte 0xff
|
||||
4cb4de: .byte 0xff
|
||||
4cb4df: inc dword ptr [esi]
|
||||
4cb4e1: add byte ptr [eax], al
|
||||
4cb4e3: add byte ptr [eax + 0x78202ea1], dh
|
||||
4cb4e9: and byte ptr [eax], al
|
||||
4cb4eb: add bh, bh
|
||||
4cb4ed: .byte 0xff
|
||||
4cb4ee: .byte 0xff
|
||||
4cb4ef: dec dword ptr [eax]
|
||||
4cb4f1: add byte ptr [eax], al
|
||||
4cb4f3: add byte ptr [ebx + 0x5f], al
|
||||
4cb4f6: inc esp
|
||||
4cb4f7: dec edi
|
||||
4cb4f8: push ebx
|
||||
4cb4f9: inc ebp
|
||||
4cb4fa: dec edi
|
||||
4cb4fb: dec eax
|
||||
4cb4fc: add byte ptr [eax], al
|
||||
4cb4fe: add byte ptr [eax], al
|
||||
4cb500: .byte 0xff
|
||||
4cb501: .byte 0xff
|
||||
4cb502: .byte 0xff
|
||||
4cb503: inc dword ptr [edi]
|
||||
4cb505: add byte ptr [eax], al
|
||||
4cb507: add byte ptr [ebx + 0x5f], al
|
||||
4cb50a: push esp
|
||||
4cb50b: dec edi
|
||||
4cb50c: push esp
|
||||
4cb50d: pop edi
|
||||
4cb50e: xor dword ptr [eax], eax
|
||||
4cb510: .byte 0xff
|
||||
4cb511: .byte 0xff
|
||||
4cb512: .byte 0xff
|
||||
4cb513: inc dword ptr [esi]
|
||||
4cb515: add byte ptr [eax], al
|
||||
4cb517: add byte ptr [ebx + 0x5f], al
|
||||
4cb51a: dec ecx
|
||||
4cb51b: pop ecx
|
||||
4cb51c: push ebp
|
||||
4cb51d: dec esi
|
||||
4cb51e: add byte ptr [eax], al
|
||||
4cb520: .byte 0xff
|
||||
4cb521: .byte 0xff
|
||||
4cb522: .byte 0xff
|
||||
4cb523: dec dword ptr [ecx]
|
||||
4cb525: add byte ptr [eax], al
|
||||
4cb527: add byte ptr [ebx + 0x5f], al
|
||||
4cb52a: dec ebx
|
||||
4cb52b: dec edi
|
||||
4cb52c: dec esi
|
||||
4cb52d: inc edi
|
||||
4cb52e: inc edi
|
||||
4cb52f: push ebp
|
||||
4cb530: push eax
|
||||
4cb531: add byte ptr [eax], al
|
||||
4cb533: add bh, bh
|
||||
4cb535: .byte 0xff
|
||||
4cb536: .byte 0xff
|
||||
4cb537: inc dword ptr [esi]
|
||||
4cb539: add byte ptr [eax], al
|
||||
4cb53b: add byte ptr [ebx + 0x5f], al
|
||||
4cb53e: inc edx
|
||||
4cb53f: push ebp
|
||||
4cb540: inc edi
|
||||
4cb541: inc ecx
|
||||
4cb542: add byte ptr [eax], al
|
||||
4cb544: .byte 0xff
|
||||
4cb545: .byte 0xff
|
||||
4cb546: .byte 0xff
|
||||
4cb547: inc dword ptr [edi]
|
||||
4cb549: add byte ptr [eax], al
|
||||
4cb54b: add byte ptr [ebx + 0x5f], al
|
||||
4cb54e: inc esp
|
||||
4cb54f: dec edi
|
||||
4cb550: inc edi
|
||||
4cb551: push ebp
|
||||
4cb552: push eax
|
||||
4cb553: add bh, bh
|
||||
4cb555: .byte 0xff
|
||||
4cb556: .byte 0xff
|
||||
4cb557: inc dword ptr [edi]
|
||||
4cb559: add byte ptr [eax], al
|
||||
4cb55b: add byte ptr [ebx + 0x5f], al
|
||||
4cb55e: push esp
|
||||
4cb55f: dec edi
|
||||
4cb560: push esp
|
||||
4cb561: inc ecx
|
||||
4cb562: dec esp
|
||||
4cb563: .byte 0x00
|
||||
+2005
File diff suppressed because it is too large
Load Diff
+268
@@ -0,0 +1,268 @@
|
||||
4cdb94: push ebp
|
||||
4cdb95: mov ebp, esp
|
||||
4cdb97: add esp, -0x10
|
||||
4cdb9a: push ebx
|
||||
4cdb9b: push esi
|
||||
4cdb9c: xor ebx, ebx
|
||||
4cdb9e: mov dword ptr [ebp - 8], ebx
|
||||
4cdba1: mov dword ptr [ebp - 4], ecx
|
||||
4cdba4: mov esi, edx
|
||||
4cdba6: xor edx, edx
|
||||
4cdba8: push ebp
|
||||
4cdba9: push 0x4cdcb8
|
||||
4cdbae: push dword ptr fs:[edx]
|
||||
4cdbb1: mov dword ptr fs:[edx], esp
|
||||
4cdbb4: mov ebx, dword ptr [eax + 0x300]
|
||||
4cdbba: mov eax, esi
|
||||
4cdbbc: call 0x401c6c ; rtl60!@Classes@TCollectionItem@GetIndex$qqrv
|
||||
4cdbc1: sub eax, 2
|
||||
4cdbc4: je 0x4cdbda
|
||||
4cdbc6: sub eax, 3
|
||||
4cdbc9: je 0x4cdc06
|
||||
4cdbcb: sub eax, 2
|
||||
4cdbce: je 0x4cdc06
|
||||
4cdbd0: sub eax, 2
|
||||
4cdbd3: je 0x4cdc06
|
||||
4cdbd5: jmp 0x4cdca2
|
||||
4cdbda: mov ecx, dword ptr [ebp - 4]
|
||||
4cdbdd: mov edx, 0xb
|
||||
4cdbe2: mov eax, ebx
|
||||
4cdbe4: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdbe9: call 0x407bec ; RealGrid6!@Urmgrid@TwCells@GetWord$qqrv
|
||||
4cdbee: cmp ax, 1
|
||||
4cdbf2: jne 0x4cdca2
|
||||
4cdbf8: mov eax, dword ptr [ebp + 0xc]
|
||||
4cdbfb: mov dword ptr [eax], 0xff
|
||||
4cdc01: jmp 0x4cdca2
|
||||
4cdc06: mov ecx, dword ptr [ebp - 4]
|
||||
4cdc09: mov edx, 3
|
||||
4cdc0e: mov eax, ebx
|
||||
4cdc10: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdc15: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cdc1a: fcomp dword ptr [0x4cdcc8] ; =0.0
|
||||
4cdc20: fnstsw ax
|
||||
4cdc22: sahf
|
||||
4cdc23: je 0x4cdca2
|
||||
4cdc25: mov eax, esi
|
||||
4cdc27: call 0x401c6c ; rtl60!@Classes@TCollectionItem@GetIndex$qqrv
|
||||
4cdc2c: mov edx, eax
|
||||
4cdc2e: dec edx
|
||||
4cdc2f: mov ecx, dword ptr [ebp - 4]
|
||||
4cdc32: mov eax, ebx
|
||||
4cdc34: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdc39: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cdc3e: fcomp dword ptr [0x4cdcc8] ; =0.0
|
||||
4cdc44: fnstsw ax
|
||||
4cdc46: sahf
|
||||
4cdc47: je 0x4cdca2
|
||||
4cdc49: mov eax, esi
|
||||
4cdc4b: call 0x401c6c ; rtl60!@Classes@TCollectionItem@GetIndex$qqrv
|
||||
4cdc50: mov edx, eax
|
||||
4cdc52: dec edx
|
||||
4cdc53: mov ecx, dword ptr [ebp - 4]
|
||||
4cdc56: mov eax, ebx
|
||||
4cdc58: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdc5d: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cdc62: fstp qword ptr [ebp - 0x10]
|
||||
4cdc65: wait
|
||||
4cdc66: mov ecx, dword ptr [ebp - 4]
|
||||
4cdc69: mov edx, 3
|
||||
4cdc6e: mov eax, ebx
|
||||
4cdc70: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdc75: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cdc7a: fdivr qword ptr [ebp - 0x10]
|
||||
4cdc7d: fmul dword ptr [0x4cdccc] ; =100.0
|
||||
4cdc83: add esp, -0xc
|
||||
4cdc86: fstp xword ptr [esp]
|
||||
4cdc89: wait
|
||||
4cdc8a: lea edx, [ebp - 8]
|
||||
4cdc8d: mov eax, 0x4cdcd8 ; '0.00%;;#'
|
||||
4cdc92: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4cdc97: mov edx, dword ptr [ebp - 8]
|
||||
4cdc9a: mov eax, dword ptr [ebp + 0x14]
|
||||
4cdc9d: call 0x4011f0 ; rtl60!@System@@LStrAsg$qqrpvpxv
|
||||
4cdca2: xor eax, eax
|
||||
4cdca4: pop edx
|
||||
4cdca5: pop ecx
|
||||
4cdca6: pop ecx
|
||||
4cdca7: mov dword ptr fs:[eax], edx
|
||||
4cdcaa: push 0x4cdcbf
|
||||
4cdcaf: lea eax, [ebp - 8]
|
||||
4cdcb2: call 0x4011e0 ; rtl60!@System@@LStrClr$qqrpv
|
||||
4cdcb7: ret
|
||||
4cdcb8: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4cdcbd: jmp 0x4cdcaf
|
||||
4cdcbf: pop esi
|
||||
4cdcc0: pop ebx
|
||||
4cdcc1: mov esp, ebp
|
||||
4cdcc3: pop ebp
|
||||
4cdcc4: ret 0x10
|
||||
4cdcc7: add byte ptr [eax], al
|
||||
4cdcc9: add byte ptr [eax], al
|
||||
4cdccb: add byte ptr [eax], al
|
||||
4cdccd: add al, cl
|
||||
4cdccf: inc edx
|
||||
4cdcd0: .byte 0xff
|
||||
4cdcd1: .byte 0xff
|
||||
4cdcd2: .byte 0xff
|
||||
4cdcd3: dec dword ptr [eax]
|
||||
4cdcd5: add byte ptr [eax], al
|
||||
4cdcd7: add byte ptr [eax], dh
|
||||
4cdcd9: xor byte ptr cs:[eax], dh
|
||||
4cdcdc: and eax, 0x233b3b
|
||||
4cdce1: add byte ptr [eax], al
|
||||
4cdce3: add byte ptr [esi - 0x75], dl
|
||||
4cdce6: mov al, 0
|
||||
4cdce8: add eax, dword ptr [eax]
|
||||
4cdcea: add byte ptr [ebx + 0x4448e], cl
|
||||
4cdcf0: add byte ptr [edx + 0xd], bh
|
||||
4cdcf6: mov eax, esi
|
||||
4cdcf8: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdcfd: call 0x407bfc ; RealGrid6!@Urmgrid@TwCells@GetLong$qqrv
|
||||
4cdd02: cmp eax, 0xfb
|
||||
4cdd07: je 0x4cdd36
|
||||
4cdd09: mov ecx, dword ptr [esi + 0x444]
|
||||
4cdd0f: mov edx, 0xb
|
||||
4cdd14: mov eax, esi
|
||||
4cdd16: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdd1b: call 0x407bec ; RealGrid6!@Urmgrid@TwCells@GetWord$qqrv
|
||||
4cdd20: cmp ax, 2
|
||||
4cdd24: je 0x4cdd36
|
||||
4cdd26: mov eax, esi
|
||||
4cdd28: call 0x407b84 ; RealGrid6!@Urgrids@TwCustomGrid@GetSelectedColumn$qqrv
|
||||
4cdd2d: cmp byte ptr [eax + 0xcc], 0
|
||||
4cdd34: je 0x4cdd50
|
||||
4cdd36: mov edx, dword ptr [0x4cdd68]
|
||||
4cdd3c: not edx
|
||||
4cdd3e: and edx, dword ptr [esi + 0x328]
|
||||
4cdd44: mov eax, esi
|
||||
4cdd46: mov ecx, dword ptr [eax]
|
||||
4cdd48: call dword ptr [ecx + 0x14c]
|
||||
4cdd4e: pop esi
|
||||
4cdd4f: ret
|
||||
4cdd50: mov edx, dword ptr [0x4cdd68]
|
||||
4cdd56: or edx, dword ptr [esi + 0x328]
|
||||
4cdd5c: mov eax, esi
|
||||
4cdd5e: mov ecx, dword ptr [eax]
|
||||
4cdd60: call dword ptr [ecx + 0x14c]
|
||||
4cdd66: pop esi
|
||||
4cdd67: ret
|
||||
4cdd68: add byte ptr [eax + eax], al
|
||||
4cdd6b: add byte ptr [ebp - 0x75], dl
|
||||
4cdd6e: in al, dx
|
||||
4cdd6f: push ebx
|
||||
4cdd70: push esi
|
||||
4cdd71: mov esi, ecx
|
||||
4cdd73: mov ebx, eax
|
||||
4cdd75: mov ecx, esi
|
||||
4cdd77: mov edx, 0xb
|
||||
4cdd7c: mov eax, dword ptr [ebx + 0x300]
|
||||
4cdd82: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdd87: call 0x407bec ; RealGrid6!@Urmgrid@TwCells@GetWord$qqrv
|
||||
4cdd8c: cmp ax, 2
|
||||
4cdd90: jne 0x4cdda4
|
||||
4cdd92: mov eax, dword ptr [ebp + 0xc]
|
||||
4cdd95: mov dword ptr [eax], 0xffffff
|
||||
4cdd9b: mov eax, dword ptr [ebp + 0x10]
|
||||
4cdd9e: mov dword ptr [eax], 0x808000
|
||||
4cdda4: pop esi
|
||||
4cdda5: pop ebx
|
||||
4cdda6: pop ebp
|
||||
4cdda7: ret 0xc
|
||||
4cddaa: mov eax, eax
|
||||
4cddac: push ebp
|
||||
4cddad: mov ebp, esp
|
||||
4cddaf: push 0
|
||||
4cddb1: push 0
|
||||
4cddb3: push esi
|
||||
4cddb4: xor edx, edx
|
||||
4cddb6: push ebp
|
||||
4cddb7: push 0x4cde69
|
||||
4cddbc: push dword ptr fs:[edx]
|
||||
4cddbf: mov dword ptr fs:[edx], esp
|
||||
4cddc2: mov esi, dword ptr [eax + 0x300]
|
||||
4cddc8: mov eax, esi
|
||||
4cddca: call 0x407c5c ; RealGrid6!@Urmgrid@TRealGrid@Post$qqrv
|
||||
4cddcf: push 0x4cde80 ; '가나다라마바사아자차카타파하거너더러머버서어저처커터퍼허'
|
||||
4cddd4: lea eax, [ebp - 4]
|
||||
4cddd7: push eax
|
||||
4cddd8: mov ecx, dword ptr [esi + 0x444]
|
||||
4cddde: xor edx, edx
|
||||
4cdde0: mov eax, esi
|
||||
4cdde2: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdde7: lea edx, [ebp - 8]
|
||||
4cddea: call 0x407bc4 ; RealGrid6!@Urmgrid@TwCells@GetString$qqrv
|
||||
4cddef: mov eax, dword ptr [ebp - 8]
|
||||
4cddf2: mov ecx, 2
|
||||
4cddf7: mov edx, 1
|
||||
4cddfc: call 0x401278 ; rtl60!@System@@LStrCopy$qqrv
|
||||
4cde01: mov eax, dword ptr [ebp - 4]
|
||||
4cde04: push eax
|
||||
4cde05: call 0x409190 ; DP_COMMON!MPOS
|
||||
4cde0a: test al, al
|
||||
4cde0c: jne 0x4cde1e
|
||||
4cde0e: mov eax, esi
|
||||
4cde10: call 0x407b84 ; RealGrid6!@Urgrids@TwCustomGrid@GetSelectedColumn$qqrv
|
||||
4cde15: cmp byte ptr [eax + 0xcc], 0
|
||||
4cde1c: je 0x4cde38
|
||||
4cde1e: mov edx, dword ptr [0x4cdebc]
|
||||
4cde24: not edx
|
||||
4cde26: and edx, dword ptr [esi + 0x328]
|
||||
4cde2c: mov eax, esi
|
||||
4cde2e: mov ecx, dword ptr [eax]
|
||||
4cde30: call dword ptr [ecx + 0x14c]
|
||||
4cde36: jmp 0x4cde4e
|
||||
4cde38: mov edx, dword ptr [0x4cdebc]
|
||||
4cde3e: or edx, dword ptr [esi + 0x328]
|
||||
4cde44: mov eax, esi
|
||||
4cde46: mov ecx, dword ptr [eax]
|
||||
4cde48: call dword ptr [ecx + 0x14c]
|
||||
4cde4e: xor eax, eax
|
||||
4cde50: pop edx
|
||||
4cde51: pop ecx
|
||||
4cde52: pop ecx
|
||||
4cde53: mov dword ptr fs:[eax], edx
|
||||
4cde56: push 0x4cde70
|
||||
4cde5b: lea eax, [ebp - 8]
|
||||
4cde5e: mov edx, 2
|
||||
4cde63: call 0x4011e8 ; rtl60!@System@@LStrArrayClr$qqrpvi
|
||||
4cde68: ret
|
||||
4cde69: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4cde6e: jmp 0x4cde5b
|
||||
4cde70: pop esi
|
||||
4cde71: pop ecx
|
||||
4cde72: pop ecx
|
||||
4cde73: pop ebp
|
||||
4cde74: ret
|
||||
4cde75: add byte ptr [eax], al
|
||||
4cde77: add bh, bh
|
||||
4cde79: .byte 0xff
|
||||
4cde7a: .byte 0xff
|
||||
4cde7b: .byte 0xff
|
||||
4cde7c: cmp byte ptr [eax], al
|
||||
4cde7e: add byte ptr [eax], al
|
||||
4cde80: mov al, 0xa1
|
||||
4cde82: mov bl, 0xaa
|
||||
4cde84: mov ah, 0xd9
|
||||
4cde86: mov dh, 0xf3
|
||||
4cde88: mov eax, 0xbbd9b9b6
|
||||
4cde8d: out 0xbe, eax
|
||||
4cde8f: mov al, 0xda
|
||||
4cde92: ret 0xc4f7
|
||||
4cde95: stosd dword ptr es:[edi], eax
|
||||
4cde96: lds edi, ptr [eax - 0x30383b3a]
|
||||
4cde9c: mov al, 0xc5
|
||||
4cde9e: mov bl, 0xca
|
||||
4cdea0: mov ah, 0xf5
|
||||
4cdea2: mov bh, 0xaf
|
||||
4cdea4: mov eax, 0xbcf6b9d3
|
||||
4cdea9: lodsd eax, dword ptr [esi]
|
||||
4cdeaa: mov esi, 0xc3fac0ee
|
||||
4cdeaf: mov bl, 0xc4
|
||||
4cdeb1: mov edi, 0xdbc6cdc5
|
||||
4cdeb6: .byte 0xc7
|
||||
4cdeb7: jecxz 0x4cdeb9
|
||||
4cdeb9: add byte ptr [eax], al
|
||||
4cdebb: add byte ptr [eax], al
|
||||
4cdebd: add al, 0
|
||||
4cdebf: .byte 0x00
|
||||
+653
@@ -0,0 +1,653 @@
|
||||
4cdec0: push ebp
|
||||
4cdec1: mov ebp, esp
|
||||
4cdec3: add esp, -0x2c
|
||||
4cdec6: push ebx
|
||||
4cdec7: push esi
|
||||
4cdec8: push edi
|
||||
4cdec9: mov edi, eax
|
||||
4cdecb: push 0x4ce1f0 ; '굴림체'
|
||||
4cded0: push 0x7f02
|
||||
4cded5: push 1
|
||||
4cded7: mov eax, 0x4ce200 ; '적 용 (&Y)'
|
||||
4cdedc: mov dword ptr [ebp - 0x20], eax
|
||||
4cdedf: mov eax, 0x4ce214 ; '취 소 (&N)'
|
||||
4cdee4: mov dword ptr [ebp - 0x1c], eax
|
||||
4cdee7: lea eax, [ebp - 0x20]
|
||||
4cdeea: push eax
|
||||
4cdeeb: push 1
|
||||
4cdeed: mov eax, dword ptr [0x5eb508] ; [vcl60!@Forms@Application]
|
||||
4cdef2: mov eax, dword ptr [eax]
|
||||
4cdef4: mov eax, dword ptr [eax + 0x30]
|
||||
4cdef7: mov ecx, 0x4ce228 ; '계약제잡비율로 간접비 금액조정'
|
||||
4cdefc: mov edx, 0x4ce250 ; '1.간접노무비 ~ 부가가치세이전(금회분) 까지의 금액을\r"가.직접공사비계(금회분) x 계약제잡비율 로 수정하시겠습니까 ?'
|
||||
4cdf01: call 0x42b334
|
||||
4cdf06: cmp ax, 1
|
||||
4cdf0a: jne 0x4ce1e0
|
||||
4cdf10: mov eax, dword ptr [edi + 0x300]
|
||||
4cdf16: mov dword ptr [ebp - 0x18], eax
|
||||
4cdf19: xor eax, eax
|
||||
4cdf1b: push ebp
|
||||
4cdf1c: push 0x4ce1d9
|
||||
4cdf21: push dword ptr fs:[eax]
|
||||
4cdf24: mov dword ptr fs:[eax], esp
|
||||
4cdf27: mov eax, dword ptr [ebp - 0x18]
|
||||
4cdf2a: call 0x407b9c ; RealGrid6!@Urgrids@TwCustomGrid@BeginUpdate$qqrv
|
||||
4cdf2f: mov eax, dword ptr [0x5c7d84]
|
||||
4cdf35: mov dword ptr [ebp - 8], eax
|
||||
4cdf38: mov eax, dword ptr [0x5c7d88]
|
||||
4cdf3e: mov dword ptr [ebp - 4], eax
|
||||
4cdf41: mov eax, dword ptr [0x5a74e4]
|
||||
4cdf47: mov dword ptr [ebp - 0x10], eax
|
||||
4cdf4a: mov eax, dword ptr [0x5a74e8]
|
||||
4cdf50: mov dword ptr [ebp - 0xc], eax
|
||||
4cdf53: fld qword ptr [0x597094]
|
||||
4cdf59: fcomp qword ptr [0x5a74e4]
|
||||
4cdf5f: fnstsw ax
|
||||
4cdf61: sahf
|
||||
4cdf62: sete byte ptr [ebp - 0x11]
|
||||
4cdf66: mov eax, dword ptr [ebp - 0x18]
|
||||
4cdf69: mov edx, dword ptr [eax]
|
||||
4cdf6b: call dword ptr [edx + 0x12c]
|
||||
4cdf71: mov esi, eax
|
||||
4cdf73: dec esi
|
||||
4cdf74: test esi, esi
|
||||
4cdf76: jle 0x4ce1b0
|
||||
4cdf7c: mov ebx, 1
|
||||
4cdf81: mov ecx, ebx
|
||||
4cdf83: mov edx, 0xb
|
||||
4cdf88: mov eax, dword ptr [ebp - 0x18]
|
||||
4cdf8b: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdf90: call 0x407bec ; RealGrid6!@Urmgrid@TwCells@GetWord$qqrv
|
||||
4cdf95: dec ax
|
||||
4cdf98: je 0x4cdfa8
|
||||
4cdf9a: dec ax
|
||||
4cdf9d: je 0x4ce12c
|
||||
4cdfa3: jmp 0x4ce162
|
||||
4cdfa8: cmp byte ptr [ebp - 0x11], 0
|
||||
4cdfac: je 0x4cdffa
|
||||
4cdfae: mov ecx, ebx
|
||||
4cdfb0: mov edx, 3
|
||||
4cdfb5: mov eax, dword ptr [ebp - 0x18]
|
||||
4cdfb8: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdfbd: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cdfc2: fstp qword ptr [ebp - 0x20]
|
||||
4cdfc5: wait
|
||||
4cdfc6: mov ecx, ebx
|
||||
4cdfc8: mov edx, 4
|
||||
4cdfcd: mov eax, dword ptr [ebp - 0x18]
|
||||
4cdfd0: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdfd5: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cdfda: fsubr qword ptr [ebp - 0x20]
|
||||
4cdfdd: add esp, -8
|
||||
4cdfe0: fstp qword ptr [esp]
|
||||
4cdfe3: wait
|
||||
4cdfe4: mov ecx, ebx
|
||||
4cdfe6: mov edx, 6
|
||||
4cdfeb: mov eax, dword ptr [ebp - 0x18]
|
||||
4cdfee: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cdff3: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4cdff8: jmp 0x4ce045
|
||||
4cdffa: push 0
|
||||
4cdffc: push 0
|
||||
4cdffe: mov ecx, ebx
|
||||
4ce000: mov edx, 0xc
|
||||
4ce005: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce008: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce00d: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce012: fmul qword ptr [0x5c7d84]
|
||||
4ce018: fdiv dword ptr [0x4ce2c4] ; =100.0
|
||||
4ce01e: add esp, -0xc
|
||||
4ce021: fstp xword ptr [esp]
|
||||
4ce024: wait
|
||||
4ce025: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce02a: add esp, -8
|
||||
4ce02d: fstp qword ptr [esp]
|
||||
4ce030: wait
|
||||
4ce031: mov ecx, ebx
|
||||
4ce033: mov edx, 6
|
||||
4ce038: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce03b: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce040: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce045: mov ecx, ebx
|
||||
4ce047: mov edx, 3
|
||||
4ce04c: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce04f: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce054: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce059: fstp qword ptr [ebp - 0x20]
|
||||
4ce05c: wait
|
||||
4ce05d: mov ecx, ebx
|
||||
4ce05f: mov edx, 4
|
||||
4ce064: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce067: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce06c: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce071: fadd qword ptr [ebp - 0x20]
|
||||
4ce074: fstp xword ptr [ebp - 0x2c]
|
||||
4ce077: wait
|
||||
4ce078: mov ecx, ebx
|
||||
4ce07a: mov edx, 6
|
||||
4ce07f: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce082: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce087: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce08c: fld xword ptr [ebp - 0x2c]
|
||||
4ce08f: fcompp
|
||||
4ce091: fnstsw ax
|
||||
4ce093: sahf
|
||||
4ce094: ja 0x4ce0e0
|
||||
4ce096: mov ecx, ebx
|
||||
4ce098: mov edx, 3
|
||||
4ce09d: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce0a0: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce0a5: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce0aa: fstp qword ptr [ebp - 0x20]
|
||||
4ce0ad: wait
|
||||
4ce0ae: mov ecx, ebx
|
||||
4ce0b0: mov edx, 4
|
||||
4ce0b5: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce0b8: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce0bd: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce0c2: fsubr qword ptr [ebp - 0x20]
|
||||
4ce0c5: add esp, -8
|
||||
4ce0c8: fstp qword ptr [esp]
|
||||
4ce0cb: wait
|
||||
4ce0cc: mov ecx, ebx
|
||||
4ce0ce: mov edx, 6
|
||||
4ce0d3: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce0d6: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce0db: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce0e0: mov ecx, ebx
|
||||
4ce0e2: mov edx, 4
|
||||
4ce0e7: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce0ea: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce0ef: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce0f4: fstp qword ptr [ebp - 0x20]
|
||||
4ce0f7: wait
|
||||
4ce0f8: mov ecx, ebx
|
||||
4ce0fa: mov edx, 6
|
||||
4ce0ff: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce102: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce107: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce10c: fadd qword ptr [ebp - 0x20]
|
||||
4ce10f: add esp, -8
|
||||
4ce112: fstp qword ptr [esp]
|
||||
4ce115: wait
|
||||
4ce116: mov ecx, ebx
|
||||
4ce118: mov edx, 8
|
||||
4ce11d: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce120: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce125: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce12a: jmp 0x4ce162
|
||||
4ce12c: push dword ptr [ebp - 4]
|
||||
4ce12f: push dword ptr [ebp - 8]
|
||||
4ce132: mov ecx, ebx
|
||||
4ce134: mov edx, 6
|
||||
4ce139: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce13c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce141: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce146: push dword ptr [ebp - 0xc]
|
||||
4ce149: push dword ptr [ebp - 0x10]
|
||||
4ce14c: mov ecx, ebx
|
||||
4ce14e: mov edx, 8
|
||||
4ce153: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce156: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce15b: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce160: jmp 0x4ce1a8
|
||||
4ce162: mov ecx, ebx
|
||||
4ce164: mov edx, 6
|
||||
4ce169: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce16c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce171: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce176: add esp, -8
|
||||
4ce179: fstp qword ptr [esp]
|
||||
4ce17c: wait
|
||||
4ce17d: lea eax, [ebp - 8]
|
||||
4ce180: call 0x4caa38
|
||||
4ce185: mov ecx, ebx
|
||||
4ce187: mov edx, 8
|
||||
4ce18c: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce18f: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce194: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce199: add esp, -8
|
||||
4ce19c: fstp qword ptr [esp]
|
||||
4ce19f: wait
|
||||
4ce1a0: lea eax, [ebp - 0x10]
|
||||
4ce1a3: call 0x4caa38
|
||||
4ce1a8: inc ebx
|
||||
4ce1a9: dec esi
|
||||
4ce1aa: jne 0x4cdf81 ; '�'
|
||||
4ce1b0: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce1b3: call 0x407c5c ; RealGrid6!@Urmgrid@TRealGrid@Post$qqrv
|
||||
4ce1b8: xor edx, edx
|
||||
4ce1ba: mov eax, edi
|
||||
4ce1bc: call 0x4ce6c4
|
||||
4ce1c1: xor eax, eax
|
||||
4ce1c3: pop edx
|
||||
4ce1c4: pop ecx
|
||||
4ce1c5: pop ecx
|
||||
4ce1c6: mov dword ptr fs:[eax], edx
|
||||
4ce1c9: push 0x4ce1e0
|
||||
4ce1ce: mov dl, 1
|
||||
4ce1d0: mov eax, dword ptr [ebp - 0x18]
|
||||
4ce1d3: call 0x407ba4 ; RealGrid6!@Urgrids@TwCustomGrid@EndUpdate$qqro
|
||||
4ce1d8: ret
|
||||
4ce1d9: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4ce1de: jmp 0x4ce1ce
|
||||
4ce1e0: pop edi
|
||||
4ce1e1: pop esi
|
||||
4ce1e2: pop ebx
|
||||
4ce1e3: mov esp, ebp
|
||||
4ce1e5: pop ebp
|
||||
4ce1e6: ret
|
||||
4ce1e7: add bh, bh
|
||||
4ce1e9: .byte 0xff
|
||||
4ce1ea: .byte 0xff
|
||||
4ce1eb: inc dword ptr [esi]
|
||||
4ce1ed: add byte ptr [eax], al
|
||||
4ce1ef: add byte ptr [ecx - 0x3c4d4744], dh
|
||||
4ce1f5: mov esp, 0xffff0000
|
||||
4ce1fa: .byte 0xff
|
||||
4ce1fb: dec dword ptr [edx]
|
||||
4ce1fd: add byte ptr [eax], al
|
||||
4ce1ff: add al, al
|
||||
4ce201: sti
|
||||
4ce202: and byte ptr [edi + 0x262820eb], bh
|
||||
4ce208: pop ecx
|
||||
4ce209: sub dword ptr [eax], eax
|
||||
4ce20b: add bh, bh
|
||||
4ce20d: .byte 0xff
|
||||
4ce20e: .byte 0xff
|
||||
4ce20f: dec dword ptr [edx]
|
||||
4ce211: add byte ptr [eax], al
|
||||
4ce213: add bl, al
|
||||
4ce215: jmp 0x4ce237
|
||||
4ce217: mov esp, 0x262820d2
|
||||
4ce21c: dec esi
|
||||
4ce21d: sub dword ptr [eax], eax
|
||||
4ce21f: add bh, bh
|
||||
4ce221: .byte 0xff
|
||||
4ce222: .byte 0xff
|
||||
4ce223: call ptr [esi]
|
||||
4ce225: add byte ptr [eax], al
|
||||
4ce227: add byte ptr [eax - 0x3e1f4118], dh
|
||||
4ce22d: cmpsb byte ptr [esi], byte ptr es:[edi]
|
||||
4ce22e: shl dl, 0xba
|
||||
4ce231: int1
|
||||
4ce232: sal byte ptr [edx - 0x4fdf3149], 0xa3
|
||||
4ce239: shl dword ptr [edx - 0x4edf0e46], 0xdd
|
||||
4ce240: mov esi, 0xc1b6c1d7
|
||||
4ce245: movsb byte ptr es:[edi], byte ptr [esi]
|
||||
4ce246: add byte ptr [eax], al
|
||||
4ce248: .byte 0xff
|
||||
4ce249: .byte 0xff
|
||||
4ce24a: .byte 0xff
|
||||
4ce24b: push dword ptr [ecx]
|
||||
4ce24e: add byte ptr [eax], al
|
||||
4ce250: xor dword ptr [esi], ebp
|
||||
4ce252: mov al, 0xa3
|
||||
4ce254: shl dword ptr [edx - 0x5446144d], 0xba
|
||||
4ce25b: int1
|
||||
4ce25c: and byte ptr [esi + 0x20], bh
|
||||
4ce25f: mov edx, 0xb0a1b0ce
|
||||
4ce264: mov eax, dword ptr [0xbcbca1c4]
|
||||
4ce269: ror ah, 0xc0
|
||||
4ce26c: cld
|
||||
4ce26d: sub byte ptr [ecx - 0x45473723], dh
|
||||
4ce273: shr byte ptr [ecx], 1
|
||||
4ce275: and byte ptr [ecx - 0x3f093e12], dh
|
||||
4ce27b: .byte 0xc7
|
||||
4ce27c: and byte ptr [ecx - 0x3f284123], dh
|
||||
4ce282: mov ebx, 0xa1b0220d
|
||||
4ce287: sal edi, 0xc1
|
||||
4ce28b: mov byte ptr [0xe7bbf8b0], al
|
||||
4ce290: mov edx, 0x28e8b0f1
|
||||
4ce295: mov cl, 0xdd
|
||||
4ce297: enter -0x4548, -0x30
|
||||
4ce29b: sub dword ptr [eax], esp
|
||||
4ce29d: js 0x4ce2bf
|
||||
4ce29f: mov al, 0xe8
|
||||
4ce2a1: mov esi, 0xc0a6c1e0
|
||||
4ce2a6: loop 0x4ce262
|
||||
4ce2a8: int1
|
||||
4ce2a9: sal byte ptr [edx + 0x20ceb720], 0xbc
|
||||
4ce2b0: test cl, 0xa4
|
||||
4ce2b3: .byte 0xc7
|
||||
4ce2b4: iretd
|
||||
4ce2b5: mov ebp, 0xbddab0c3
|
||||
4ce2ba: sal byte ptr [edi + ecx*8 + 0x3f20eeb1], 0
|
||||
4ce2c2: add byte ptr [eax], al
|
||||
4ce2c4: add byte ptr [eax], al
|
||||
4ce2c6: enter 0x5542, -0x75
|
||||
4ce2ca: in al, dx
|
||||
4ce2cb: add esp, -8
|
||||
4ce2ce: push ebx
|
||||
4ce2cf: push esi
|
||||
4ce2d0: mov esi, eax
|
||||
4ce2d2: mov eax, dword ptr [ebp + 8]
|
||||
4ce2d5: mov eax, dword ptr [eax - 0x14]
|
||||
4ce2d8: mov ebx, dword ptr [eax + 0x300]
|
||||
4ce2de: mov ecx, esi
|
||||
4ce2e0: mov edx, 0xb
|
||||
4ce2e5: mov eax, ebx
|
||||
4ce2e7: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce2ec: call 0x407bec ; RealGrid6!@Urmgrid@TwCells@GetWord$qqrv
|
||||
4ce2f1: cmp ax, 2
|
||||
4ce2f5: jne 0x4ce334
|
||||
4ce2f7: mov eax, dword ptr [ebp + 8]
|
||||
4ce2fa: push dword ptr [eax - 4]
|
||||
4ce2fd: push dword ptr [eax - 8]
|
||||
4ce300: mov ecx, esi
|
||||
4ce302: mov edx, 6
|
||||
4ce307: mov eax, ebx
|
||||
4ce309: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce30e: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce313: mov eax, dword ptr [ebp + 8]
|
||||
4ce316: push dword ptr [eax - 0xc]
|
||||
4ce319: push dword ptr [eax - 0x10]
|
||||
4ce31c: mov ecx, esi
|
||||
4ce31e: mov edx, 8
|
||||
4ce323: mov eax, ebx
|
||||
4ce325: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce32a: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce32f: jmp 0x4ce535
|
||||
4ce334: cmp esi, dword ptr [0x5e92f8]
|
||||
4ce33a: jne 0x4ce38b
|
||||
4ce33c: push 0
|
||||
4ce33e: push 0
|
||||
4ce340: mov eax, dword ptr [0x4d2694]
|
||||
4ce345: mov eax, dword ptr [eax]
|
||||
4ce347: mov eax, dword ptr [eax + 0x20]
|
||||
4ce34a: mov edx, 0x4ce544 ; 'LCOST2'
|
||||
4ce34f: call 0x402da4 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4ce354: fmul qword ptr [0x5e887c]
|
||||
4ce35a: fdiv dword ptr [0x4ce54c] ; =100.0
|
||||
4ce360: add esp, -0xc
|
||||
4ce363: fstp xword ptr [esp]
|
||||
4ce366: wait
|
||||
4ce367: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce36c: add esp, -8
|
||||
4ce36f: fstp qword ptr [esp]
|
||||
4ce372: wait
|
||||
4ce373: mov ecx, esi
|
||||
4ce375: mov edx, 6
|
||||
4ce37a: mov eax, ebx
|
||||
4ce37c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce381: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce386: jmp 0x4ce4a4
|
||||
4ce38b: cmp esi, dword ptr [0x5e92e8]
|
||||
4ce391: jne 0x4ce3cb
|
||||
4ce393: mov ecx, esi
|
||||
4ce395: mov edx, 6
|
||||
4ce39a: mov eax, ebx
|
||||
4ce39c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce3a1: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce3a6: mov eax, dword ptr [ebp + 8]
|
||||
4ce3a9: fsub qword ptr [eax - 0x20]
|
||||
4ce3ac: add esp, -8
|
||||
4ce3af: fstp qword ptr [esp]
|
||||
4ce3b2: wait
|
||||
4ce3b3: mov ecx, esi
|
||||
4ce3b5: mov edx, 6
|
||||
4ce3ba: mov eax, ebx
|
||||
4ce3bc: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce3c1: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce3c6: jmp 0x4ce4a4
|
||||
4ce3cb: cmp esi, dword ptr [0x5e92f0]
|
||||
4ce3d1: jne 0x4ce4a4
|
||||
4ce3d7: mov eax, dword ptr [ebp + 8]
|
||||
4ce3da: mov eax, dword ptr [eax - 0x14]
|
||||
4ce3dd: mov eax, dword ptr [eax + 0x320]
|
||||
4ce3e3: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce3e8: dec eax
|
||||
4ce3e9: je 0x4ce3f6
|
||||
4ce3eb: dec eax
|
||||
4ce3ec: je 0x4ce42e
|
||||
4ce3ee: dec eax
|
||||
4ce3ef: je 0x4ce466
|
||||
4ce3f1: jmp 0x4ce4a4
|
||||
4ce3f6: push 0
|
||||
4ce3f8: push 0
|
||||
4ce3fa: fld xword ptr [0x4ce550]
|
||||
4ce400: mov eax, dword ptr [ebp + 8]
|
||||
4ce403: fmul qword ptr [eax - 8]
|
||||
4ce406: add esp, -0xc
|
||||
4ce409: fstp xword ptr [esp]
|
||||
4ce40c: wait
|
||||
4ce40d: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce412: add esp, -8
|
||||
4ce415: fstp qword ptr [esp]
|
||||
4ce418: wait
|
||||
4ce419: mov ecx, esi
|
||||
4ce41b: mov edx, 6
|
||||
4ce420: mov eax, ebx
|
||||
4ce422: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce427: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce42c: jmp 0x4ce4a4
|
||||
4ce42e: push 0
|
||||
4ce430: push 0
|
||||
4ce432: fld xword ptr [0x4ce550]
|
||||
4ce438: fmul qword ptr [0x5c7d94]
|
||||
4ce43e: add esp, -0xc
|
||||
4ce441: fstp xword ptr [esp]
|
||||
4ce444: wait
|
||||
4ce445: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce44a: add esp, -8
|
||||
4ce44d: fstp qword ptr [esp]
|
||||
4ce450: wait
|
||||
4ce451: mov ecx, esi
|
||||
4ce453: mov edx, 6
|
||||
4ce458: mov eax, ebx
|
||||
4ce45a: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce45f: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce464: jmp 0x4ce4a4
|
||||
4ce466: push 0
|
||||
4ce468: push 0
|
||||
4ce46a: fld qword ptr [0x5c7d94]
|
||||
4ce470: fadd qword ptr [0x5c7d9c]
|
||||
4ce476: fld xword ptr [0x4ce550]
|
||||
4ce47c: fmulp st(1)
|
||||
4ce47e: add esp, -0xc
|
||||
4ce481: fstp xword ptr [esp]
|
||||
4ce484: wait
|
||||
4ce485: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce48a: add esp, -8
|
||||
4ce48d: fstp qword ptr [esp]
|
||||
4ce490: wait
|
||||
4ce491: mov ecx, esi
|
||||
4ce493: mov edx, 6
|
||||
4ce498: mov eax, ebx
|
||||
4ce49a: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce49f: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce4a4: mov ecx, esi
|
||||
4ce4a6: mov edx, 4
|
||||
4ce4ab: mov eax, ebx
|
||||
4ce4ad: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce4b2: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce4b7: fstp qword ptr [ebp - 8]
|
||||
4ce4ba: wait
|
||||
4ce4bb: mov ecx, esi
|
||||
4ce4bd: mov edx, 6
|
||||
4ce4c2: mov eax, ebx
|
||||
4ce4c4: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce4c9: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce4ce: fadd qword ptr [ebp - 8]
|
||||
4ce4d1: add esp, -8
|
||||
4ce4d4: fstp qword ptr [esp]
|
||||
4ce4d7: wait
|
||||
4ce4d8: mov ecx, esi
|
||||
4ce4da: mov edx, 8
|
||||
4ce4df: mov eax, ebx
|
||||
4ce4e1: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce4e6: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce4eb: mov ecx, esi
|
||||
4ce4ed: mov edx, 6
|
||||
4ce4f2: mov eax, ebx
|
||||
4ce4f4: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce4f9: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce4fe: add esp, -8
|
||||
4ce501: fstp qword ptr [esp]
|
||||
4ce504: wait
|
||||
4ce505: mov eax, dword ptr [ebp + 8]
|
||||
4ce508: add eax, -8
|
||||
4ce50b: call 0x4caa38
|
||||
4ce510: mov ecx, esi
|
||||
4ce512: mov edx, 8
|
||||
4ce517: mov eax, ebx
|
||||
4ce519: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce51e: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce523: add esp, -8
|
||||
4ce526: fstp qword ptr [esp]
|
||||
4ce529: wait
|
||||
4ce52a: mov eax, dword ptr [ebp + 8]
|
||||
4ce52d: add eax, -0x10
|
||||
4ce530: call 0x4caa38
|
||||
4ce535: pop esi
|
||||
4ce536: pop ebx
|
||||
4ce537: pop ecx
|
||||
4ce538: pop ecx
|
||||
4ce539: pop ebp
|
||||
4ce53a: ret
|
||||
4ce53b: add bh, bh
|
||||
4ce53d: .byte 0xff
|
||||
4ce53e: .byte 0xff
|
||||
4ce53f: inc dword ptr [esi]
|
||||
4ce541: add byte ptr [eax], al
|
||||
4ce543: add byte ptr [ebx + eax*2 + 0x4f], cl
|
||||
4ce547: push ebx
|
||||
4ce548: push esp
|
||||
4ce549: xor al, byte ptr [eax]
|
||||
4ce54b: add byte ptr [eax], al
|
||||
4ce54d: add al, cl
|
||||
4ce54f: inc edx
|
||||
4ce550: int 0xcc
|
||||
4ce552: int3
|
||||
4ce553: int3
|
||||
4ce554: int3
|
||||
4ce555: int3
|
||||
4ce556: int3
|
||||
4ce557: int3
|
||||
4ce558: sti
|
||||
4ce559: aas
|
||||
4ce55a: add byte ptr [eax], al
|
||||
4ce55c: push ebp
|
||||
4ce55d: mov ebp, esp
|
||||
4ce55f: push ebx
|
||||
4ce560: push esi
|
||||
4ce561: mov eax, dword ptr [ebp + 8]
|
||||
4ce564: mov eax, dword ptr [eax - 0x14]
|
||||
4ce567: mov eax, dword ptr [eax + 0x328]
|
||||
4ce56d: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce572: test eax, eax
|
||||
4ce574: je 0x4ce5ad
|
||||
4ce576: push 0
|
||||
4ce578: mov eax, dword ptr [ebp + 8]
|
||||
4ce57b: mov eax, dword ptr [eax - 0x14]
|
||||
4ce57e: mov eax, dword ptr [eax + 0x328]
|
||||
4ce584: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce589: neg eax
|
||||
4ce58b: push eax
|
||||
4ce58c: fld qword ptr [0x5e930c]
|
||||
4ce592: add esp, -0xc
|
||||
4ce595: fstp xword ptr [esp]
|
||||
4ce598: wait
|
||||
4ce599: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce59e: fsubr qword ptr [0x5e930c]
|
||||
4ce5a4: mov eax, dword ptr [ebp + 8]
|
||||
4ce5a7: fstp qword ptr [eax - 0x20]
|
||||
4ce5aa: wait
|
||||
4ce5ab: jmp 0x4ce5f7
|
||||
4ce5ad: mov eax, dword ptr [ebp + 8]
|
||||
4ce5b0: mov eax, dword ptr [eax - 0x14]
|
||||
4ce5b3: mov eax, dword ptr [eax + 0x330]
|
||||
4ce5b9: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce5be: test eax, eax
|
||||
4ce5c0: je 0x4ce5f7
|
||||
4ce5c2: push 0
|
||||
4ce5c4: mov eax, dword ptr [ebp + 8]
|
||||
4ce5c7: mov eax, dword ptr [eax - 0x14]
|
||||
4ce5ca: mov eax, dword ptr [eax + 0x330]
|
||||
4ce5d0: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce5d5: neg eax
|
||||
4ce5d7: push eax
|
||||
4ce5d8: fld qword ptr [0x5e931c]
|
||||
4ce5de: add esp, -0xc
|
||||
4ce5e1: fstp xword ptr [esp]
|
||||
4ce5e4: wait
|
||||
4ce5e5: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce5ea: fsubr qword ptr [0x5e931c]
|
||||
4ce5f0: mov eax, dword ptr [ebp + 8]
|
||||
4ce5f3: fstp qword ptr [eax - 0x20]
|
||||
4ce5f6: wait
|
||||
4ce5f7: mov eax, dword ptr [ebp + 8]
|
||||
4ce5fa: mov eax, dword ptr [eax - 0x14]
|
||||
4ce5fd: mov eax, dword ptr [eax + 0x330]
|
||||
4ce603: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce608: test eax, eax
|
||||
4ce60a: je 0x4ce643
|
||||
4ce60c: mov eax, dword ptr [ebp + 8]
|
||||
4ce60f: mov eax, dword ptr [eax - 0x14]
|
||||
4ce612: mov eax, dword ptr [eax + 0x320]
|
||||
4ce618: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce61d: dec eax
|
||||
4ce61e: jne 0x4ce643
|
||||
4ce620: push 0
|
||||
4ce622: push 0
|
||||
4ce624: fld xword ptr [0x4ce6b8]
|
||||
4ce62a: mov eax, dword ptr [ebp + 8]
|
||||
4ce62d: fdivr qword ptr [eax - 0x20]
|
||||
4ce630: add esp, -0xc
|
||||
4ce633: fstp xword ptr [esp]
|
||||
4ce636: wait
|
||||
4ce637: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce63c: mov eax, dword ptr [ebp + 8]
|
||||
4ce63f: fstp qword ptr [eax - 0x20]
|
||||
4ce642: wait
|
||||
4ce643: mov eax, dword ptr [ebp + 8]
|
||||
4ce646: mov eax, dword ptr [eax - 0x14]
|
||||
4ce649: mov ebx, dword ptr [eax + 0x300]
|
||||
4ce64f: mov ecx, dword ptr [0x5e92e4]
|
||||
4ce655: mov edx, 6
|
||||
4ce65a: mov eax, ebx
|
||||
4ce65c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce661: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce666: mov eax, dword ptr [ebp + 8]
|
||||
4ce669: fstp qword ptr [eax - 8]
|
||||
4ce66c: wait
|
||||
4ce66d: mov ecx, dword ptr [0x5e92e4]
|
||||
4ce673: mov edx, 8
|
||||
4ce678: mov eax, ebx
|
||||
4ce67a: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce67f: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce684: mov eax, dword ptr [ebp + 8]
|
||||
4ce687: fstp qword ptr [eax - 0x10]
|
||||
4ce68a: wait
|
||||
4ce68b: mov esi, dword ptr [0x5e92e4]
|
||||
4ce691: inc esi
|
||||
4ce692: mov eax, ebx
|
||||
4ce694: mov edx, dword ptr [eax]
|
||||
4ce696: call dword ptr [edx + 0x12c]
|
||||
4ce69c: dec eax
|
||||
4ce69d: sub eax, esi
|
||||
4ce69f: jl 0x4ce6b4
|
||||
4ce6a1: inc eax
|
||||
4ce6a2: mov ebx, eax
|
||||
4ce6a4: mov eax, dword ptr [ebp + 8]
|
||||
4ce6a7: push eax
|
||||
4ce6a8: mov eax, esi
|
||||
4ce6aa: call 0x4ce2c8
|
||||
4ce6af: pop ecx
|
||||
4ce6b0: inc esi
|
||||
4ce6b1: dec ebx
|
||||
4ce6b2: jne 0x4ce6a4
|
||||
4ce6b4: pop esi
|
||||
4ce6b5: pop ebx
|
||||
4ce6b6: pop ebp
|
||||
4ce6b7: ret
|
||||
4ce6b8: int 0xcc
|
||||
4ce6ba: int3
|
||||
4ce6bb: int3
|
||||
4ce6bc: int3
|
||||
4ce6bd: int3
|
||||
4ce6be: int3
|
||||
4ce6bf: .byte 0x8c
|
||||
4ce6c0: .byte 0xff
|
||||
4ce6c1: aas
|
||||
4ce6c2: add byte ptr [eax], al
|
||||
+336
@@ -0,0 +1,336 @@
|
||||
4ce2c8: push ebp
|
||||
4ce2c9: mov ebp, esp
|
||||
4ce2cb: add esp, -8
|
||||
4ce2ce: push ebx
|
||||
4ce2cf: push esi
|
||||
4ce2d0: mov esi, eax
|
||||
4ce2d2: mov eax, dword ptr [ebp + 8]
|
||||
4ce2d5: mov eax, dword ptr [eax - 0x14]
|
||||
4ce2d8: mov ebx, dword ptr [eax + 0x300]
|
||||
4ce2de: mov ecx, esi
|
||||
4ce2e0: mov edx, 0xb
|
||||
4ce2e5: mov eax, ebx
|
||||
4ce2e7: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce2ec: call 0x407bec ; RealGrid6!@Urmgrid@TwCells@GetWord$qqrv
|
||||
4ce2f1: cmp ax, 2
|
||||
4ce2f5: jne 0x4ce334
|
||||
4ce2f7: mov eax, dword ptr [ebp + 8]
|
||||
4ce2fa: push dword ptr [eax - 4]
|
||||
4ce2fd: push dword ptr [eax - 8]
|
||||
4ce300: mov ecx, esi
|
||||
4ce302: mov edx, 6
|
||||
4ce307: mov eax, ebx
|
||||
4ce309: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce30e: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce313: mov eax, dword ptr [ebp + 8]
|
||||
4ce316: push dword ptr [eax - 0xc]
|
||||
4ce319: push dword ptr [eax - 0x10]
|
||||
4ce31c: mov ecx, esi
|
||||
4ce31e: mov edx, 8
|
||||
4ce323: mov eax, ebx
|
||||
4ce325: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce32a: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce32f: jmp 0x4ce535
|
||||
4ce334: cmp esi, dword ptr [0x5e92f8]
|
||||
4ce33a: jne 0x4ce38b
|
||||
4ce33c: push 0
|
||||
4ce33e: push 0
|
||||
4ce340: mov eax, dword ptr [0x4d2694]
|
||||
4ce345: mov eax, dword ptr [eax]
|
||||
4ce347: mov eax, dword ptr [eax + 0x20]
|
||||
4ce34a: mov edx, 0x4ce544 ; 'LCOST2'
|
||||
4ce34f: call 0x402da4 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
4ce354: fmul qword ptr [0x5e887c]
|
||||
4ce35a: fdiv dword ptr [0x4ce54c] ; =100.0
|
||||
4ce360: add esp, -0xc
|
||||
4ce363: fstp xword ptr [esp]
|
||||
4ce366: wait
|
||||
4ce367: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce36c: add esp, -8
|
||||
4ce36f: fstp qword ptr [esp]
|
||||
4ce372: wait
|
||||
4ce373: mov ecx, esi
|
||||
4ce375: mov edx, 6
|
||||
4ce37a: mov eax, ebx
|
||||
4ce37c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce381: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce386: jmp 0x4ce4a4
|
||||
4ce38b: cmp esi, dword ptr [0x5e92e8]
|
||||
4ce391: jne 0x4ce3cb
|
||||
4ce393: mov ecx, esi
|
||||
4ce395: mov edx, 6
|
||||
4ce39a: mov eax, ebx
|
||||
4ce39c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce3a1: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce3a6: mov eax, dword ptr [ebp + 8]
|
||||
4ce3a9: fsub qword ptr [eax - 0x20]
|
||||
4ce3ac: add esp, -8
|
||||
4ce3af: fstp qword ptr [esp]
|
||||
4ce3b2: wait
|
||||
4ce3b3: mov ecx, esi
|
||||
4ce3b5: mov edx, 6
|
||||
4ce3ba: mov eax, ebx
|
||||
4ce3bc: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce3c1: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce3c6: jmp 0x4ce4a4
|
||||
4ce3cb: cmp esi, dword ptr [0x5e92f0]
|
||||
4ce3d1: jne 0x4ce4a4
|
||||
4ce3d7: mov eax, dword ptr [ebp + 8]
|
||||
4ce3da: mov eax, dword ptr [eax - 0x14]
|
||||
4ce3dd: mov eax, dword ptr [eax + 0x320]
|
||||
4ce3e3: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce3e8: dec eax
|
||||
4ce3e9: je 0x4ce3f6
|
||||
4ce3eb: dec eax
|
||||
4ce3ec: je 0x4ce42e
|
||||
4ce3ee: dec eax
|
||||
4ce3ef: je 0x4ce466
|
||||
4ce3f1: jmp 0x4ce4a4
|
||||
4ce3f6: push 0
|
||||
4ce3f8: push 0
|
||||
4ce3fa: fld xword ptr [0x4ce550]
|
||||
4ce400: mov eax, dword ptr [ebp + 8]
|
||||
4ce403: fmul qword ptr [eax - 8]
|
||||
4ce406: add esp, -0xc
|
||||
4ce409: fstp xword ptr [esp]
|
||||
4ce40c: wait
|
||||
4ce40d: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce412: add esp, -8
|
||||
4ce415: fstp qword ptr [esp]
|
||||
4ce418: wait
|
||||
4ce419: mov ecx, esi
|
||||
4ce41b: mov edx, 6
|
||||
4ce420: mov eax, ebx
|
||||
4ce422: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce427: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce42c: jmp 0x4ce4a4
|
||||
4ce42e: push 0
|
||||
4ce430: push 0
|
||||
4ce432: fld xword ptr [0x4ce550]
|
||||
4ce438: fmul qword ptr [0x5c7d94]
|
||||
4ce43e: add esp, -0xc
|
||||
4ce441: fstp xword ptr [esp]
|
||||
4ce444: wait
|
||||
4ce445: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce44a: add esp, -8
|
||||
4ce44d: fstp qword ptr [esp]
|
||||
4ce450: wait
|
||||
4ce451: mov ecx, esi
|
||||
4ce453: mov edx, 6
|
||||
4ce458: mov eax, ebx
|
||||
4ce45a: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce45f: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce464: jmp 0x4ce4a4
|
||||
4ce466: push 0
|
||||
4ce468: push 0
|
||||
4ce46a: fld qword ptr [0x5c7d94]
|
||||
4ce470: fadd qword ptr [0x5c7d9c]
|
||||
4ce476: fld xword ptr [0x4ce550]
|
||||
4ce47c: fmulp st(1)
|
||||
4ce47e: add esp, -0xc
|
||||
4ce481: fstp xword ptr [esp]
|
||||
4ce484: wait
|
||||
4ce485: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce48a: add esp, -8
|
||||
4ce48d: fstp qword ptr [esp]
|
||||
4ce490: wait
|
||||
4ce491: mov ecx, esi
|
||||
4ce493: mov edx, 6
|
||||
4ce498: mov eax, ebx
|
||||
4ce49a: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce49f: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce4a4: mov ecx, esi
|
||||
4ce4a6: mov edx, 4
|
||||
4ce4ab: mov eax, ebx
|
||||
4ce4ad: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce4b2: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce4b7: fstp qword ptr [ebp - 8]
|
||||
4ce4ba: wait
|
||||
4ce4bb: mov ecx, esi
|
||||
4ce4bd: mov edx, 6
|
||||
4ce4c2: mov eax, ebx
|
||||
4ce4c4: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce4c9: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce4ce: fadd qword ptr [ebp - 8]
|
||||
4ce4d1: add esp, -8
|
||||
4ce4d4: fstp qword ptr [esp]
|
||||
4ce4d7: wait
|
||||
4ce4d8: mov ecx, esi
|
||||
4ce4da: mov edx, 8
|
||||
4ce4df: mov eax, ebx
|
||||
4ce4e1: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce4e6: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4ce4eb: mov ecx, esi
|
||||
4ce4ed: mov edx, 6
|
||||
4ce4f2: mov eax, ebx
|
||||
4ce4f4: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce4f9: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce4fe: add esp, -8
|
||||
4ce501: fstp qword ptr [esp]
|
||||
4ce504: wait
|
||||
4ce505: mov eax, dword ptr [ebp + 8]
|
||||
4ce508: add eax, -8
|
||||
4ce50b: call 0x4caa38
|
||||
4ce510: mov ecx, esi
|
||||
4ce512: mov edx, 8
|
||||
4ce517: mov eax, ebx
|
||||
4ce519: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce51e: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce523: add esp, -8
|
||||
4ce526: fstp qword ptr [esp]
|
||||
4ce529: wait
|
||||
4ce52a: mov eax, dword ptr [ebp + 8]
|
||||
4ce52d: add eax, -0x10
|
||||
4ce530: call 0x4caa38
|
||||
4ce535: pop esi
|
||||
4ce536: pop ebx
|
||||
4ce537: pop ecx
|
||||
4ce538: pop ecx
|
||||
4ce539: pop ebp
|
||||
4ce53a: ret
|
||||
4ce53b: add bh, bh
|
||||
4ce53d: .byte 0xff
|
||||
4ce53e: .byte 0xff
|
||||
4ce53f: inc dword ptr [esi]
|
||||
4ce541: add byte ptr [eax], al
|
||||
4ce543: add byte ptr [ebx + eax*2 + 0x4f], cl
|
||||
4ce547: push ebx
|
||||
4ce548: push esp
|
||||
4ce549: xor al, byte ptr [eax]
|
||||
4ce54b: add byte ptr [eax], al
|
||||
4ce54d: add al, cl
|
||||
4ce54f: inc edx
|
||||
4ce550: int 0xcc
|
||||
4ce552: int3
|
||||
4ce553: int3
|
||||
4ce554: int3
|
||||
4ce555: int3
|
||||
4ce556: int3
|
||||
4ce557: int3
|
||||
4ce558: sti
|
||||
4ce559: aas
|
||||
4ce55a: add byte ptr [eax], al
|
||||
4ce55c: push ebp
|
||||
4ce55d: mov ebp, esp
|
||||
4ce55f: push ebx
|
||||
4ce560: push esi
|
||||
4ce561: mov eax, dword ptr [ebp + 8]
|
||||
4ce564: mov eax, dword ptr [eax - 0x14]
|
||||
4ce567: mov eax, dword ptr [eax + 0x328]
|
||||
4ce56d: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce572: test eax, eax
|
||||
4ce574: je 0x4ce5ad
|
||||
4ce576: push 0
|
||||
4ce578: mov eax, dword ptr [ebp + 8]
|
||||
4ce57b: mov eax, dword ptr [eax - 0x14]
|
||||
4ce57e: mov eax, dword ptr [eax + 0x328]
|
||||
4ce584: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce589: neg eax
|
||||
4ce58b: push eax
|
||||
4ce58c: fld qword ptr [0x5e930c]
|
||||
4ce592: add esp, -0xc
|
||||
4ce595: fstp xword ptr [esp]
|
||||
4ce598: wait
|
||||
4ce599: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce59e: fsubr qword ptr [0x5e930c]
|
||||
4ce5a4: mov eax, dword ptr [ebp + 8]
|
||||
4ce5a7: fstp qword ptr [eax - 0x20]
|
||||
4ce5aa: wait
|
||||
4ce5ab: jmp 0x4ce5f7
|
||||
4ce5ad: mov eax, dword ptr [ebp + 8]
|
||||
4ce5b0: mov eax, dword ptr [eax - 0x14]
|
||||
4ce5b3: mov eax, dword ptr [eax + 0x330]
|
||||
4ce5b9: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce5be: test eax, eax
|
||||
4ce5c0: je 0x4ce5f7
|
||||
4ce5c2: push 0
|
||||
4ce5c4: mov eax, dword ptr [ebp + 8]
|
||||
4ce5c7: mov eax, dword ptr [eax - 0x14]
|
||||
4ce5ca: mov eax, dword ptr [eax + 0x330]
|
||||
4ce5d0: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce5d5: neg eax
|
||||
4ce5d7: push eax
|
||||
4ce5d8: fld qword ptr [0x5e931c]
|
||||
4ce5de: add esp, -0xc
|
||||
4ce5e1: fstp xword ptr [esp]
|
||||
4ce5e4: wait
|
||||
4ce5e5: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce5ea: fsubr qword ptr [0x5e931c]
|
||||
4ce5f0: mov eax, dword ptr [ebp + 8]
|
||||
4ce5f3: fstp qword ptr [eax - 0x20]
|
||||
4ce5f6: wait
|
||||
4ce5f7: mov eax, dword ptr [ebp + 8]
|
||||
4ce5fa: mov eax, dword ptr [eax - 0x14]
|
||||
4ce5fd: mov eax, dword ptr [eax + 0x330]
|
||||
4ce603: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce608: test eax, eax
|
||||
4ce60a: je 0x4ce643
|
||||
4ce60c: mov eax, dword ptr [ebp + 8]
|
||||
4ce60f: mov eax, dword ptr [eax - 0x14]
|
||||
4ce612: mov eax, dword ptr [eax + 0x320]
|
||||
4ce618: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce61d: dec eax
|
||||
4ce61e: jne 0x4ce643
|
||||
4ce620: push 0
|
||||
4ce622: push 0
|
||||
4ce624: fld xword ptr [0x4ce6b8]
|
||||
4ce62a: mov eax, dword ptr [ebp + 8]
|
||||
4ce62d: fdivr qword ptr [eax - 0x20]
|
||||
4ce630: add esp, -0xc
|
||||
4ce633: fstp xword ptr [esp]
|
||||
4ce636: wait
|
||||
4ce637: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce63c: mov eax, dword ptr [ebp + 8]
|
||||
4ce63f: fstp qword ptr [eax - 0x20]
|
||||
4ce642: wait
|
||||
4ce643: mov eax, dword ptr [ebp + 8]
|
||||
4ce646: mov eax, dword ptr [eax - 0x14]
|
||||
4ce649: mov ebx, dword ptr [eax + 0x300]
|
||||
4ce64f: mov ecx, dword ptr [0x5e92e4]
|
||||
4ce655: mov edx, 6
|
||||
4ce65a: mov eax, ebx
|
||||
4ce65c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce661: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce666: mov eax, dword ptr [ebp + 8]
|
||||
4ce669: fstp qword ptr [eax - 8]
|
||||
4ce66c: wait
|
||||
4ce66d: mov ecx, dword ptr [0x5e92e4]
|
||||
4ce673: mov edx, 8
|
||||
4ce678: mov eax, ebx
|
||||
4ce67a: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce67f: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce684: mov eax, dword ptr [ebp + 8]
|
||||
4ce687: fstp qword ptr [eax - 0x10]
|
||||
4ce68a: wait
|
||||
4ce68b: mov esi, dword ptr [0x5e92e4]
|
||||
4ce691: inc esi
|
||||
4ce692: mov eax, ebx
|
||||
4ce694: mov edx, dword ptr [eax]
|
||||
4ce696: call dword ptr [edx + 0x12c]
|
||||
4ce69c: dec eax
|
||||
4ce69d: sub eax, esi
|
||||
4ce69f: jl 0x4ce6b4
|
||||
4ce6a1: inc eax
|
||||
4ce6a2: mov ebx, eax
|
||||
4ce6a4: mov eax, dword ptr [ebp + 8]
|
||||
4ce6a7: push eax
|
||||
4ce6a8: mov eax, esi
|
||||
4ce6aa: call 0x4ce2c8
|
||||
4ce6af: pop ecx
|
||||
4ce6b0: inc esi
|
||||
4ce6b1: dec ebx
|
||||
4ce6b2: jne 0x4ce6a4
|
||||
4ce6b4: pop esi
|
||||
4ce6b5: pop ebx
|
||||
4ce6b6: pop ebp
|
||||
4ce6b7: ret
|
||||
4ce6b8: int 0xcc
|
||||
4ce6ba: int3
|
||||
4ce6bb: int3
|
||||
4ce6bc: int3
|
||||
4ce6bd: int3
|
||||
4ce6be: int3
|
||||
4ce6bf: .byte 0x8c
|
||||
4ce6c0: .byte 0xff
|
||||
4ce6c1: aas
|
||||
4ce6c2: add byte ptr [eax], al
|
||||
+431
@@ -0,0 +1,431 @@
|
||||
4ce6c4: push ebp
|
||||
4ce6c5: mov ebp, esp
|
||||
4ce6c7: add esp, -0x5c
|
||||
4ce6ca: push ebx
|
||||
4ce6cb: push esi
|
||||
4ce6cc: xor ecx, ecx
|
||||
4ce6ce: mov dword ptr [ebp - 0x5c], ecx
|
||||
4ce6d1: mov dword ptr [ebp - 0x58], ecx
|
||||
4ce6d4: mov dword ptr [ebp - 0x54], ecx
|
||||
4ce6d7: mov dword ptr [ebp - 0x50], ecx
|
||||
4ce6da: mov dword ptr [ebp - 0x4c], ecx
|
||||
4ce6dd: mov dword ptr [ebp - 0x48], ecx
|
||||
4ce6e0: mov dword ptr [ebp - 0x44], ecx
|
||||
4ce6e3: mov dword ptr [ebp - 0x40], ecx
|
||||
4ce6e6: mov dword ptr [ebp - 0x3c], ecx
|
||||
4ce6e9: mov dword ptr [ebp - 0x38], ecx
|
||||
4ce6ec: mov dword ptr [ebp - 0x14], eax
|
||||
4ce6ef: xor eax, eax
|
||||
4ce6f1: push ebp
|
||||
4ce6f2: push 0x4cec4b
|
||||
4ce6f7: push dword ptr fs:[eax]
|
||||
4ce6fa: mov dword ptr fs:[eax], esp
|
||||
4ce6fd: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce700: mov eax, dword ptr [eax + 0x300]
|
||||
4ce706: mov dword ptr [ebp - 0x28], eax
|
||||
4ce709: xor edx, edx
|
||||
4ce70b: push ebp
|
||||
4ce70c: push 0x4cec29
|
||||
4ce711: push dword ptr fs:[edx]
|
||||
4ce714: mov dword ptr fs:[edx], esp
|
||||
4ce717: mov eax, dword ptr [ebp - 0x28]
|
||||
4ce71a: call 0x407b9c ; RealGrid6!@Urgrids@TwCustomGrid@BeginUpdate$qqrv
|
||||
4ce71f: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce722: mov ebx, dword ptr [eax + 0x300]
|
||||
4ce728: xor eax, eax
|
||||
4ce72a: mov dword ptr [ebx + 0x4d0], eax
|
||||
4ce730: mov dword ptr [ebx + 0x4d4], eax
|
||||
4ce736: mov eax, ebx
|
||||
4ce738: call 0x407b74 ; RealGrid6!@Urgrids@TwCustomGrid@Editing$qqrv
|
||||
4ce73d: test al, al
|
||||
4ce73f: je 0x4ce749
|
||||
4ce741: mov eax, dword ptr [ebp - 0x28]
|
||||
4ce744: call 0x407c5c ; RealGrid6!@Urmgrid@TRealGrid@Post$qqrv
|
||||
4ce749: mov eax, dword ptr [0x5c7d84]
|
||||
4ce74f: mov dword ptr [ebp - 8], eax
|
||||
4ce752: mov eax, dword ptr [0x5c7d88]
|
||||
4ce758: mov dword ptr [ebp - 4], eax
|
||||
4ce75b: mov eax, dword ptr [0x5a74e4]
|
||||
4ce761: mov dword ptr [ebp - 0x10], eax
|
||||
4ce764: mov eax, dword ptr [0x5a74e8]
|
||||
4ce76a: mov dword ptr [ebp - 0xc], eax
|
||||
4ce76d: mov eax, 0x5e92fc
|
||||
4ce772: xor ecx, ecx
|
||||
4ce774: mov edx, 0x30
|
||||
4ce779: call 0x4010c0 ; rtl60!@System@@FillChar$qqrpvic
|
||||
4ce77e: mov eax, dword ptr [ebp - 0x28]
|
||||
4ce781: mov edx, dword ptr [eax]
|
||||
4ce783: call dword ptr [edx + 0x12c]
|
||||
4ce789: dec eax
|
||||
4ce78a: test eax, eax
|
||||
4ce78c: jl 0x4ce7dc
|
||||
4ce78e: inc eax
|
||||
4ce78f: mov dword ptr [ebp - 0x2c], eax
|
||||
4ce792: xor ebx, ebx
|
||||
4ce794: push ebp
|
||||
4ce795: mov eax, ebx
|
||||
4ce797: call 0x4ce2c8
|
||||
4ce79c: pop ecx
|
||||
4ce79d: mov dword ptr [ebp - 0x24], 4
|
||||
4ce7a4: mov eax, 0x5e92e8
|
||||
4ce7a9: mov esi, 0x5e9304
|
||||
4ce7ae: cmp ebx, dword ptr [eax]
|
||||
4ce7b0: jne 0x4ce7cb
|
||||
4ce7b2: mov ecx, ebx
|
||||
4ce7b4: mov edx, 6
|
||||
4ce7b9: mov eax, dword ptr [ebp - 0x28]
|
||||
4ce7bc: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce7c1: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce7c6: fstp qword ptr [esi]
|
||||
4ce7c8: wait
|
||||
4ce7c9: jmp 0x4ce7d6
|
||||
4ce7cb: add esi, 8
|
||||
4ce7ce: add eax, 4
|
||||
4ce7d1: dec dword ptr [ebp - 0x24]
|
||||
4ce7d4: jne 0x4ce7ae
|
||||
4ce7d6: inc ebx
|
||||
4ce7d7: dec dword ptr [ebp - 0x2c]
|
||||
4ce7da: jne 0x4ce794
|
||||
4ce7dc: xor eax, eax
|
||||
4ce7de: mov dword ptr [ebp - 0x20], eax
|
||||
4ce7e1: mov dword ptr [ebp - 0x1c], eax
|
||||
4ce7e4: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce7e7: mov eax, dword ptr [eax + 0x320]
|
||||
4ce7ed: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce7f2: test eax, eax
|
||||
4ce7f4: jne 0x4ce81e
|
||||
4ce7f6: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce7f9: mov eax, dword ptr [eax + 0x328]
|
||||
4ce7ff: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce804: test eax, eax
|
||||
4ce806: jne 0x4ce81e
|
||||
4ce808: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce80b: mov eax, dword ptr [eax + 0x330]
|
||||
4ce811: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce816: test eax, eax
|
||||
4ce818: je 0x4ce913
|
||||
4ce81e: push ebp
|
||||
4ce81f: call 0x4ce55c
|
||||
4ce824: pop ecx
|
||||
4ce825: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce828: mov eax, dword ptr [eax + 0x330]
|
||||
4ce82e: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce833: test eax, eax
|
||||
4ce835: je 0x4ce913
|
||||
4ce83b: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce83e: mov eax, dword ptr [eax + 0x320]
|
||||
4ce844: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce849: dec eax
|
||||
4ce84a: jne 0x4ce913
|
||||
4ce850: jmp 0x4ce8c0
|
||||
4ce852: xor eax, eax
|
||||
4ce854: mov dword ptr [ebp - 0x20], eax
|
||||
4ce857: mov dword ptr [ebp - 0x1c], 0x3ff00000
|
||||
4ce85e: mov ecx, dword ptr [0x5e92e4]
|
||||
4ce864: mov edx, 6
|
||||
4ce869: mov eax, dword ptr [ebp - 0x28]
|
||||
4ce86c: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce871: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce876: fstp qword ptr [ebp - 8]
|
||||
4ce879: wait
|
||||
4ce87a: mov ecx, dword ptr [0x5e92e4]
|
||||
4ce880: mov edx, 8
|
||||
4ce885: mov eax, dword ptr [ebp - 0x28]
|
||||
4ce888: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce88d: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce892: fstp qword ptr [ebp - 0x10]
|
||||
4ce895: wait
|
||||
4ce896: mov ebx, dword ptr [0x5e92e4]
|
||||
4ce89c: inc ebx
|
||||
4ce89d: mov eax, dword ptr [ebp - 0x28]
|
||||
4ce8a0: mov edx, dword ptr [eax]
|
||||
4ce8a2: call dword ptr [edx + 0x12c]
|
||||
4ce8a8: dec eax
|
||||
4ce8a9: sub eax, ebx
|
||||
4ce8ab: jl 0x4ce8c0
|
||||
4ce8ad: inc eax
|
||||
4ce8ae: mov dword ptr [ebp - 0x2c], eax
|
||||
4ce8b1: push ebp
|
||||
4ce8b2: mov eax, ebx
|
||||
4ce8b4: call 0x4ce2c8
|
||||
4ce8b9: pop ecx
|
||||
4ce8ba: inc ebx
|
||||
4ce8bb: dec dword ptr [ebp - 0x2c]
|
||||
4ce8be: jne 0x4ce8b1
|
||||
4ce8c0: mov ecx, dword ptr [0x5e92f4]
|
||||
4ce8c6: mov edx, 6
|
||||
4ce8cb: mov eax, dword ptr [ebp - 0x28]
|
||||
4ce8ce: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4ce8d3: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ce8d8: fstp qword ptr [ebp - 0x34]
|
||||
4ce8db: wait
|
||||
4ce8dc: push 0
|
||||
4ce8de: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce8e1: mov eax, dword ptr [eax + 0x330]
|
||||
4ce8e7: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4ce8ec: neg eax
|
||||
4ce8ee: push eax
|
||||
4ce8ef: fld qword ptr [0x5e931c]
|
||||
4ce8f5: add esp, -0xc
|
||||
4ce8f8: fstp xword ptr [esp]
|
||||
4ce8fb: wait
|
||||
4ce8fc: call 0x4091b0 ; DP_COMMON!MROUNDUD
|
||||
4ce901: fsubr qword ptr [ebp - 0x34]
|
||||
4ce904: call 0x401068 ; rtl60!@System@@ROUND$qqrv
|
||||
4ce909: dec eax
|
||||
4ce90a: sub eax, 0xa
|
||||
4ce90d: jb 0x4ce852
|
||||
4ce913: mov eax, dword ptr [ebp - 0x28]
|
||||
4ce916: call 0x407c5c ; RealGrid6!@Urmgrid@TRealGrid@Post$qqrv
|
||||
4ce91b: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce91e: call 0x4cac0c
|
||||
4ce923: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce926: mov eax, dword ptr [eax + 0x310]
|
||||
4ce92c: mov eax, dword ptr [eax + 0x68]
|
||||
4ce92f: xor edx, edx
|
||||
4ce931: call 0x401fac ; vcl60!@Graphics@TFont@SetColor$qqr15Graphics@TColor
|
||||
4ce936: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce939: mov eax, dword ptr [eax + 0x310]
|
||||
4ce93f: mov eax, dword ptr [eax + 0x68]
|
||||
4ce942: mov dl, byte ptr [0x4cec58]
|
||||
4ce948: call 0x401fcc ; vcl60!@Graphics@TFont@SetStyle$qqr47System@%Set$t19Graphics@TFontStyle$iuc$0$iuc$3%
|
||||
4ce94d: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce950: mov eax, dword ptr [eax + 0x310]
|
||||
4ce956: xor edx, edx
|
||||
4ce958: mov ecx, dword ptr [eax]
|
||||
4ce95a: call dword ptr [ecx + 0x64]
|
||||
4ce95d: fld qword ptr [0x59744c]
|
||||
4ce963: add esp, -0xc
|
||||
4ce966: fstp xword ptr [esp]
|
||||
4ce969: wait
|
||||
4ce96a: lea edx, [ebp - 0x38]
|
||||
4ce96d: mov eax, 0x4cec64 ; '#,#'
|
||||
4ce972: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4ce977: mov eax, dword ptr [ebp - 0x38]
|
||||
4ce97a: push eax
|
||||
4ce97b: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce97e: mov eax, dword ptr [eax + 0x2f4]
|
||||
4ce984: mov eax, dword ptr [eax + 0x208]
|
||||
4ce98a: mov edx, 1
|
||||
4ce98f: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ce994: pop edx
|
||||
4ce995: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ce99a: fld qword ptr [0x5b7cec]
|
||||
4ce9a0: add esp, -0xc
|
||||
4ce9a3: fstp xword ptr [esp]
|
||||
4ce9a6: wait
|
||||
4ce9a7: lea edx, [ebp - 0x3c]
|
||||
4ce9aa: mov eax, 0x4cec64 ; '#,#'
|
||||
4ce9af: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4ce9b4: mov eax, dword ptr [ebp - 0x3c]
|
||||
4ce9b7: push eax
|
||||
4ce9b8: mov eax, dword ptr [ebp - 0x14]
|
||||
4ce9bb: mov eax, dword ptr [eax + 0x2f4]
|
||||
4ce9c1: mov eax, dword ptr [eax + 0x208]
|
||||
4ce9c7: mov edx, 2
|
||||
4ce9cc: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ce9d1: pop edx
|
||||
4ce9d2: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ce9d7: fld qword ptr [0x59744c]
|
||||
4ce9dd: fcomp dword ptr [0x4cec58] ; =0.0
|
||||
4ce9e3: fnstsw ax
|
||||
4ce9e5: sahf
|
||||
4ce9e6: jne 0x4cea20
|
||||
4ce9e8: push 0
|
||||
4ce9ea: push 0
|
||||
4ce9ec: push 0
|
||||
4ce9ee: lea edx, [ebp - 0x40]
|
||||
4ce9f1: mov eax, 0x4cec70 ; '0.00%;;#'
|
||||
4ce9f6: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4ce9fb: mov eax, dword ptr [ebp - 0x40]
|
||||
4ce9fe: push eax
|
||||
4ce9ff: mov eax, dword ptr [ebp - 0x14]
|
||||
4cea02: mov eax, dword ptr [eax + 0x2f4]
|
||||
4cea08: mov eax, dword ptr [eax + 0x208]
|
||||
4cea0e: mov edx, 3
|
||||
4cea13: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4cea18: pop edx
|
||||
4cea19: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4cea1e: jmp 0x4cea69
|
||||
4cea20: fld qword ptr [0x5b7cec]
|
||||
4cea26: fdiv qword ptr [0x59744c]
|
||||
4cea2c: fmul dword ptr [0x4cec7c] ; =100.0
|
||||
4cea32: add esp, -0xc
|
||||
4cea35: fstp xword ptr [esp]
|
||||
4cea38: wait
|
||||
4cea39: lea edx, [ebp - 0x44]
|
||||
4cea3c: mov eax, 0x4cec70 ; '0.00%;;#'
|
||||
4cea41: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4cea46: mov eax, dword ptr [ebp - 0x44]
|
||||
4cea49: push eax
|
||||
4cea4a: mov eax, dword ptr [ebp - 0x14]
|
||||
4cea4d: mov eax, dword ptr [eax + 0x2f4]
|
||||
4cea53: mov eax, dword ptr [eax + 0x208]
|
||||
4cea59: mov edx, 3
|
||||
4cea5e: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4cea63: pop edx
|
||||
4cea64: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4cea69: fld qword ptr [ebp - 8]
|
||||
4cea6c: add esp, -0xc
|
||||
4cea6f: fstp xword ptr [esp]
|
||||
4cea72: wait
|
||||
4cea73: lea edx, [ebp - 0x48]
|
||||
4cea76: mov eax, 0x4cec64 ; '#,#'
|
||||
4cea7b: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4cea80: mov eax, dword ptr [ebp - 0x48]
|
||||
4cea83: push eax
|
||||
4cea84: mov eax, dword ptr [ebp - 0x14]
|
||||
4cea87: mov eax, dword ptr [eax + 0x2f4]
|
||||
4cea8d: mov eax, dword ptr [eax + 0x208]
|
||||
4cea93: mov edx, 4
|
||||
4cea98: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4cea9d: pop edx
|
||||
4cea9e: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ceaa3: fld qword ptr [0x59744c]
|
||||
4ceaa9: fcomp dword ptr [0x4cec58] ; =0.0
|
||||
4ceaaf: fnstsw ax
|
||||
4ceab1: sahf
|
||||
4ceab2: jne 0x4ceaec
|
||||
4ceab4: push 0
|
||||
4ceab6: push 0
|
||||
4ceab8: push 0
|
||||
4ceaba: lea edx, [ebp - 0x4c]
|
||||
4ceabd: mov eax, 0x4cec70 ; '0.00%;;#'
|
||||
4ceac2: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4ceac7: mov eax, dword ptr [ebp - 0x4c]
|
||||
4ceaca: push eax
|
||||
4ceacb: mov eax, dword ptr [ebp - 0x14]
|
||||
4ceace: mov eax, dword ptr [eax + 0x2f4]
|
||||
4cead4: mov eax, dword ptr [eax + 0x208]
|
||||
4ceada: mov edx, 5
|
||||
4ceadf: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ceae4: pop edx
|
||||
4ceae5: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ceaea: jmp 0x4ceb32
|
||||
4ceaec: fld qword ptr [ebp - 8]
|
||||
4ceaef: fdiv qword ptr [0x59744c]
|
||||
4ceaf5: fmul dword ptr [0x4cec7c] ; =100.0
|
||||
4ceafb: add esp, -0xc
|
||||
4ceafe: fstp xword ptr [esp]
|
||||
4ceb01: wait
|
||||
4ceb02: lea edx, [ebp - 0x50]
|
||||
4ceb05: mov eax, 0x4cec70 ; '0.00%;;#'
|
||||
4ceb0a: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4ceb0f: mov eax, dword ptr [ebp - 0x50]
|
||||
4ceb12: push eax
|
||||
4ceb13: mov eax, dword ptr [ebp - 0x14]
|
||||
4ceb16: mov eax, dword ptr [eax + 0x2f4]
|
||||
4ceb1c: mov eax, dword ptr [eax + 0x208]
|
||||
4ceb22: mov edx, 5
|
||||
4ceb27: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ceb2c: pop edx
|
||||
4ceb2d: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ceb32: fld qword ptr [ebp - 0x10]
|
||||
4ceb35: add esp, -0xc
|
||||
4ceb38: fstp xword ptr [esp]
|
||||
4ceb3b: wait
|
||||
4ceb3c: lea edx, [ebp - 0x54]
|
||||
4ceb3f: mov eax, 0x4cec64 ; '#,#'
|
||||
4ceb44: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4ceb49: mov eax, dword ptr [ebp - 0x54]
|
||||
4ceb4c: push eax
|
||||
4ceb4d: mov eax, dword ptr [ebp - 0x14]
|
||||
4ceb50: mov eax, dword ptr [eax + 0x2f4]
|
||||
4ceb56: mov eax, dword ptr [eax + 0x208]
|
||||
4ceb5c: mov edx, 6
|
||||
4ceb61: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ceb66: pop edx
|
||||
4ceb67: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ceb6c: fld qword ptr [0x59744c]
|
||||
4ceb72: fcomp dword ptr [0x4cec58] ; =0.0
|
||||
4ceb78: fnstsw ax
|
||||
4ceb7a: sahf
|
||||
4ceb7b: jne 0x4cebb5
|
||||
4ceb7d: push 0
|
||||
4ceb7f: push 0
|
||||
4ceb81: push 0
|
||||
4ceb83: lea edx, [ebp - 0x58]
|
||||
4ceb86: mov eax, 0x4cec70 ; '0.00%;;#'
|
||||
4ceb8b: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4ceb90: mov eax, dword ptr [ebp - 0x58]
|
||||
4ceb93: push eax
|
||||
4ceb94: mov eax, dword ptr [ebp - 0x14]
|
||||
4ceb97: mov eax, dword ptr [eax + 0x2f4]
|
||||
4ceb9d: mov eax, dword ptr [eax + 0x208]
|
||||
4ceba3: mov edx, 7
|
||||
4ceba8: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4cebad: pop edx
|
||||
4cebae: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4cebb3: jmp 0x4cebfb
|
||||
4cebb5: fld qword ptr [ebp - 0x10]
|
||||
4cebb8: fdiv qword ptr [0x59744c]
|
||||
4cebbe: fmul dword ptr [0x4cec7c] ; =100.0
|
||||
4cebc4: add esp, -0xc
|
||||
4cebc7: fstp xword ptr [esp]
|
||||
4cebca: wait
|
||||
4cebcb: lea edx, [ebp - 0x5c]
|
||||
4cebce: mov eax, 0x4cec70 ; '0.00%;;#'
|
||||
4cebd3: call 0x401a84 ; rtl60!@Sysutils@FormatFloat$qqrx17System@AnsiStringg
|
||||
4cebd8: mov eax, dword ptr [ebp - 0x5c]
|
||||
4cebdb: push eax
|
||||
4cebdc: mov eax, dword ptr [ebp - 0x14]
|
||||
4cebdf: mov eax, dword ptr [eax + 0x2f4]
|
||||
4cebe5: mov eax, dword ptr [eax + 0x208]
|
||||
4cebeb: mov edx, 7
|
||||
4cebf0: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4cebf5: pop edx
|
||||
4cebf6: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4cebfb: xor eax, eax
|
||||
4cebfd: pop edx
|
||||
4cebfe: pop ecx
|
||||
4cebff: pop ecx
|
||||
4cec00: mov dword ptr fs:[eax], edx
|
||||
4cec03: push 0x4cec30
|
||||
4cec08: mov eax, dword ptr [ebp - 0x28]
|
||||
4cec0b: mov edx, dword ptr [ebp - 0x14]
|
||||
4cec0e: mov dword ptr [eax + 0x4d4], edx
|
||||
4cec14: mov dword ptr [eax + 0x4d0], 0x4cec80
|
||||
4cec1e: mov dl, 1
|
||||
4cec20: mov eax, dword ptr [ebp - 0x28]
|
||||
4cec23: call 0x407ba4 ; RealGrid6!@Urgrids@TwCustomGrid@EndUpdate$qqro
|
||||
4cec28: ret
|
||||
4cec29: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4cec2e: jmp 0x4cec08
|
||||
4cec30: xor eax, eax
|
||||
4cec32: pop edx
|
||||
4cec33: pop ecx
|
||||
4cec34: pop ecx
|
||||
4cec35: mov dword ptr fs:[eax], edx
|
||||
4cec38: push 0x4cec52
|
||||
4cec3d: lea eax, [ebp - 0x5c]
|
||||
4cec40: mov edx, 0xa
|
||||
4cec45: call 0x4011e8 ; rtl60!@System@@LStrArrayClr$qqrpvi
|
||||
4cec4a: ret
|
||||
4cec4b: jmp 0x401190 ; rtl60!@System@@HandleFinally$qqrv
|
||||
4cec50: jmp 0x4cec3d
|
||||
4cec52: pop esi
|
||||
4cec53: pop ebx
|
||||
4cec54: mov esp, ebp
|
||||
4cec56: pop ebp
|
||||
4cec57: ret
|
||||
4cec58: add byte ptr [eax], al
|
||||
4cec5a: add byte ptr [eax], al
|
||||
4cec5c: .byte 0xff
|
||||
4cec5d: .byte 0xff
|
||||
4cec5e: .byte 0xff
|
||||
4cec5f: inc dword ptr [ebx]
|
||||
4cec61: add byte ptr [eax], al
|
||||
4cec63: add byte ptr [ebx], ah
|
||||
4cec65: sub al, 0x23
|
||||
4cec67: add bh, bh
|
||||
4cec69: .byte 0xff
|
||||
4cec6a: .byte 0xff
|
||||
4cec6b: dec dword ptr [eax]
|
||||
4cec6d: add byte ptr [eax], al
|
||||
4cec6f: add byte ptr [eax], dh
|
||||
4cec71: xor byte ptr cs:[eax], dh
|
||||
4cec74: and eax, 0x233b3b
|
||||
4cec79: add byte ptr [eax], al
|
||||
4cec7b: add byte ptr [eax], al
|
||||
4cec7d: add al, cl
|
||||
4cec7f: inc edx
|
||||
+251
@@ -0,0 +1,251 @@
|
||||
4cec80: push ebx
|
||||
4cec81: push esi
|
||||
4cec82: add esp, -8
|
||||
4cec85: mov ebx, eax
|
||||
4cec87: mov esi, dword ptr [ebx + 0x300]
|
||||
4cec8d: mov ecx, dword ptr [esi + 0x444]
|
||||
4cec93: mov edx, 4
|
||||
4cec98: mov eax, esi
|
||||
4cec9a: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cec9f: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4ceca4: fstp qword ptr [esp]
|
||||
4ceca7: wait
|
||||
4ceca8: mov ecx, dword ptr [esi + 0x444]
|
||||
4cecae: mov edx, 6
|
||||
4cecb3: mov eax, esi
|
||||
4cecb5: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cecba: call 0x407c0c ; RealGrid6!@Urmgrid@TwCells@GetFloat$qqrv
|
||||
4cecbf: fadd qword ptr [esp]
|
||||
4cecc2: add esp, -8
|
||||
4cecc5: fstp qword ptr [esp]
|
||||
4cecc8: wait
|
||||
4cecc9: mov ecx, dword ptr [esi + 0x444]
|
||||
4ceccf: mov edx, 8
|
||||
4cecd4: mov eax, esi
|
||||
4cecd6: call 0x407c2c ; RealGrid6!@Urmgrid@TRealGrid@GetCells$qqrii
|
||||
4cecdb: call 0x407c14 ; RealGrid6!@Urmgrid@TwCells@SetFloat$qqrd
|
||||
4cece0: mov eax, dword ptr [ebx + 0x310]
|
||||
4cece6: mov eax, dword ptr [eax + 0x68]
|
||||
4cece9: mov edx, 0xff0000
|
||||
4cecee: call 0x401fac ; vcl60!@Graphics@TFont@SetColor$qqr15Graphics@TColor
|
||||
4cecf3: mov eax, dword ptr [ebx + 0x310]
|
||||
4cecf9: mov eax, dword ptr [eax + 0x68]
|
||||
4cecfc: mov dl, byte ptr [0x4ced94]
|
||||
4ced02: call 0x401fcc ; vcl60!@Graphics@TFont@SetStyle$qqr47System@%Set$t19Graphics@TFontStyle$iuc$0$iuc$3%
|
||||
4ced07: mov dl, 1
|
||||
4ced09: mov eax, dword ptr [ebx + 0x310]
|
||||
4ced0f: mov ecx, dword ptr [eax]
|
||||
4ced11: call dword ptr [ecx + 0x64]
|
||||
4ced14: mov eax, dword ptr [ebx + 0x2f4]
|
||||
4ced1a: mov eax, dword ptr [eax + 0x208]
|
||||
4ced20: mov edx, 4
|
||||
4ced25: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ced2a: mov edx, 0x4ceda0 ; '계산안됨'
|
||||
4ced2f: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ced34: mov eax, dword ptr [ebx + 0x2f4]
|
||||
4ced3a: mov eax, dword ptr [eax + 0x208]
|
||||
4ced40: mov edx, 5
|
||||
4ced45: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ced4a: xor edx, edx
|
||||
4ced4c: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ced51: mov eax, dword ptr [ebx + 0x2f4]
|
||||
4ced57: mov eax, dword ptr [eax + 0x208]
|
||||
4ced5d: mov edx, 6
|
||||
4ced62: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ced67: mov edx, 0x4ceda0 ; '계산안됨'
|
||||
4ced6c: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ced71: mov eax, dword ptr [ebx + 0x2f4]
|
||||
4ced77: mov eax, dword ptr [eax + 0x208]
|
||||
4ced7d: mov edx, 7
|
||||
4ced82: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ced87: xor edx, edx
|
||||
4ced89: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ced8e: pop ecx
|
||||
4ced8f: pop edx
|
||||
4ced90: pop esi
|
||||
4ced91: pop ebx
|
||||
4ced92: ret
|
||||
4ced93: add byte ptr [ecx], al
|
||||
4ced95: add byte ptr [eax], al
|
||||
4ced97: add bh, bh
|
||||
4ced99: .byte 0xff
|
||||
4ced9a: .byte 0xff
|
||||
4ced9b: dec dword ptr [eax]
|
||||
4ced9d: add byte ptr [eax], al
|
||||
4ced9f: add byte ptr [eax - 0x41154418], dh
|
||||
4ceda5: enter -0x354b, 0
|
||||
4ceda9: add byte ptr [eax], al
|
||||
4cedab: add byte ptr [ebp - 0x75], dl
|
||||
4cedae: in al, dx
|
||||
4cedaf: push ebx
|
||||
4cedb0: push esi
|
||||
4cedb1: mov esi, ecx
|
||||
4cedb3: mov ebx, eax
|
||||
4cedb5: cmp word ptr [esi], 0xd
|
||||
4cedb9: jne 0x4cedfc
|
||||
4cedbb: mov eax, dword ptr [ebx + 0x300]
|
||||
4cedc1: call 0x407b8c ; RealGrid6!@Urgrids@TwCustomGrid@GetSelectedIndex$qqrv
|
||||
4cedc6: cmp eax, 6
|
||||
4cedc9: je 0x4cede2
|
||||
4cedcb: mov edx, 6
|
||||
4cedd0: mov eax, dword ptr [ebx + 0x300]
|
||||
4cedd6: call 0x407b94 ; RealGrid6!@Urgrids@TwCustomGrid@SetSelectedIndex$qqri
|
||||
4ceddb: mov word ptr [esi], 0
|
||||
4cede0: jmp 0x4cedfc
|
||||
4cede2: mov eax, dword ptr [ebx + 0x300]
|
||||
4cede8: call 0x407b74 ; RealGrid6!@Urgrids@TwCustomGrid@Editing$qqrv
|
||||
4ceded: test al, al
|
||||
4cedef: je 0x4cedfc
|
||||
4cedf1: mov eax, dword ptr [ebx + 0x300]
|
||||
4cedf7: call 0x407c5c ; RealGrid6!@Urmgrid@TRealGrid@Post$qqrv
|
||||
4cedfc: pop esi
|
||||
4cedfd: pop ebx
|
||||
4cedfe: pop ebp
|
||||
4cedff: ret 4
|
||||
4cee02: mov eax, eax
|
||||
4cee04: push ebx
|
||||
4cee05: push esi
|
||||
4cee06: mov ebx, eax
|
||||
4cee08: mov eax, dword ptr [ebx + 0x310]
|
||||
4cee0e: mov edx, dword ptr [eax]
|
||||
4cee10: call dword ptr [edx + 0x50]
|
||||
4cee13: test al, al
|
||||
4cee15: je 0x4cee26
|
||||
4cee17: mov eax, dword ptr [ebx + 0x310]
|
||||
4cee1d: mov si, 0xffeb
|
||||
4cee21: call 0x401130 ; rtl60!@System@@CallDynaInst$qqrv
|
||||
4cee26: pop esi
|
||||
4cee27: pop ebx
|
||||
4cee28: ret
|
||||
4cee29: lea eax, [eax]
|
||||
4cee2c: push ebp
|
||||
4cee2d: mov ebp, esp
|
||||
4cee2f: mov dx, word ptr [ecx]
|
||||
4cee32: sub dx, 0x70
|
||||
4cee36: jne 0x4cee4a
|
||||
4cee38: mov ecx, dword ptr [eax + 0x220]
|
||||
4cee3e: mov edx, eax
|
||||
4cee40: mov eax, 0x4cee58 ; 'STHelp.Chm'
|
||||
4cee45: call 0x431a18
|
||||
4cee4a: pop ebp
|
||||
4cee4b: ret 4
|
||||
4cee4e: add byte ptr [eax], al
|
||||
4cee50: .byte 0xff
|
||||
4cee51: .byte 0xff
|
||||
4cee52: .byte 0xff
|
||||
4cee53: dec dword ptr [edx]
|
||||
4cee55: add byte ptr [eax], al
|
||||
4cee57: add byte ptr [ebx + 0x54], dl
|
||||
4cee5a: dec eax
|
||||
4cee5b: insb byte ptr es:[edi], dx
|
||||
4cee5d: jo 0x4cee8d
|
||||
4cee5f: inc ebx
|
||||
4cee60: push 0x5300006d
|
||||
4cee65: push esi
|
||||
4cee66: push edi
|
||||
4cee67: mov esi, edx
|
||||
4cee69: mov ebx, eax
|
||||
4cee6b: mov eax, esi
|
||||
4cee6d: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4cee72: test eax, eax
|
||||
4cee74: je 0x4cef28
|
||||
4cee7a: mov eax, dword ptr [ebx + 0x310]
|
||||
4cee80: mov eax, dword ptr [eax + 0x68]
|
||||
4cee83: mov edx, 0xff0000
|
||||
4cee88: call 0x401fac ; vcl60!@Graphics@TFont@SetColor$qqr15Graphics@TColor
|
||||
4cee8d: mov eax, dword ptr [ebx + 0x310]
|
||||
4cee93: mov eax, dword ptr [eax + 0x68]
|
||||
4cee96: mov dl, byte ptr [0x4cef90]
|
||||
4cee9c: call 0x401fcc ; vcl60!@Graphics@TFont@SetStyle$qqr47System@%Set$t19Graphics@TFontStyle$iuc$0$iuc$3%
|
||||
4ceea1: mov dl, 1
|
||||
4ceea3: mov eax, dword ptr [ebx + 0x310]
|
||||
4ceea9: mov ecx, dword ptr [eax]
|
||||
4ceeab: call dword ptr [ecx + 0x64]
|
||||
4ceeae: mov eax, dword ptr [ebx + 0x2f4]
|
||||
4ceeb4: mov eax, dword ptr [eax + 0x208]
|
||||
4ceeba: mov edx, 4
|
||||
4ceebf: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ceec4: mov edx, 0x4cef9c ; '계산안됨'
|
||||
4ceec9: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ceece: mov eax, dword ptr [ebx + 0x2f4]
|
||||
4ceed4: mov eax, dword ptr [eax + 0x208]
|
||||
4ceeda: mov edx, 5
|
||||
4ceedf: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4ceee4: xor edx, edx
|
||||
4ceee6: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4ceeeb: mov eax, dword ptr [ebx + 0x2f4]
|
||||
4ceef1: mov eax, dword ptr [eax + 0x208]
|
||||
4ceef7: mov edx, 6
|
||||
4ceefc: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4cef01: mov edx, 0x4cef9c ; '계산안됨'
|
||||
4cef06: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4cef0b: mov eax, dword ptr [ebx + 0x2f4]
|
||||
4cef11: mov eax, dword ptr [eax + 0x208]
|
||||
4cef17: mov edx, 7
|
||||
4cef1c: call 0x402f8c ; vcl60!@Comctrls@TStatusPanels@GetItem$qqri
|
||||
4cef21: xor edx, edx
|
||||
4cef23: call 0x402f84 ; vcl60!@Comctrls@TStatusPanel@SetText$qqrx17System@AnsiString
|
||||
4cef28: mov edi, dword ptr [ebx + 0x328]
|
||||
4cef2e: cmp esi, edi
|
||||
4cef30: jne 0x4cef67
|
||||
4cef32: mov eax, edi
|
||||
4cef34: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4cef39: test eax, eax
|
||||
4cef3b: sete dl
|
||||
4cef3e: mov eax, dword ptr [ebx + 0x330]
|
||||
4cef44: mov ecx, dword ptr [eax]
|
||||
4cef46: call dword ptr [ecx + 0x64]
|
||||
4cef49: mov eax, dword ptr [ebx + 0x328]
|
||||
4cef4f: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4cef54: test eax, eax
|
||||
4cef56: je 0x4cef89
|
||||
4cef58: xor edx, edx
|
||||
4cef5a: mov eax, dword ptr [ebx + 0x330]
|
||||
4cef60: call 0x402fe4 ; RealGridEX6!@Urcombos@TwCombo@SetInteger$qqri
|
||||
4cef65: jmp 0x4cef89
|
||||
4cef67: mov edi, dword ptr [ebx + 0x330]
|
||||
4cef6d: cmp esi, edi
|
||||
4cef6f: jne 0x4cef89
|
||||
4cef71: mov eax, edi
|
||||
4cef73: call 0x402fdc ; RealGridEX6!@Urcombos@TwCombo@GetInteger$qqrv
|
||||
4cef78: test eax, eax
|
||||
4cef7a: je 0x4cef89
|
||||
4cef7c: xor edx, edx
|
||||
4cef7e: mov eax, dword ptr [ebx + 0x328]
|
||||
4cef84: call 0x402fe4 ; RealGridEX6!@Urcombos@TwCombo@SetInteger$qqri
|
||||
4cef89: pop edi
|
||||
4cef8a: pop esi
|
||||
4cef8b: pop ebx
|
||||
4cef8c: ret
|
||||
4cef8d: add byte ptr [eax], al
|
||||
4cef8f: add byte ptr [ecx], al
|
||||
4cef91: add byte ptr [eax], al
|
||||
4cef93: add bh, bh
|
||||
4cef95: .byte 0xff
|
||||
4cef96: .byte 0xff
|
||||
4cef97: dec dword ptr [eax]
|
||||
4cef99: add byte ptr [eax], al
|
||||
4cef9b: add byte ptr [eax - 0x41154418], dh
|
||||
4cefa1: enter -0x354b, 0
|
||||
4cefa5: add byte ptr [eax], al
|
||||
4cefa7: add byte ptr [ebp - 0x75], dl
|
||||
4cefaa: in al, dx
|
||||
4cefab: push ebx
|
||||
4cefac: push esi
|
||||
4cefad: mov esi, edx
|
||||
4cefaf: mov ebx, eax
|
||||
4cefb1: cmp word ptr [ecx], 0xd
|
||||
4cefb5: jne 0x4cefd1
|
||||
4cefb7: push 1
|
||||
4cefb9: mov eax, esi
|
||||
4cefbb: mov edx, dword ptr [0x5eb6f4] ; [vcl60!@Controls@TWinControl@]
|
||||
4cefc1: call 0x401128 ; rtl60!@System@@AsClass$qqrp14System@TObjectp17System@TMetaClass
|
||||
4cefc6: mov edx, eax
|
||||
4cefc8: mov cl, 1
|
||||
4cefca: mov eax, ebx
|
||||
4cefcc: call 0x402a8c ; vcl60!@Controls@TWinControl@SelectNext$qqrp20Controls@TWinControloo
|
||||
4cefd1: pop esi
|
||||
4cefd2: pop ebx
|
||||
4cefd3: pop ebp
|
||||
4cefd4: ret 4
|
||||
4cefd7: nop
|
||||
+577
@@ -0,0 +1,577 @@
|
||||
55c7af: lea eax, [ebp - 0x828]
|
||||
55c7b5: mov edx, 1
|
||||
55c7ba: mov cl, 1
|
||||
55c7bc: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55c7c1: lea ecx, [ebp - 0x828]
|
||||
55c7c7: mov edx, 0x55f8a4 ; 'RS'
|
||||
55c7cc: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c7cf: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c7d4: lea ecx, [ebp - 0x838]
|
||||
55c7da: mov edx, 0x55f5c8 ; 'QTY1'
|
||||
55c7df: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c7e2: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c7e7: lea ecx, [ebp - 0x838]
|
||||
55c7ed: mov edx, 0x55f8b0 ; 'QTY2'
|
||||
55c7f2: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c7f5: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c7fa: lea ecx, [ebp - 0x848]
|
||||
55c800: mov edx, 0x55f5c8 ; 'QTY1'
|
||||
55c805: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c808: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c80d: lea ecx, [ebp - 0x848]
|
||||
55c813: mov edx, 0x55f8c0 ; 'QTY3'
|
||||
55c818: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c81b: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c820: lea ecx, [ebp - 0x858]
|
||||
55c826: mov edx, 0x55f8d0 ; 'MAMT1'
|
||||
55c82b: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c82e: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c833: lea ecx, [ebp - 0x858]
|
||||
55c839: mov edx, 0x55f8e0 ; 'MAMT2'
|
||||
55c83e: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c841: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c846: lea ecx, [ebp - 0x868]
|
||||
55c84c: mov edx, 0x55f8f0 ; 'LAMT1'
|
||||
55c851: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c854: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c859: lea ecx, [ebp - 0x868]
|
||||
55c85f: mov edx, 0x55f900 ; 'LAMT2'
|
||||
55c864: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c867: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c86c: lea ecx, [ebp - 0x878]
|
||||
55c872: mov edx, 0x55f910 ; 'SAMT1'
|
||||
55c877: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c87a: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c87f: lea ecx, [ebp - 0x878]
|
||||
55c885: mov edx, 0x55f920 ; 'SAMT2'
|
||||
55c88a: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c88d: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c892: lea ecx, [ebp - 0x888]
|
||||
55c898: mov edx, 0x55f930 ; 'TAMT1'
|
||||
55c89d: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c8a0: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c8a5: lea ecx, [ebp - 0x888]
|
||||
55c8ab: mov edx, 0x55f940 ; 'TAMT2'
|
||||
55c8b0: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c8b3: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c8b8: lea ecx, [ebp - 0x898]
|
||||
55c8be: mov edx, 0x55f950 ; 'M_AMT1'
|
||||
55c8c3: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c8c6: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c8cb: lea ecx, [ebp - 0x898]
|
||||
55c8d1: mov edx, 0x55f960 ; 'M_AMT2'
|
||||
55c8d6: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c8d9: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c8de: lea ecx, [ebp - 0x8a8]
|
||||
55c8e4: mov edx, 0x55f970 ; 'L_AMT1'
|
||||
55c8e9: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c8ec: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c8f1: lea ecx, [ebp - 0x8a8]
|
||||
55c8f7: mov edx, 0x55f980 ; 'L_AMT2'
|
||||
55c8fc: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c8ff: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c904: lea ecx, [ebp - 0x8b8]
|
||||
55c90a: mov edx, 0x55f990 ; 'S_AMT1'
|
||||
55c90f: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c912: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c917: lea ecx, [ebp - 0x8b8]
|
||||
55c91d: mov edx, 0x55f9a0 ; 'S_AMT2'
|
||||
55c922: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c925: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c92a: lea ecx, [ebp - 0x8c8]
|
||||
55c930: mov edx, 0x55f9b0 ; 'T_AMT1'
|
||||
55c935: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c938: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c93d: lea ecx, [ebp - 0x8c8]
|
||||
55c943: mov edx, 0x55f9c0 ; 'T_AMT2'
|
||||
55c948: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c94b: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c950: lea ecx, [ebp - 0x8d8]
|
||||
55c956: mov edx, 0x55f8d0 ; 'MAMT1'
|
||||
55c95b: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c95e: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c963: lea ecx, [ebp - 0x8d8]
|
||||
55c969: mov edx, 0x55f9d0 ; 'MAMT3'
|
||||
55c96e: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c971: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c976: lea ecx, [ebp - 0x8e8]
|
||||
55c97c: mov edx, 0x55f8f0 ; 'LAMT1'
|
||||
55c981: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c984: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c989: lea ecx, [ebp - 0x8e8]
|
||||
55c98f: mov edx, 0x55f9e0 ; 'LAMT3'
|
||||
55c994: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c997: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c99c: lea ecx, [ebp - 0x8f8]
|
||||
55c9a2: mov edx, 0x55f910 ; 'SAMT1'
|
||||
55c9a7: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c9aa: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c9af: lea ecx, [ebp - 0x8f8]
|
||||
55c9b5: mov edx, 0x55f9f0 ; 'SAMT3'
|
||||
55c9ba: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c9bd: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c9c2: lea ecx, [ebp - 0x908]
|
||||
55c9c8: mov edx, 0x55f930 ; 'TAMT1'
|
||||
55c9cd: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c9d0: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c9d5: lea ecx, [ebp - 0x908]
|
||||
55c9db: mov edx, 0x55fa00 ; 'TAMT3'
|
||||
55c9e0: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c9e3: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55c9e8: lea ecx, [ebp - 0x918]
|
||||
55c9ee: mov edx, 0x55f950 ; 'M_AMT1'
|
||||
55c9f3: mov eax, dword ptr [ebp - 0x2c]
|
||||
55c9f6: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55c9fb: lea ecx, [ebp - 0x918]
|
||||
55ca01: mov edx, 0x55fa10 ; 'M_AMT3'
|
||||
55ca06: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ca09: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55ca0e: lea ecx, [ebp - 0x928]
|
||||
55ca14: mov edx, 0x55f970 ; 'L_AMT1'
|
||||
55ca19: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ca1c: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55ca21: lea ecx, [ebp - 0x928]
|
||||
55ca27: mov edx, 0x55fa20 ; 'L_AMT3'
|
||||
55ca2c: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ca2f: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55ca34: lea ecx, [ebp - 0x938]
|
||||
55ca3a: mov edx, 0x55f990 ; 'S_AMT1'
|
||||
55ca3f: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ca42: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55ca47: lea ecx, [ebp - 0x938]
|
||||
55ca4d: mov edx, 0x55fa30 ; 'S_AMT3'
|
||||
55ca52: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ca55: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55ca5a: lea ecx, [ebp - 0x948]
|
||||
55ca60: mov edx, 0x55f9b0 ; 'T_AMT1'
|
||||
55ca65: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ca68: call 0x403d00 ; dbrtl60!@Db@TDataSet@GetFieldValue$qqrx17System@AnsiString
|
||||
55ca6d: lea ecx, [ebp - 0x948]
|
||||
55ca73: mov edx, 0x55fa40 ; 'T_AMT3'
|
||||
55ca78: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ca7b: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55ca80: mov edx, 1
|
||||
55ca85: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ca88: call 0x4047b8 ; Apollo5D6!@Apodset@TApolloTable@Skip$qqri
|
||||
55ca8d: fild dword ptr [ebp - 0x24]
|
||||
55ca90: mov dword ptr [ebp - 0x154], ebx
|
||||
55ca96: fild dword ptr [ebp - 0x154]
|
||||
55ca9c: fdivp st(1)
|
||||
55ca9e: fmul dword ptr [0x55f5f0] ; =100.0
|
||||
55caa4: call 0x401078 ; rtl60!@System@@ROUND$qqrv
|
||||
55caa9: mov edx, eax
|
||||
55caab: mov eax, dword ptr [0x5e6090]
|
||||
55cab0: mov eax, dword ptr [eax]
|
||||
55cab2: mov eax, dword ptr [eax + 0x5c]
|
||||
55cab5: call 0x403f90 ; vcl60!@Comctrls@TProgressBar@SetPosition$qqri
|
||||
55caba: inc dword ptr [ebp - 0x24]
|
||||
55cabd: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cac0: mov edx, dword ptr [eax]
|
||||
55cac2: call dword ptr [edx + 0x270]
|
||||
55cac8: test al, al
|
||||
55caca: je 0x55c18d
|
||||
55cad0: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cad3: call 0x4046f0 ; Apollo5D6!@Apodset@TApolloTable@Commit$qqrv
|
||||
55cad8: jmp 0x55e894
|
||||
55cadd: mov eax, dword ptr [ebp - 4]
|
||||
55cae0: cmp dword ptr [eax + 0x57c], 6
|
||||
55cae7: jne 0x55cdd7
|
||||
55caed: mov eax, dword ptr [ebp - 0x2c]
|
||||
55caf0: call 0x4047a8 ; Apollo5D6!@Apodset@TApolloTable@GoTop$qqrv
|
||||
55caf5: mov eax, dword ptr [ebp - 0x2c]
|
||||
55caf8: call 0x404820 ; Apollo5D6!@Apodset@TApolloTable@GetSXRecCount$qqrv
|
||||
55cafd: mov ebx, eax
|
||||
55caff: jmp 0x55cdb7
|
||||
55cb04: lea ecx, [ebp - 0x954]
|
||||
55cb0a: mov edx, 0x55f540 ; 'name1'
|
||||
55cb0f: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cb12: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55cb17: mov eax, dword ptr [ebp - 0x954]
|
||||
55cb1d: lea edx, [ebp - 0x950]
|
||||
55cb23: call 0x401e40 ; rtl60!@Sysutils@TrimRight$qqrx17System@AnsiString
|
||||
55cb28: push dword ptr [ebp - 0x950]
|
||||
55cb2e: lea ecx, [ebp - 0x95c]
|
||||
55cb34: mov edx, 0x55f550 ; 'size1'
|
||||
55cb39: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cb3c: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55cb41: mov eax, dword ptr [ebp - 0x95c]
|
||||
55cb47: lea edx, [ebp - 0x958]
|
||||
55cb4d: call 0x401e40 ; rtl60!@Sysutils@TrimRight$qqrx17System@AnsiString
|
||||
55cb52: push dword ptr [ebp - 0x958]
|
||||
55cb58: push 0x55f560 ; ' / '
|
||||
55cb5d: lea ecx, [ebp - 0x964]
|
||||
55cb63: mov edx, 0x55f56c ; 'unit1'
|
||||
55cb68: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cb6b: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55cb70: mov eax, dword ptr [ebp - 0x964]
|
||||
55cb76: lea edx, [ebp - 0x960]
|
||||
55cb7c: call 0x401e40 ; rtl60!@Sysutils@TrimRight$qqrx17System@AnsiString
|
||||
55cb81: push dword ptr [ebp - 0x960]
|
||||
55cb87: lea eax, [ebp - 0x94c]
|
||||
55cb8d: mov edx, 4
|
||||
55cb92: call 0x4012b8 ; rtl60!@System@@LStrCatN$qqrv
|
||||
55cb97: mov eax, dword ptr [ebp - 0x94c]
|
||||
55cb9d: push eax
|
||||
55cb9e: push 0x55f57c ; '처리된 항목수:'
|
||||
55cba3: lea edx, [ebp - 0x96c]
|
||||
55cba9: mov eax, dword ptr [ebp - 0x24]
|
||||
55cbac: call 0x401e48 ; rtl60!@Sysutils@IntToStr$qqri
|
||||
55cbb1: push dword ptr [ebp - 0x96c]
|
||||
55cbb7: push 0x55f594 ; '개'
|
||||
55cbbc: lea eax, [ebp - 0x968]
|
||||
55cbc2: mov edx, 3
|
||||
55cbc7: call 0x4012b8 ; rtl60!@System@@LStrCatN$qqrv
|
||||
55cbcc: mov edx, dword ptr [ebp - 0x968]
|
||||
55cbd2: mov eax, 0x55fa50 ; '전회0/금회0/누계0'
|
||||
55cbd7: pop ecx
|
||||
55cbd8: call 0x42c83c
|
||||
55cbdd: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cbe0: call 0x403d38 ; dbrtl60!@Db@TDataSet@Edit$qqrv
|
||||
55cbe5: lea eax, [ebp - 0x97c]
|
||||
55cbeb: xor edx, edx
|
||||
55cbed: mov cl, 1
|
||||
55cbef: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55cbf4: lea ecx, [ebp - 0x97c]
|
||||
55cbfa: mov edx, 0x55f8b0 ; 'QTY2'
|
||||
55cbff: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cc02: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55cc07: lea eax, [ebp - 0x98c]
|
||||
55cc0d: xor edx, edx
|
||||
55cc0f: mov cl, 1
|
||||
55cc11: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55cc16: lea ecx, [ebp - 0x98c]
|
||||
55cc1c: mov edx, 0x55f8c0 ; 'QTY3'
|
||||
55cc21: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cc24: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55cc29: lea eax, [ebp - 0x99c]
|
||||
55cc2f: xor edx, edx
|
||||
55cc31: mov cl, 1
|
||||
55cc33: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55cc38: lea ecx, [ebp - 0x99c]
|
||||
55cc3e: mov edx, 0x55fa6c ; 'QTY4'
|
||||
55cc43: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cc46: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55cc4b: lea eax, [ebp - 0x9ac]
|
||||
55cc51: xor edx, edx
|
||||
55cc53: mov cl, 1
|
||||
55cc55: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55cc5a: lea ecx, [ebp - 0x9ac]
|
||||
55cc60: mov edx, 0x55f9c0 ; 'T_AMT2'
|
||||
55cc65: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cc68: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55cc6d: lea eax, [ebp - 0x9bc]
|
||||
55cc73: xor edx, edx
|
||||
55cc75: mov cl, 1
|
||||
55cc77: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55cc7c: lea ecx, [ebp - 0x9bc]
|
||||
55cc82: mov edx, 0x55fa40 ; 'T_AMT3'
|
||||
55cc87: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cc8a: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55cc8f: lea eax, [ebp - 0x9cc]
|
||||
55cc95: xor edx, edx
|
||||
55cc97: mov cl, 1
|
||||
55cc99: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55cc9e: lea ecx, [ebp - 0x9cc]
|
||||
55cca4: mov edx, 0x55fa7c ; 'T_AMT4'
|
||||
55cca9: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ccac: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55ccb1: push 0x55f31c ; 'PR'
|
||||
55ccb6: lea ecx, [ebp - 0x9d4]
|
||||
55ccbc: mov edx, 0x55f850 ; 'BDCODE1'
|
||||
55ccc1: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ccc4: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55ccc9: mov eax, dword ptr [ebp - 0x9d4]
|
||||
55cccf: mov dl, byte ptr [eax]
|
||||
55ccd1: lea eax, [ebp - 0x9d0]
|
||||
55ccd7: call 0x401278 ; rtl60!@System@@LStrFromChar$qqrr17System@AnsiStringc
|
||||
55ccdc: mov eax, dword ptr [ebp - 0x9d0]
|
||||
55cce2: push eax
|
||||
55cce3: call 0x4228cc ; DP_COMMON!MPOS
|
||||
55cce8: test al, al
|
||||
55ccea: jne 0x55cd4f
|
||||
55ccec: push 0x55fa8c ; 'MLSW'
|
||||
55ccf1: lea ecx, [ebp - 0x9dc]
|
||||
55ccf7: mov edx, 0x55f850 ; 'BDCODE1'
|
||||
55ccfc: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ccff: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55cd04: mov eax, dword ptr [ebp - 0x9dc]
|
||||
55cd0a: mov dl, byte ptr [eax]
|
||||
55cd0c: lea eax, [ebp - 0x9d8]
|
||||
55cd12: call 0x401278 ; rtl60!@System@@LStrFromChar$qqrr17System@AnsiStringc
|
||||
55cd17: mov eax, dword ptr [ebp - 0x9d8]
|
||||
55cd1d: push eax
|
||||
55cd1e: call 0x4228cc ; DP_COMMON!MPOS
|
||||
55cd23: test al, al
|
||||
55cd25: je 0x55cd7a
|
||||
55cd27: lea ecx, [ebp - 0x9e0]
|
||||
55cd2d: mov edx, 0x55f808 ; 'UNIT1'
|
||||
55cd32: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cd35: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55cd3a: mov eax, dword ptr [ebp - 0x9e0]
|
||||
55cd40: push eax
|
||||
55cd41: push 0x55f860 ; '%'
|
||||
55cd46: call 0x4228cc ; DP_COMMON!MPOS
|
||||
55cd4b: test al, al
|
||||
55cd4d: je 0x55cd7a
|
||||
55cd4f: mov edx, 0x55f5c8 ; 'QTY1'
|
||||
55cd54: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cd57: call 0x404770 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
55cd5c: lea eax, [ebp - 0x9f0]
|
||||
55cd62: call 0x4013d8 ; rtl60!@System@@VarFromReal$qqrv
|
||||
55cd67: lea ecx, [ebp - 0x9f0]
|
||||
55cd6d: mov edx, 0x55fa6c ; 'QTY4'
|
||||
55cd72: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cd75: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55cd7a: mov edx, 1
|
||||
55cd7f: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cd82: call 0x4047b8 ; Apollo5D6!@Apodset@TApolloTable@Skip$qqri
|
||||
55cd87: fild dword ptr [ebp - 0x24]
|
||||
55cd8a: mov dword ptr [ebp - 0x154], ebx
|
||||
55cd90: fild dword ptr [ebp - 0x154]
|
||||
55cd96: fdivp st(1)
|
||||
55cd98: fmul dword ptr [0x55f5f0] ; =100.0
|
||||
55cd9e: call 0x401078 ; rtl60!@System@@ROUND$qqrv
|
||||
55cda3: mov edx, eax
|
||||
55cda5: mov eax, dword ptr [0x5e6090]
|
||||
55cdaa: mov eax, dword ptr [eax]
|
||||
55cdac: mov eax, dword ptr [eax + 0x5c]
|
||||
55cdaf: call 0x403f90 ; vcl60!@Comctrls@TProgressBar@SetPosition$qqri
|
||||
55cdb4: inc dword ptr [ebp - 0x24]
|
||||
55cdb7: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cdba: mov edx, dword ptr [eax]
|
||||
55cdbc: call dword ptr [edx + 0x270]
|
||||
55cdc2: test al, al
|
||||
55cdc4: je 0x55cb04
|
||||
55cdca: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cdcd: call 0x4046f0 ; Apollo5D6!@Apodset@TApolloTable@Commit$qqrv
|
||||
55cdd2: jmp 0x55e894
|
||||
55cdd7: mov eax, dword ptr [ebp - 4]
|
||||
55cdda: cmp dword ptr [eax + 0x57c], 7
|
||||
55cde1: jne 0x55e894
|
||||
55cde7: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cdea: call 0x4047a8 ; Apollo5D6!@Apodset@TApolloTable@GoTop$qqrv
|
||||
55cdef: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cdf2: call 0x404820 ; Apollo5D6!@Apodset@TApolloTable@GetSXRecCount$qqrv
|
||||
55cdf7: mov ebx, eax
|
||||
55cdf9: jmp 0x55cf8b
|
||||
55cdfe: lea ecx, [ebp - 0x9fc]
|
||||
55ce04: mov edx, 0x55f540 ; 'name1'
|
||||
55ce09: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ce0c: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55ce11: mov eax, dword ptr [ebp - 0x9fc]
|
||||
55ce17: lea edx, [ebp - 0x9f8]
|
||||
55ce1d: call 0x401e40 ; rtl60!@Sysutils@TrimRight$qqrx17System@AnsiString
|
||||
55ce22: push dword ptr [ebp - 0x9f8]
|
||||
55ce28: lea ecx, [ebp - 0xa04]
|
||||
55ce2e: mov edx, 0x55f550 ; 'size1'
|
||||
55ce33: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ce36: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55ce3b: mov eax, dword ptr [ebp - 0xa04]
|
||||
55ce41: lea edx, [ebp - 0xa00]
|
||||
55ce47: call 0x401e40 ; rtl60!@Sysutils@TrimRight$qqrx17System@AnsiString
|
||||
55ce4c: push dword ptr [ebp - 0xa00]
|
||||
55ce52: push 0x55f560 ; ' / '
|
||||
55ce57: lea ecx, [ebp - 0xa0c]
|
||||
55ce5d: mov edx, 0x55f56c ; 'unit1'
|
||||
55ce62: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ce65: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55ce6a: mov eax, dword ptr [ebp - 0xa0c]
|
||||
55ce70: lea edx, [ebp - 0xa08]
|
||||
55ce76: call 0x401e40 ; rtl60!@Sysutils@TrimRight$qqrx17System@AnsiString
|
||||
55ce7b: push dword ptr [ebp - 0xa08]
|
||||
55ce81: lea eax, [ebp - 0x9f4]
|
||||
55ce87: mov edx, 4
|
||||
55ce8c: call 0x4012b8 ; rtl60!@System@@LStrCatN$qqrv
|
||||
55ce91: mov eax, dword ptr [ebp - 0x9f4]
|
||||
55ce97: push eax
|
||||
55ce98: push 0x55f57c ; '처리된 항목수:'
|
||||
55ce9d: lea edx, [ebp - 0xa14]
|
||||
55cea3: mov eax, dword ptr [ebp - 0x24]
|
||||
55cea6: call 0x401e48 ; rtl60!@Sysutils@IntToStr$qqri
|
||||
55ceab: push dword ptr [ebp - 0xa14]
|
||||
55ceb1: push 0x55f594 ; '개'
|
||||
55ceb6: lea eax, [ebp - 0xa10]
|
||||
55cebc: mov edx, 3
|
||||
55cec1: call 0x4012b8 ; rtl60!@System@@LStrCatN$qqrv
|
||||
55cec6: mov edx, dword ptr [ebp - 0xa10]
|
||||
55cecc: mov eax, 0x55fa9c ; '변경수량<-계약수량'
|
||||
55ced1: pop ecx
|
||||
55ced2: call 0x42c83c
|
||||
55ced7: mov eax, dword ptr [ebp - 0x2c]
|
||||
55ceda: call 0x403d38 ; dbrtl60!@Db@TDataSet@Edit$qqrv
|
||||
55cedf: mov edx, 0x55fab8 ; 'qty1'
|
||||
55cee4: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cee7: call 0x404770 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
55ceec: lea eax, [ebp - 0xa24]
|
||||
55cef2: call 0x4013d8 ; rtl60!@System@@VarFromReal$qqrv
|
||||
55cef7: lea ecx, [ebp - 0xa24]
|
||||
55cefd: mov edx, 0x55f8b0 ; 'QTY2'
|
||||
55cf02: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cf05: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55cf0a: lea eax, [ebp - 0xa34]
|
||||
55cf10: xor edx, edx
|
||||
55cf12: mov cl, 1
|
||||
55cf14: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55cf19: lea ecx, [ebp - 0xa34]
|
||||
55cf1f: mov edx, 0x55f8c0 ; 'QTY3'
|
||||
55cf24: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cf27: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55cf2c: lea eax, [ebp - 0xa44]
|
||||
55cf32: xor edx, edx
|
||||
55cf34: mov cl, 1
|
||||
55cf36: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55cf3b: lea ecx, [ebp - 0xa44]
|
||||
55cf41: mov edx, 0x55fa6c ; 'QTY4'
|
||||
55cf46: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cf49: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55cf4e: mov edx, 1
|
||||
55cf53: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cf56: call 0x4047b8 ; Apollo5D6!@Apodset@TApolloTable@Skip$qqri
|
||||
55cf5b: fild dword ptr [ebp - 0x24]
|
||||
55cf5e: mov dword ptr [ebp - 0x154], ebx
|
||||
55cf64: fild dword ptr [ebp - 0x154]
|
||||
55cf6a: fdivp st(1)
|
||||
55cf6c: fmul dword ptr [0x55f5f0] ; =100.0
|
||||
55cf72: call 0x401078 ; rtl60!@System@@ROUND$qqrv
|
||||
55cf77: mov edx, eax
|
||||
55cf79: mov eax, dword ptr [0x5e6090]
|
||||
55cf7e: mov eax, dword ptr [eax]
|
||||
55cf80: mov eax, dword ptr [eax + 0x5c]
|
||||
55cf83: call 0x403f90 ; vcl60!@Comctrls@TProgressBar@SetPosition$qqri
|
||||
55cf88: inc dword ptr [ebp - 0x24]
|
||||
55cf8b: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cf8e: mov edx, dword ptr [eax]
|
||||
55cf90: call dword ptr [edx + 0x270]
|
||||
55cf96: test al, al
|
||||
55cf98: je 0x55cdfe
|
||||
55cf9e: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cfa1: call 0x4046f0 ; Apollo5D6!@Apodset@TApolloTable@Commit$qqrv
|
||||
55cfa6: jmp 0x55e894
|
||||
55cfab: mov eax, dword ptr [ebp - 4]
|
||||
55cfae: cmp dword ptr [eax + 0x57c], 6
|
||||
55cfb5: jne 0x55d1eb
|
||||
55cfbb: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cfbe: call 0x4047a8 ; Apollo5D6!@Apodset@TApolloTable@GoTop$qqrv
|
||||
55cfc3: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cfc6: call 0x404820 ; Apollo5D6!@Apodset@TApolloTable@GetSXRecCount$qqrv
|
||||
55cfcb: mov ebx, eax
|
||||
55cfcd: jmp 0x55d18a
|
||||
55cfd2: lea ecx, [ebp - 0xa50]
|
||||
55cfd8: mov edx, 0x55f540 ; 'name1'
|
||||
55cfdd: mov eax, dword ptr [ebp - 0x2c]
|
||||
55cfe0: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55cfe5: mov eax, dword ptr [ebp - 0xa50]
|
||||
55cfeb: lea edx, [ebp - 0xa4c]
|
||||
55cff1: call 0x401e40 ; rtl60!@Sysutils@TrimRight$qqrx17System@AnsiString
|
||||
55cff6: push dword ptr [ebp - 0xa4c]
|
||||
55cffc: lea ecx, [ebp - 0xa58]
|
||||
55d002: mov edx, 0x55f550 ; 'size1'
|
||||
55d007: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d00a: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55d00f: mov eax, dword ptr [ebp - 0xa58]
|
||||
55d015: lea edx, [ebp - 0xa54]
|
||||
55d01b: call 0x401e40 ; rtl60!@Sysutils@TrimRight$qqrx17System@AnsiString
|
||||
55d020: push dword ptr [ebp - 0xa54]
|
||||
55d026: push 0x55f560 ; ' / '
|
||||
55d02b: lea ecx, [ebp - 0xa60]
|
||||
55d031: mov edx, 0x55f56c ; 'unit1'
|
||||
55d036: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d039: call 0x404790 ; Apollo5D6!@Apodset@TApolloTable@GetString$qqr17System@AnsiString
|
||||
55d03e: mov eax, dword ptr [ebp - 0xa60]
|
||||
55d044: lea edx, [ebp - 0xa5c]
|
||||
55d04a: call 0x401e40 ; rtl60!@Sysutils@TrimRight$qqrx17System@AnsiString
|
||||
55d04f: push dword ptr [ebp - 0xa5c]
|
||||
55d055: lea eax, [ebp - 0xa48]
|
||||
55d05b: mov edx, 4
|
||||
55d060: call 0x4012b8 ; rtl60!@System@@LStrCatN$qqrv
|
||||
55d065: mov eax, dword ptr [ebp - 0xa48]
|
||||
55d06b: push eax
|
||||
55d06c: push 0x55f57c ; '처리된 항목수:'
|
||||
55d071: lea edx, [ebp - 0xa68]
|
||||
55d077: mov eax, dword ptr [ebp - 0x24]
|
||||
55d07a: call 0x401e48 ; rtl60!@Sysutils@IntToStr$qqri
|
||||
55d07f: push dword ptr [ebp - 0xa68]
|
||||
55d085: push 0x55f594 ; '개'
|
||||
55d08a: lea eax, [ebp - 0xa64]
|
||||
55d090: mov edx, 3
|
||||
55d095: call 0x4012b8 ; rtl60!@System@@LStrCatN$qqrv
|
||||
55d09a: mov edx, dword ptr [ebp - 0xa64]
|
||||
55d0a0: mov eax, 0x55fac8 ; '전회<-누계, 금회=0'
|
||||
55d0a5: pop ecx
|
||||
55d0a6: call 0x42c83c
|
||||
55d0ab: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d0ae: call 0x403d38 ; dbrtl60!@Db@TDataSet@Edit$qqrv
|
||||
55d0b3: mov edx, 0x55f8b0 ; 'QTY2'
|
||||
55d0b8: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d0bb: call 0x404770 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
55d0c0: lea eax, [ebp - 0xa78]
|
||||
55d0c6: call 0x4013d8 ; rtl60!@System@@VarFromReal$qqrv
|
||||
55d0cb: lea ecx, [ebp - 0xa78]
|
||||
55d0d1: mov edx, 0x55f8c0 ; 'QTY3'
|
||||
55d0d6: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d0d9: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55d0de: lea eax, [ebp - 0xa88]
|
||||
55d0e4: xor edx, edx
|
||||
55d0e6: mov cl, 1
|
||||
55d0e8: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55d0ed: lea ecx, [ebp - 0xa88]
|
||||
55d0f3: mov edx, 0x55fa6c ; 'QTY4'
|
||||
55d0f8: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d0fb: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55d100: mov edx, 0x55f9c0 ; 'T_AMT2'
|
||||
55d105: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d108: call 0x404770 ; Apollo5D6!@Apodset@TApolloTable@GetDouble$qqr17System@AnsiString
|
||||
55d10d: lea eax, [ebp - 0xa98]
|
||||
55d113: call 0x4013d8 ; rtl60!@System@@VarFromReal$qqrv
|
||||
55d118: lea ecx, [ebp - 0xa98]
|
||||
55d11e: mov edx, 0x55fa40 ; 'T_AMT3'
|
||||
55d123: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d126: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55d12b: lea eax, [ebp - 0xaa8]
|
||||
55d131: xor edx, edx
|
||||
55d133: mov cl, 1
|
||||
55d135: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55d13a: lea ecx, [ebp - 0xaa8]
|
||||
55d140: mov edx, 0x55fa7c ; 'T_AMT4'
|
||||
55d145: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d148: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55d14d: mov edx, 1
|
||||
55d152: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d155: call 0x4047b8 ; Apollo5D6!@Apodset@TApolloTable@Skip$qqri
|
||||
55d15a: fild dword ptr [ebp - 0x24]
|
||||
55d15d: mov dword ptr [ebp - 0x154], ebx
|
||||
55d163: fild dword ptr [ebp - 0x154]
|
||||
55d169: fdivp st(1)
|
||||
55d16b: fmul dword ptr [0x55f5f0] ; =100.0
|
||||
55d171: call 0x401078 ; rtl60!@System@@ROUND$qqrv
|
||||
55d176: mov edx, eax
|
||||
55d178: mov eax, dword ptr [0x5e6090]
|
||||
55d17d: mov eax, dword ptr [eax]
|
||||
55d17f: mov eax, dword ptr [eax + 0x5c]
|
||||
55d182: call 0x403f90 ; vcl60!@Comctrls@TProgressBar@SetPosition$qqri
|
||||
55d187: inc dword ptr [ebp - 0x24]
|
||||
55d18a: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d18d: mov edx, dword ptr [eax]
|
||||
55d18f: call dword ptr [edx + 0x270]
|
||||
55d195: test al, al
|
||||
55d197: je 0x55cfd2
|
||||
55d19d: mov eax, dword ptr [ebp - 0x2c]
|
||||
55d1a0: call 0x4046f0 ; Apollo5D6!@Apodset@TApolloTable@Commit$qqrv
|
||||
55d1a5: mov eax, dword ptr [ebp - 4]
|
||||
55d1a8: mov eax, dword ptr [eax + 0x2f4]
|
||||
55d1ae: call 0x403d38 ; dbrtl60!@Db@TDataSet@Edit$qqrv
|
||||
55d1b3: lea eax, [ebp - 0xab8]
|
||||
55d1b9: mov edx, dword ptr [ebp - 0x28]
|
||||
55d1bc: inc edx
|
||||
55d1bd: mov cl, 0xfc
|
||||
55d1bf: call 0x4013c0 ; rtl60!@System@@VarFromInt$qqrr14System@Variantxixi
|
||||
55d1c4: lea ecx, [ebp - 0xab8]
|
||||
55d1ca: mov eax, dword ptr [ebp - 4]
|
||||
55d1cd: mov eax, dword ptr [eax + 0x2f4]
|
||||
55d1d3: mov edx, 0x55f440 ; 'k_ord'
|
||||
55d1d8: call 0x403d08 ; dbrtl60!@Db@TDataSet@SetFieldValue$qqrx17System@AnsiStringrx14System@Variant
|
||||
55d1dd: mov eax, dword ptr [ebp - 4]
|
||||
55d1e0: mov eax, dword ptr [eax + 0x2f4]
|
||||
55d1e6: .byte 0xe8
|
||||
55d1e7: .byte 0x05
|
||||
55d1e8: jne 0x55d1d4
|
||||
+975
@@ -0,0 +1,975 @@
|
||||
{
|
||||
"class": "TPM_JAB_K",
|
||||
"name": "PM_JAB_K",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 230,
|
||||
"Top": 179,
|
||||
"Width": 696,
|
||||
"Height": 480,
|
||||
"Caption": "PM_JAB_K",
|
||||
"Color": "clBtnFace",
|
||||
"Font.Charset": "HANGEUL_CHARSET",
|
||||
"Font.Color": "clWindowText",
|
||||
"Font.Height": -16,
|
||||
"Font.Name": "굴림체",
|
||||
"Font.Style": [],
|
||||
"OldCreateOrder": false,
|
||||
"Scaled": false,
|
||||
"WindowState": "wsMaximized",
|
||||
"PixelsPerInch": 96,
|
||||
"TextHeight": 16
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"class": "THRPage",
|
||||
"name": "HRPage1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 0,
|
||||
"Top": 0,
|
||||
"Width": 1123,
|
||||
"Height": 794,
|
||||
"AfterPrint": "HRPage1AfterPrint",
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"Font.Charset": "HANGEUL_CHARSET",
|
||||
"Font.Color": "clWindowText",
|
||||
"Font.Height": -16,
|
||||
"Font.Name": "굴림체",
|
||||
"Font.Style": [],
|
||||
"ParentFont": false,
|
||||
"PageInfo.Width": 210,
|
||||
"PageInfo.Height": 297,
|
||||
"PageInfo.MargineLeft": 20,
|
||||
"PageInfo.MargineTop": 15,
|
||||
"PageInfo.MargineRight": 24,
|
||||
"PageInfo.MargineBottom": 15,
|
||||
"PageInfo.Orientation": "hpoLandscape",
|
||||
"PrintZoom": 100,
|
||||
"Ruler": true,
|
||||
"Units": "hpuMM"
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"class": "THRPageBand",
|
||||
"name": "HRPageBand3",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 76,
|
||||
"Top": 107,
|
||||
"Width": 954,
|
||||
"Height": 595,
|
||||
"LocateAtPage": "alNone",
|
||||
"BandType": "hpbPageHeader",
|
||||
"Alignment": "taLeftJustify",
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnRight",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clGreen",
|
||||
"BorderStyle.Transparent": true
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lb_Smpl",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 72,
|
||||
"Top": 80,
|
||||
"Width": 500,
|
||||
"Height": 168,
|
||||
"Alignment": "taCenter",
|
||||
"Font.Charset": "ANSI_CHARSET",
|
||||
"Font.Color": 13290239,
|
||||
"Font.Height": -160,
|
||||
"Font.Name": "Times New Roman",
|
||||
"Font.Style": [],
|
||||
"FontWidth": 30,
|
||||
"ParentFont": false,
|
||||
"Transparent": true,
|
||||
"Visible": false,
|
||||
"BorderStyle.ShadowBrush.Color": "clGray",
|
||||
"BorderStyle.ShadowWidth": 3,
|
||||
"BorderStyle.Slash": [
|
||||
"slNormal"
|
||||
],
|
||||
"BorderStyle.Lines": [],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Color": 13290239,
|
||||
"BorderStyle.Pen.Width": 3,
|
||||
"BorderStyle.Transparent": true,
|
||||
"Caption": "S A M P L E",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"class": "THRPageBand",
|
||||
"name": "HRPageBand1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 76,
|
||||
"Top": 57,
|
||||
"Width": 956,
|
||||
"Height": 50,
|
||||
"LocateAtPage": "alTop",
|
||||
"BandType": "hpbPageHeader",
|
||||
"Alignment": "taLeftJustify",
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [],
|
||||
"BorderStyle.DesignPen.Color": "clGreen",
|
||||
"BorderStyle.Transparent": true
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "HlCap",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 0,
|
||||
"Top": 0,
|
||||
"Width": 954,
|
||||
"Height": 27,
|
||||
"Alignment": "taCenter",
|
||||
"Font.Charset": "HANGEUL_CHARSET",
|
||||
"Font.Color": "clBlack",
|
||||
"Font.Height": -21,
|
||||
"Font.Name": "굴림체",
|
||||
"Font.Style": [
|
||||
"fsBold",
|
||||
"fsUnderline"
|
||||
],
|
||||
"FontWidth": 6,
|
||||
"ParentFont": false,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Transparent": true,
|
||||
"Caption": "기 성 부 분 총 괄 내 역 서",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"class": "THRPageBand",
|
||||
"name": "HRPageBand2",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 76,
|
||||
"Top": 701,
|
||||
"Width": 956,
|
||||
"Height": 36,
|
||||
"LocateAtPage": "alBottom",
|
||||
"BandType": "hpbPageFooter",
|
||||
"Alignment": "taLeftJustify",
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [],
|
||||
"BorderStyle.DesignPen.Color": "clGreen",
|
||||
"BorderStyle.Transparent": true
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "CopName",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 900000,
|
||||
"Left": 0,
|
||||
"Top": 4,
|
||||
"Width": 954,
|
||||
"Height": 22,
|
||||
"Alignment": "taRightJustify",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 4,
|
||||
"Caption": "경영정보(주)",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRCalc",
|
||||
"name": "HrPage",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 900000,
|
||||
"Left": 0,
|
||||
"Top": 4,
|
||||
"Width": 954,
|
||||
"Height": 22,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 4,
|
||||
"ResetType": "hrtResetValue",
|
||||
"ResetValue": 1,
|
||||
"CalcFunction": "hcfPageNo",
|
||||
"DisplayFormat": "- #,# -",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"class": "THRGroup",
|
||||
"name": "HRGroup1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 76,
|
||||
"Top": 151,
|
||||
"Width": 954,
|
||||
"Height": 22,
|
||||
"BeforePrint": "HRGroup1BeforePrint",
|
||||
"Alignment": "taLeftJustify",
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnRight"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clAqua",
|
||||
"BorderStyle.Transparent": true,
|
||||
"GroupStyle.RepeatToEOP": true,
|
||||
"GroupStyle.RepeatControls": true,
|
||||
"GroupStyle.SuppressText": true,
|
||||
"GroupStyle.PrintOnRepeat": true,
|
||||
"LocateAtPage": "hgaNone"
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"class": "THRDBText",
|
||||
"name": "txITNUM",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 200010,
|
||||
"Left": 0,
|
||||
"Top": 0,
|
||||
"Width": 67,
|
||||
"Height": 23,
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"DataField": "ITNUM",
|
||||
"DataSource": "ds_Jab_K",
|
||||
"TextFunction": "htfNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRDBText",
|
||||
"name": "txNAME1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 200020,
|
||||
"Left": 66,
|
||||
"Top": 0,
|
||||
"Width": 157,
|
||||
"Height": 23,
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"DataSource": "ds_Jab_K",
|
||||
"TextFunction": "htfNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRDBText",
|
||||
"name": "txSIZE1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 200030,
|
||||
"Left": 222,
|
||||
"Top": 0,
|
||||
"Width": 157,
|
||||
"Height": 23,
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"DataField": "SIZE1",
|
||||
"DataSource": "ds_Jab_K",
|
||||
"TextFunction": "htfNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRDBText",
|
||||
"name": "txBDCODE1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 200080,
|
||||
"Left": 860,
|
||||
"Top": 0,
|
||||
"Width": 94,
|
||||
"Height": 23,
|
||||
"Alignment": "taRightJustify",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"DataField": "BDCODE1",
|
||||
"TextFunction": "htfNone"
|
||||
},
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"class": "THRGroupBand",
|
||||
"name": "HRGroupBand0",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 76,
|
||||
"Top": 107,
|
||||
"Width": 954,
|
||||
"Height": 44,
|
||||
"AlignWithGroup": "hbaGroupBoth",
|
||||
"LocateAtGroup": "hblTopAttach",
|
||||
"BodyGroup": "HRGroup1",
|
||||
"BandType": "hgbGroupHeader",
|
||||
"Alignment": "taLeftJustify",
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnTop"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Transparent": true
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld01",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 100010,
|
||||
"Left": 0,
|
||||
"Top": 0,
|
||||
"Width": 67,
|
||||
"Height": 45,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 18,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Top": true,
|
||||
"AlignWithText.Width": true,
|
||||
"Caption": "공 종",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld02",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 100020,
|
||||
"Left": 66,
|
||||
"Top": 0,
|
||||
"Width": 157,
|
||||
"Height": 45,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 18,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Top": true,
|
||||
"AlignWithText.Width": true,
|
||||
"Caption": "명 칭",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld03",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 100030,
|
||||
"Left": 222,
|
||||
"Top": 0,
|
||||
"Width": 157,
|
||||
"Height": 45,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 18,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Top": true,
|
||||
"AlignWithText.Width": true,
|
||||
"Caption": "규 격",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld04",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 110040,
|
||||
"Left": 378,
|
||||
"Top": 0,
|
||||
"Width": 87,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Top": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "계 약",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld04_1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 120041,
|
||||
"Left": 378,
|
||||
"Top": 22,
|
||||
"Width": 87,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Width": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "금 액",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld05",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 110050,
|
||||
"Left": 464,
|
||||
"Top": 0,
|
||||
"Width": 133,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Top": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "전 회",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld05_1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 120051,
|
||||
"Left": 464,
|
||||
"Top": 22,
|
||||
"Width": 87,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Width": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "금 액",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld05_2",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 120052,
|
||||
"Left": 550,
|
||||
"Top": 22,
|
||||
"Width": 47,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Width": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "비율",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld06",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 110060,
|
||||
"Left": 596,
|
||||
"Top": 0,
|
||||
"Width": 133,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Top": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "금 회",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld06_1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 120061,
|
||||
"Left": 596,
|
||||
"Top": 22,
|
||||
"Width": 87,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Width": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "금 액",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld06_2",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 120062,
|
||||
"Left": 682,
|
||||
"Top": 22,
|
||||
"Width": 47,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Width": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "비율",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld07",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 110070,
|
||||
"Left": 728,
|
||||
"Top": 0,
|
||||
"Width": 133,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Top": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "누 계",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld07_1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 120071,
|
||||
"Left": 728,
|
||||
"Top": 22,
|
||||
"Width": 87,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Width": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "금 액",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld07_2",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 120072,
|
||||
"Left": 814,
|
||||
"Top": 22,
|
||||
"Width": 47,
|
||||
"Height": 23,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 5,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Width": true,
|
||||
"AlignWithText.Height": true,
|
||||
"Caption": "비율",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLabel",
|
||||
"name": "lbFld08",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 100080,
|
||||
"Left": 860,
|
||||
"Top": 0,
|
||||
"Width": 94,
|
||||
"Height": 45,
|
||||
"Alignment": "taCenter",
|
||||
"FontWidth": 5,
|
||||
"Transparent": true,
|
||||
"BorderStyle.Slash": [],
|
||||
"BorderStyle.Lines": [
|
||||
"lnLeft",
|
||||
"lnTop",
|
||||
"lnBottom"
|
||||
],
|
||||
"BorderStyle.DesignPen.Color": "clSilver",
|
||||
"BorderStyle.Pen.Width": 0,
|
||||
"BorderStyle.Transparent": true,
|
||||
"BorderMargine.Top": 18,
|
||||
"AlignWithText.Left": true,
|
||||
"AlignWithText.Top": true,
|
||||
"AlignWithText.Width": true,
|
||||
"Caption": "비 고",
|
||||
"LocateAtText": "hllNone"
|
||||
},
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"class": "THyperReport",
|
||||
"name": "Hrp",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"PreviewOptions.ShowModal": true,
|
||||
"PreviewOptions.WindowState": "wsMaximized",
|
||||
"PreviewOptions.ZoomMin": 50,
|
||||
"PreviewOptions.ZoomMax": 150,
|
||||
"PreviewOptions.ZoomStep": 10,
|
||||
"PreviewOptions.MargineColor": "clWhite",
|
||||
"PreviewOptions.VisibleButtons": [
|
||||
"btFirst",
|
||||
"btPrev",
|
||||
"btNext",
|
||||
"btLast",
|
||||
"btStart",
|
||||
"btStop",
|
||||
"btZoomIn",
|
||||
"btZoomOut",
|
||||
"btSave",
|
||||
"btPrint"
|
||||
],
|
||||
"SuppressHeaderGroup": true,
|
||||
"EnableSaveReport": true,
|
||||
"SaveAllProperties": true,
|
||||
"OnSaveDialog": "HrpSaveDialog",
|
||||
"OnShowPrintDialog": "HrpShowPrintDialog",
|
||||
"Left": 32,
|
||||
"Top": 24
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "THRLink",
|
||||
"name": "HRLink1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"LinkInfo.SourceTrees.Strings": [
|
||||
" 0 0PM_JAB_K.ds_Jab_K"
|
||||
],
|
||||
"LinkInfo.MasterFields.Strings": [
|
||||
"Master;"
|
||||
],
|
||||
"LinkInfo.DetailFields.Strings": [
|
||||
"Detail;"
|
||||
],
|
||||
"LinkInfo.SelfKyFields.Strings": [
|
||||
"SelfKy;"
|
||||
],
|
||||
"LinkInfo.GroupOrders.Strings": [
|
||||
"Groups;HRGroup1;0::1:1:1:0:"
|
||||
],
|
||||
"Left": 64,
|
||||
"Top": 24
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TDataSource",
|
||||
"name": "ds_Jab_K",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"DataSet": "tb_Jab_K",
|
||||
"Left": 160,
|
||||
"Top": 24
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TApolloTable",
|
||||
"name": "tb_Jab_K",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"DatabaseName": "ST_Work",
|
||||
"CachedUpdates": false,
|
||||
"FieldDefs": [],
|
||||
"IndexDefs": [],
|
||||
"Sequenced": false,
|
||||
"TableName": "PRT.DBF",
|
||||
"TableType": "ttSXNSX",
|
||||
"Left": 112,
|
||||
"Top": 24
|
||||
},
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
+982
@@ -0,0 +1,982 @@
|
||||
{
|
||||
"class": "TwM_KanJub_K",
|
||||
"name": "wM_KanJub_K",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 80,
|
||||
"Top": 103,
|
||||
"HelpContext": 4700,
|
||||
"BorderIcons": [
|
||||
"biSystemMenu",
|
||||
"biMaximize"
|
||||
],
|
||||
"BorderStyle": "bsSingle",
|
||||
"Caption": "< 기성 제잡비 계산서 >",
|
||||
"ClientHeight": 614,
|
||||
"ClientWidth": 954,
|
||||
"Color": "clBtnFace",
|
||||
"Constraints.MinWidth": 910,
|
||||
"Font.Charset": "HANGEUL_CHARSET",
|
||||
"Font.Color": "clWindowText",
|
||||
"Font.Height": -12,
|
||||
"Font.Name": "굴림체",
|
||||
"Font.Style": [],
|
||||
"KeyPreview": true,
|
||||
"OldCreateOrder": false,
|
||||
"Scaled": false,
|
||||
"OnCloseQuery": "FormCloseQuery",
|
||||
"OnCreate": "FormCreate",
|
||||
"OnKeyDown": "FormKeyDown",
|
||||
"PixelsPerInch": 96,
|
||||
"TextHeight": 12
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"class": "TSplitter",
|
||||
"name": "Splitter1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 0,
|
||||
"Top": 239,
|
||||
"Width": 954,
|
||||
"Height": 3,
|
||||
"Cursor": "crVSplit",
|
||||
"Align": "alTop",
|
||||
"AutoSnap": false,
|
||||
"MinSize": 70
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TPanel",
|
||||
"name": "Panel1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 0,
|
||||
"Top": 0,
|
||||
"Width": 954,
|
||||
"Height": 100,
|
||||
"Align": "alTop",
|
||||
"TabOrder": 0,
|
||||
"DesignSize": [
|
||||
954,
|
||||
100
|
||||
]
|
||||
},
|
||||
"children": [
|
||||
{
|
||||
"class": "TSpeedButton",
|
||||
"name": "sBtn_Quit",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 739,
|
||||
"Top": 6,
|
||||
"Width": 210,
|
||||
"Height": 29,
|
||||
"Cursor": "crHandPoint",
|
||||
"Anchors": [
|
||||
"akTop",
|
||||
"akRight"
|
||||
],
|
||||
"Caption": " 종 료 (&Q) ",
|
||||
"Flat": true,
|
||||
"Glyph.Data": {
|
||||
"binary_size": 1094,
|
||||
"binary_hex": "42040000424d4204000000000000420000002800000020000000100000000100"
|
||||
},
|
||||
"NumGlyphs": 2,
|
||||
"ParentShowHint": false,
|
||||
"ShowHint": true,
|
||||
"OnClick": "sBtn_QuitClick"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TSpeedButton",
|
||||
"name": "sBtn_Calc_Jab",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 739,
|
||||
"Top": 35,
|
||||
"Width": 210,
|
||||
"Height": 29,
|
||||
"Cursor": "crHandPoint",
|
||||
"Anchors": [
|
||||
"akTop",
|
||||
"akRight"
|
||||
],
|
||||
"Caption": "총공사비 계산(&C)",
|
||||
"Enabled": false,
|
||||
"Flat": true,
|
||||
"Glyph.Data": {
|
||||
"binary_size": 1094,
|
||||
"binary_hex": "42040000424d4204000000000000420000002800000020000000100000000100"
|
||||
},
|
||||
"NumGlyphs": 2,
|
||||
"ParentShowHint": false,
|
||||
"ShowHint": true,
|
||||
"OnClick": "sBtn_Calc_JabClick"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TSpeedButton",
|
||||
"name": "sBtn_Set_Rate",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 508,
|
||||
"Top": 6,
|
||||
"Width": 230,
|
||||
"Height": 58,
|
||||
"Cursor": "crHandPoint",
|
||||
"Caption": "[ 금 회 간 접 비 적 용 ] \r\r금회직접공사비 x 계약제잡비율",
|
||||
"Flat": true,
|
||||
"Font.Charset": "HANGEUL_CHARSET",
|
||||
"Font.Color": "clWindowText",
|
||||
"Font.Height": -12,
|
||||
"Font.Name": "굴림체",
|
||||
"Font.Style": [
|
||||
"fsBold"
|
||||
],
|
||||
"NumGlyphs": 2,
|
||||
"ParentFont": false,
|
||||
"ParentShowHint": false,
|
||||
"ShowHint": true,
|
||||
"OnClick": "sBtn_Set_RateClick"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TLabel",
|
||||
"name": "Label1",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 19,
|
||||
"Top": 73,
|
||||
"Width": 72,
|
||||
"Height": 12,
|
||||
"Caption": "부가가치세 :"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TLabel",
|
||||
"name": "Label2",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 355,
|
||||
"Top": 73,
|
||||
"Width": 90,
|
||||
"Height": 12,
|
||||
"Caption": "공급가액 절사 :"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TLabel",
|
||||
"name": "Label3",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 643,
|
||||
"Top": 73,
|
||||
"Width": 90,
|
||||
"Height": 12,
|
||||
"Caption": "총공사비 절사 :"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TRadioGroup",
|
||||
"name": "rd_Filter",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 6,
|
||||
"Top": 1,
|
||||
"Width": 443,
|
||||
"Height": 64,
|
||||
"Columns": 3,
|
||||
"ItemIndex": 2,
|
||||
"Items.Strings": [
|
||||
" 소 계(+=) 이상",
|
||||
" 계(+==) 이상",
|
||||
" 합 계(+===) 이상",
|
||||
" 총 계(+====) 이상",
|
||||
" 총합계(+=====) 이상"
|
||||
],
|
||||
"TabOrder": 0,
|
||||
"OnClick": "rd_FilterClick"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TwCombo",
|
||||
"name": "cmBx_Buga",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 59,
|
||||
"Left": 96,
|
||||
"Top": 70,
|
||||
"Width": 178,
|
||||
"Hint": "부가가치세의 종류를 선택합니다.",
|
||||
"Color": 8454143,
|
||||
"Ctl3D": false,
|
||||
"TabOrder": 1,
|
||||
"Font.Charset": "HANGEUL_CHARSET",
|
||||
"Font.Color": "clWindowText",
|
||||
"Font.Height": -12,
|
||||
"Font.Name": "굴림체",
|
||||
"Font.Style": [],
|
||||
"ImeName": "한국어(한글) (MS-IME98)",
|
||||
"ParentCtl3D": false,
|
||||
"ParentFont": false,
|
||||
"OnKeyDown": "cmBx_BugaKeyDown",
|
||||
"EnableNull": false,
|
||||
"ListOption.Color": 16776176,
|
||||
"ListOption.Font.Charset": "HANGEUL_CHARSET",
|
||||
"ListOption.Font.Color": "clBlack",
|
||||
"ListOption.Font.Height": -12,
|
||||
"ListOption.Font.Name": "굴림체",
|
||||
"ListOption.Font.Style": [],
|
||||
"ListOption.ShowTitle": true,
|
||||
"ListOption.Titles": "부가가치세",
|
||||
"Items.Strings": [
|
||||
"(0) 직접입력",
|
||||
"(1) 공급가액의 10%",
|
||||
"(2) 재료비의 10%",
|
||||
"(3) 재료비+산출경비의 10%"
|
||||
],
|
||||
"Values.Strings": [
|
||||
"0",
|
||||
"1",
|
||||
"2",
|
||||
"3"
|
||||
],
|
||||
"OnValueChange": "cmBx_ValueChange"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TwCombo",
|
||||
"name": "cmBx_JeolSa",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 60,
|
||||
"Left": 453,
|
||||
"Top": 70,
|
||||
"Width": 138,
|
||||
"Color": "clBlue",
|
||||
"Ctl3D": false,
|
||||
"TabOrder": 2,
|
||||
"Font.Charset": "HANGEUL_CHARSET",
|
||||
"Font.Color": "clWhite",
|
||||
"Font.Height": -12,
|
||||
"Font.Name": "굴림체",
|
||||
"Font.Style": [],
|
||||
"ImeName": "한국어(한글) (MS-IME98)",
|
||||
"ParentCtl3D": false,
|
||||
"ParentFont": false,
|
||||
"OnKeyDown": "cmBx_BugaKeyDown",
|
||||
"EnableNull": false,
|
||||
"ListOption.Color": "clMoneyGreen",
|
||||
"ListOption.Font.Charset": "HANGEUL_CHARSET",
|
||||
"ListOption.Font.Color": "clBlack",
|
||||
"ListOption.Font.Height": -12,
|
||||
"ListOption.Font.Name": "굴림체",
|
||||
"ListOption.Font.Style": [],
|
||||
"ListOption.ItemCount": 9,
|
||||
"ListOption.ShowTitle": true,
|
||||
"ListOption.Titles": "공급가액절사기준",
|
||||
"Items.Strings": [
|
||||
" 총공사비에서 조정",
|
||||
" 10원 미만",
|
||||
" 100원 미만",
|
||||
" 1,000원 미만",
|
||||
" 10,000원 미만",
|
||||
" 100,000원 미만",
|
||||
" 1,000,000원 미만",
|
||||
" 10,000,000원 미만",
|
||||
"100,000,000원 미만"
|
||||
],
|
||||
"Values.Strings": [
|
||||
"0",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8"
|
||||
],
|
||||
"OnValueChange": "cmBx_ValueChange"
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TwCombo",
|
||||
"name": "cmBx_Tot_Jeol",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Tag": 700,
|
||||
"Left": 740,
|
||||
"Top": 70,
|
||||
"Width": 138,
|
||||
"Hint": "총공사비 금액에서 절사 기준을 선택합니다.\r\n절사된 금액은 이윤에서 자동보정 됩니다.\r\n\r\n도급액 버림기준(기본기준 변경)을 선택하면 \r\n총공사비 조정기준을 선택할 수 없습니다.",
|
||||
"Color": "clBlue",
|
||||
"Ctl3D": false,
|
||||
"TabOrder": 3,
|
||||
"Font.Charset": "HANGEUL_CHARSET",
|
||||
"Font.Color": "clWhite",
|
||||
"Font.Height": -12,
|
||||
"Font.Name": "굴림체",
|
||||
"Font.Style": [],
|
||||
"ImeName": "한국어(한글) (MS-IME98)",
|
||||
"ParentCtl3D": false,
|
||||
"ParentFont": false,
|
||||
"ParentShowHint": false,
|
||||
"ShowHint": true,
|
||||
"OnKeyDown": "cmBx_BugaKeyDown",
|
||||
"EnableNull": false,
|
||||
"ListOption.Color": "clMoneyGreen",
|
||||
"ListOption.Font.Charset": "HANGEUL_CHARSET",
|
||||
"ListOption.Font.Color": "clBlack",
|
||||
"ListOption.Font.Height": -12,
|
||||
"ListOption.Font.Name": "굴림체",
|
||||
"ListOption.Font.Style": [],
|
||||
"ListOption.ItemCount": 9,
|
||||
"ListOption.ShowTitle": true,
|
||||
"ListOption.TitleColor": "clMoneyGreen",
|
||||
"ListOption.Titles": "총공사비절사기준",
|
||||
"Items.Strings": [
|
||||
" 이윤금액 직접입력",
|
||||
" 10원 미만",
|
||||
" 100원 미만",
|
||||
" 1,000원 미만",
|
||||
" 10,000원 미만",
|
||||
" 100,000원 미만",
|
||||
" 1,000,000원 미만",
|
||||
" 10,000,000원 미만",
|
||||
"100,000,000원 미만"
|
||||
],
|
||||
"Values.Strings": [
|
||||
"0",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8"
|
||||
],
|
||||
"OnValueChange": "cmBx_ValueChange"
|
||||
},
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"class": "TStatusBar",
|
||||
"name": "StBar",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 0,
|
||||
"Top": 595,
|
||||
"Width": 954,
|
||||
"Height": 19,
|
||||
"Panels": [
|
||||
{
|
||||
"Bevel": "pbNone",
|
||||
"Width": 259
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Width": 94
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Width": 94
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Width": 46
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Bevel": "pbRaised",
|
||||
"Width": 94
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Bevel": "pbRaised",
|
||||
"Width": 46
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Bevel": "pbRaised",
|
||||
"Width": 94
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Bevel": "pbRaised",
|
||||
"Width": 46
|
||||
},
|
||||
{
|
||||
"Bevel": "pbNone",
|
||||
"Width": 50
|
||||
}
|
||||
],
|
||||
"SimplePanel": false
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TRealDBGrid",
|
||||
"name": "rGrd_BoqXX",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 0,
|
||||
"Top": 100,
|
||||
"Width": 954,
|
||||
"Height": 139,
|
||||
"ImeName": "한국어(한글) (MS-IME98)",
|
||||
"TabOrder": 1,
|
||||
"Columns": [
|
||||
{
|
||||
"Footer.Style": [],
|
||||
"Group": 0,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "공종",
|
||||
"FieldName": "ITNUM",
|
||||
"ColWidth": 76,
|
||||
"GrpWidth": 34
|
||||
},
|
||||
{
|
||||
"Footer.Style": [],
|
||||
"Group": 1,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "명 칭",
|
||||
"FieldName": "NAME1",
|
||||
"ColWidth": 184,
|
||||
"GrpWidth": 186
|
||||
},
|
||||
{
|
||||
"Footer.Style": [],
|
||||
"Group": 2,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "규 격",
|
||||
"FieldName": "SIZE1",
|
||||
"ColWidth": 184,
|
||||
"GrpWidth": 186
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Color": "clMoneyGreen",
|
||||
"Footer.Style": [],
|
||||
"Group": 3,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "도 급 액",
|
||||
"ColWidth": 94,
|
||||
"GrpWidth": 94
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Color": "clGradientInactiveCaption",
|
||||
"Footer.Style": [],
|
||||
"Group": 4,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "금 액",
|
||||
"ColWidth": 94,
|
||||
"GrpWidth": 94
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Color": "clGradientInactiveCaption",
|
||||
"Footer.Style": [],
|
||||
"Group": 4,
|
||||
"LevelIndex": 1,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "비율",
|
||||
"ColWidth": 46,
|
||||
"GrpWidth": 46
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Color": "clGradientActiveCaption",
|
||||
"Footer.Style": [],
|
||||
"Group": 5,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "금 액",
|
||||
"ColWidth": 94,
|
||||
"GrpWidth": 94
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Color": "clGradientActiveCaption",
|
||||
"Footer.Style": [],
|
||||
"Group": 5,
|
||||
"LevelIndex": 1,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "비율",
|
||||
"ColWidth": 46,
|
||||
"GrpWidth": 46
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Color": "clInfoBk",
|
||||
"Footer.Style": [],
|
||||
"Group": 6,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "금 액",
|
||||
"ColWidth": 94,
|
||||
"GrpWidth": 94
|
||||
},
|
||||
{
|
||||
"Alignment": "taRightJustify",
|
||||
"Color": "clInfoBk",
|
||||
"Footer.Style": [],
|
||||
"Group": 6,
|
||||
"LevelIndex": 1,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "비율",
|
||||
"ColWidth": 46,
|
||||
"GrpWidth": 46
|
||||
}
|
||||
],
|
||||
"Groups": [
|
||||
{
|
||||
"Title.Caption": "공 종",
|
||||
"Title.Height": 22,
|
||||
"Title.Visible": false,
|
||||
"Width": 34,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "명칭",
|
||||
"Title.Height": 22,
|
||||
"Title.Visible": false,
|
||||
"Width": 186,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "규격",
|
||||
"Title.Height": 22,
|
||||
"Title.Visible": false,
|
||||
"Width": 186,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "도 급 액",
|
||||
"Title.Height": 22,
|
||||
"Title.Visible": false,
|
||||
"Width": 94,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "전회까지의 기성액",
|
||||
"Title.Height": 22,
|
||||
"Width": 140,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "금 회 기 성 액",
|
||||
"Title.Height": 22,
|
||||
"Width": 140,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "누 계",
|
||||
"Title.Height": 22,
|
||||
"Width": 140,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
}
|
||||
],
|
||||
"Footers": [],
|
||||
"Align": "alTop",
|
||||
"Headers.Lines.CellColor": "clBlack",
|
||||
"Headers.Lines.LevelColor": "clBlack",
|
||||
"Headers.ColHeight": 21,
|
||||
"Headers.GrpHeight": 46,
|
||||
"FixedStyle.Lines.CellColor": "clBlack",
|
||||
"FixedStyle.Lines.LevelColor": "clBlack",
|
||||
"GroupMode": true,
|
||||
"Indicators.Font.Charset": "DEFAULT_CHARSET",
|
||||
"Indicators.Font.Color": "clWindowText",
|
||||
"Indicators.Font.Height": -11,
|
||||
"Indicators.Font.Name": "Arial",
|
||||
"Indicators.Font.Style": [],
|
||||
"Indicators.ShowRowNo": false,
|
||||
"Indicators.Visible": false,
|
||||
"Lines.HorzColor": "clGray",
|
||||
"Lines.CellColor": "clBlack",
|
||||
"Options": [
|
||||
"wgoAlwaysShowSelection",
|
||||
"wgoArrowMove",
|
||||
"wgoConfirmDelete",
|
||||
"wgoEnterToTab",
|
||||
"wgoFocusRect",
|
||||
"wgoRowSelect"
|
||||
],
|
||||
"SelBgColor": "clGray",
|
||||
"DataSource": "ds_BoqXX",
|
||||
"OnDrawCell": "rGrd_BoqXXDrawCell",
|
||||
"ColRowHeight": 18,
|
||||
"GrpRowHeight": 22,
|
||||
"ColFixedCount": 0,
|
||||
"GrpFixedCount": 0
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TRealGrid",
|
||||
"name": "rGrd_Jab",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"Left": 0,
|
||||
"Top": 242,
|
||||
"Width": 954,
|
||||
"Height": 353,
|
||||
"ImeName": "한국어(한글) (MS-IME98)",
|
||||
"TabOrder": 2,
|
||||
"Columns": [
|
||||
{
|
||||
"Footer.Style": [],
|
||||
"Group": 0,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "공종",
|
||||
"DataWidth": 16,
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 34
|
||||
},
|
||||
{
|
||||
"Footer.Style": [],
|
||||
"Group": 1,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "명칭",
|
||||
"DataWidth": 30,
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 186
|
||||
},
|
||||
{
|
||||
"Alignment": "taCenter",
|
||||
"Footer.Style": [],
|
||||
"Group": 2,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "규격",
|
||||
"DataWidth": 30,
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 186
|
||||
},
|
||||
{
|
||||
"Color": "clMoneyGreen",
|
||||
"Footer.Style": [],
|
||||
"Group": 3,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "도급액",
|
||||
"DataType": "wdtFloat",
|
||||
"DisplayFormat": "#,#",
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 94
|
||||
},
|
||||
{
|
||||
"Color": "clGradientInactiveCaption",
|
||||
"Footer.Style": [],
|
||||
"Group": 4,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "전회금액",
|
||||
"DataType": "wdtFloat",
|
||||
"DisplayFormat": "#,#",
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 94
|
||||
},
|
||||
{
|
||||
"Color": "clGradientInactiveCaption",
|
||||
"Footer.Style": [],
|
||||
"Group": 4,
|
||||
"LevelIndex": 1,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "전율",
|
||||
"DataType": "wdtFloat",
|
||||
"DisplayFormat": "0.##;;#",
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 46
|
||||
},
|
||||
{
|
||||
"Color": "clGradientActiveCaption",
|
||||
"EditFormat": "#,#",
|
||||
"Footer.Style": [],
|
||||
"Group": 5,
|
||||
"Title.Caption": "금회금액",
|
||||
"DataType": "wdtFloat",
|
||||
"DisplayFormat": "#,#",
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 94
|
||||
},
|
||||
{
|
||||
"Color": "clGradientActiveCaption",
|
||||
"Footer.Style": [],
|
||||
"Group": 5,
|
||||
"LevelIndex": 1,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "금율",
|
||||
"DataType": "wdtFloat",
|
||||
"DisplayFormat": "0.##;;#",
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 46
|
||||
},
|
||||
{
|
||||
"Color": "clInfoBk",
|
||||
"Footer.Style": [],
|
||||
"Group": 6,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "누계금액",
|
||||
"DataType": "wdtFloat",
|
||||
"DisplayFormat": "#,#",
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 94
|
||||
},
|
||||
{
|
||||
"Color": "clInfoBk",
|
||||
"Footer.Style": [],
|
||||
"Group": 6,
|
||||
"LevelIndex": 1,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "누율",
|
||||
"DataType": "wdtFloat",
|
||||
"DisplayFormat": "0.##;;#",
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 46
|
||||
},
|
||||
{
|
||||
"Footer.Style": [],
|
||||
"Group": 7,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "구분",
|
||||
"DataWidth": 20,
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 78
|
||||
},
|
||||
{
|
||||
"EditStyle": "wesDataList",
|
||||
"Footer.Style": [],
|
||||
"Group": 7,
|
||||
"LevelIndex": 1,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "종류",
|
||||
"DataType": "wdtWord",
|
||||
"DataWidth": 2,
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 16
|
||||
},
|
||||
{
|
||||
"EditStyle": "wesNumber",
|
||||
"Footer.Style": [],
|
||||
"Group": 7,
|
||||
"LevelIndex": 2,
|
||||
"ReadOnly": true,
|
||||
"Title.Caption": "계약잡비율",
|
||||
"DataType": "wdtFloat",
|
||||
"DisplayFormat": "0.#####;;#",
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 106
|
||||
},
|
||||
{
|
||||
"Footer.Style": [],
|
||||
"Title.Caption": "D_Typ",
|
||||
"Visible": false,
|
||||
"DataType": "wdtSmall",
|
||||
"DataWidth": 2,
|
||||
"ColWidth": 64,
|
||||
"GrpWidth": 64
|
||||
}
|
||||
],
|
||||
"Groups": [
|
||||
{
|
||||
"Title.Caption": "공종",
|
||||
"Width": 34,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "명칭",
|
||||
"Width": 186,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "규격",
|
||||
"Width": 186,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "도급액",
|
||||
"Width": 94,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "전회기성",
|
||||
"Width": 140,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "금회기성",
|
||||
"Width": 140,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "누 계",
|
||||
"Width": 140,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Title.Caption": "기타",
|
||||
"Visible": false,
|
||||
"Width": 200,
|
||||
"Weights": {
|
||||
"binary_size": 16,
|
||||
"binary_hex": "01010101010101010101010101010101"
|
||||
}
|
||||
}
|
||||
],
|
||||
"Footers": [],
|
||||
"OnKeyDown": "rGrd_JabKeyDown",
|
||||
"Align": "alClient",
|
||||
"Headers.Lines.CellColor": "clBlack",
|
||||
"Headers.Lines.LevelColor": "clBlack",
|
||||
"Headers.Visible": false,
|
||||
"Headers.ColHeight": 21,
|
||||
"Headers.GrpHeight": 42,
|
||||
"FixedStyle.Lines.CellColor": "clBlack",
|
||||
"FixedStyle.Lines.LevelColor": "clBlack",
|
||||
"GroupMode": true,
|
||||
"Indicators.Font.Charset": "DEFAULT_CHARSET",
|
||||
"Indicators.Font.Color": "clWindowText",
|
||||
"Indicators.Font.Height": -11,
|
||||
"Indicators.Font.Name": "Arial",
|
||||
"Indicators.Font.Style": [],
|
||||
"Indicators.Visible": false,
|
||||
"Lines.HorzColor": "clGray",
|
||||
"Lines.CellColor": "clBlack",
|
||||
"Options": [
|
||||
"wgoAlwaysShowSelection",
|
||||
"wgoArrowMove",
|
||||
"wgoConfirmDelete",
|
||||
"wgoEditing",
|
||||
"wgoFocusRect"
|
||||
],
|
||||
"RowCount": 15,
|
||||
"SelBgColor": "clNavy",
|
||||
"SelTrans": 0,
|
||||
"OnCellEnter": "rGrd_JabCellEnter",
|
||||
"OnDrawRow": "rGrd_JabDrawRow",
|
||||
"OnDrawCell": "rGrd_JabDrawCell",
|
||||
"OnRowChange": "rGrd_JabRowChange",
|
||||
"OnBeforePost": "rGrd_JabBeforePost",
|
||||
"ColRowHeight": 18,
|
||||
"GrpRowHeight": 22,
|
||||
"ColFixedCount": 0,
|
||||
"GrpFixedCount": 0
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TApolloTable",
|
||||
"name": "tb_BoqXX",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"DatabaseName": "ST_Work",
|
||||
"CachedUpdates": false,
|
||||
"Filter": "(BDCODE1=\"T\") .and. (BDCODE1>\"T2\")",
|
||||
"Filtered": true,
|
||||
"FieldDefs": [],
|
||||
"IndexDefs": [
|
||||
{
|
||||
"Name": "SORTCODE",
|
||||
"Fields": "SORTCODE",
|
||||
"Source": "BOQ11.NSX"
|
||||
},
|
||||
{
|
||||
"Name": "BDCODE1",
|
||||
"Fields": "BDCODE1",
|
||||
"Source": "BOQ11.NSX"
|
||||
}
|
||||
],
|
||||
"IndexName": "SORTCODE",
|
||||
"TableName": "Boq11.dbf",
|
||||
"TableType": "ttSXNSX",
|
||||
"Left": 136,
|
||||
"Top": 104
|
||||
},
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"class": "TDataSource",
|
||||
"name": "ds_BoqXX",
|
||||
"flags": [],
|
||||
"child_pos": null,
|
||||
"properties": {
|
||||
"DataSet": "tb_BoqXX",
|
||||
"Left": 184,
|
||||
"Top": 104
|
||||
},
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
"""Annotated disassembly. usage: dis.py <mod> <va> <len|end:VA> [noret]
|
||||
Annotates: import thunks (jmp [IAT]), Delphi string literals, float constants, VMT-published method names."""
|
||||
import struct, sys, re, pe, capstone
|
||||
p = pe.PE(sys.argv[1])
|
||||
d = p.data
|
||||
pehdr = struct.unpack_from("<I", d, 0x3C)[0]
|
||||
imp_rva = struct.unpack_from("<I", d, pehdr + 24 + 104)[0]
|
||||
iat = {}
|
||||
q = imp_rva + p.base
|
||||
while True:
|
||||
olt, ts, fc, nm, ft = struct.unpack_from("<IIIII", p.read(q, 20))
|
||||
if not nm:
|
||||
break
|
||||
dll = p.read(nm + p.base, 64).split(b"\0")[0].decode()
|
||||
i = 0
|
||||
src = olt or ft
|
||||
while True:
|
||||
e = p.u32(src + p.base + 4 * i)
|
||||
if not e:
|
||||
break
|
||||
if e & 0x80000000:
|
||||
name = "#%d" % (e & 0xFFFF)
|
||||
else:
|
||||
name = p.read(e + p.base + 2, 128).split(b"\0")[0].decode("latin1")
|
||||
iat[ft + p.base + 4 * i] = dll.split(".")[0] + "!" + name
|
||||
i += 1
|
||||
q += 20
|
||||
# thunks: jmp dword ptr [iat]
|
||||
thunk = {}
|
||||
t = p.text
|
||||
for m in re.finditer(rb"\xff\x25(....)", t):
|
||||
a = struct.unpack("<I", m.group(1))[0]
|
||||
if a in iat:
|
||||
thunk[p.tva + m.start()] = iat[a]
|
||||
def demang(s):
|
||||
return s
|
||||
def ann(op, ins):
|
||||
out = []
|
||||
for h in re.findall(r"0x[0-9a-f]+", op):
|
||||
v = int(h, 16)
|
||||
if v in thunk:
|
||||
out.append(thunk[v])
|
||||
elif v in iat:
|
||||
out.append("[" + iat[v] + "]")
|
||||
elif p.va2off(v) is not None and v >= p.base + 0x1000:
|
||||
s = p.lstr(v)
|
||||
if s and len(s) >= 1 and all((c.isprintable() or c in "\r\n") for c in s) and len(s) < 300:
|
||||
out.append(repr(s))
|
||||
elif "qword" in op or "tbyte" in op:
|
||||
try:
|
||||
if "tbyte" in op:
|
||||
raw = p.read(v, 10)
|
||||
m_ = int.from_bytes(raw[:8], "little"); e_ = int.from_bytes(raw[8:], "little")
|
||||
sign = -1 if e_ & 0x8000 else 1; e_ &= 0x7FFF
|
||||
out.append("=%r" % (sign * m_ * 2.0 ** (e_ - 16383 - 63)))
|
||||
else:
|
||||
out.append("=%r" % p.f64(v))
|
||||
except Exception:
|
||||
pass
|
||||
elif "dword ptr [0x" in op and "fld" in ins.mnemonic or "fmul" in ins.mnemonic or "fdiv" in ins.mnemonic or "fadd" in ins.mnemonic or "fsub" in ins.mnemonic or "fcom" in ins.mnemonic:
|
||||
try:
|
||||
out.append("=%r" % struct.unpack("<f", p.read(v, 4))[0])
|
||||
except Exception:
|
||||
pass
|
||||
return (" ; " + " ".join(out)) if out else ""
|
||||
md = capstone.Cs(capstone.CS_ARCH_X86, capstone.CS_MODE_32)
|
||||
md.skipdata = True
|
||||
va = int(sys.argv[2], 16)
|
||||
a3 = sys.argv[3]
|
||||
if a3.startswith("end:"):
|
||||
n = int(a3[4:], 16) - va
|
||||
else:
|
||||
n = int(a3, 0)
|
||||
noret = len(sys.argv) > 4
|
||||
for ins in md.disasm(p.read(va, n), va):
|
||||
print(f"{ins.address:x}: {ins.mnemonic} {ins.op_str}{ann(ins.op_str, ins)}")
|
||||
if ins.mnemonic == "ret" and not noret:
|
||||
break
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
"""Inventory: exports, Delphi VMT classes + published methods, RCDATA DFM names. usage: inv.py <mod>"""
|
||||
import struct, sys, pe
|
||||
p = pe.PE(sys.argv[1])
|
||||
d = p.data
|
||||
# exports
|
||||
pehdr = struct.unpack_from("<I", d, 0x3C)[0]
|
||||
exp_rva = struct.unpack_from("<I", d, pehdr + 24 + 96)[0]
|
||||
if exp_rva:
|
||||
eva = exp_rva + p.base
|
||||
nfun, nnames, af, an, ao = struct.unpack_from("<IIIII", p.read(eva + 20, 20))
|
||||
for i in range(nnames):
|
||||
nm = p.read(p.u32(an + p.base + 4 * i) + p.base, 80).split(b"\0")[0].decode()
|
||||
ordi = struct.unpack_from("<H", p.read(ao + p.base + 2 * i, 2))[0]
|
||||
print("EXPORT", nm, hex(p.u32(af + p.base + 4 * ordi) + p.base))
|
||||
# VMTs
|
||||
t = p.text
|
||||
for o in range(0, len(t) - 80, 4):
|
||||
va = p.tva + o
|
||||
sp = struct.unpack_from("<I", t, o)[0]
|
||||
if sp != va + 76:
|
||||
continue
|
||||
vmt = va + 76
|
||||
cn = p.sstr(p.u32(vmt - 44))
|
||||
if not cn or not cn.isidentifier():
|
||||
continue
|
||||
par = p.u32(vmt - 36)
|
||||
pname = ""
|
||||
if par:
|
||||
pp = p.u32(par)
|
||||
if pp and p.va2off(pp):
|
||||
pname = p.sstr(p.u32(pp - 44)) or ""
|
||||
mt = p.u32(vmt - 52)
|
||||
meths = []
|
||||
if mt:
|
||||
cnt = struct.unpack_from("<H", p.read(mt, 2))[0]
|
||||
q = mt + 2
|
||||
for _ in range(cnt):
|
||||
sz = struct.unpack_from("<H", p.read(q, 2))[0]
|
||||
addr = p.u32(q + 2)
|
||||
nm = p.sstr(q + 6)
|
||||
meths.append((nm, addr))
|
||||
q += sz
|
||||
print("CLASS", cn, "vmt=%x" % vmt, "parent=" + pname, "nmeth=%d" % len(meths))
|
||||
for nm, a in meths:
|
||||
print(" M", nm, hex(a))
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
"""Find exact Delphi string literal (case-sensitive) and code refs. usage: litref.py <mod> lit..."""
|
||||
import sys, re, struct, pe
|
||||
p = pe.PE(sys.argv[1]); d = p.data; t = p.text
|
||||
for lit in sys.argv[2:]:
|
||||
b = lit.encode("cp949")
|
||||
pat = b"\xff\xff\xff\xff" + struct.pack("<I", len(b)) + b + b"\x00"
|
||||
for m in re.finditer(re.escape(pat), d):
|
||||
va = p.off2va(m.start() + 8)
|
||||
refs = [p.tva + x.start() - 1 for x in re.finditer(re.escape(struct.pack("<I", va)), t)]
|
||||
print(lit, hex(va), len(refs), " ".join(hex(r) for r in refs[:40]))
|
||||
+137
@@ -0,0 +1,137 @@
|
||||
import json
|
||||
import struct
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
class Reader:
|
||||
def __init__(self, data: bytes):
|
||||
self.data = data
|
||||
self.pos = 0
|
||||
|
||||
def take(self, size: int) -> bytes:
|
||||
value = self.data[self.pos : self.pos + size]
|
||||
if len(value) != size:
|
||||
raise EOFError(self.pos)
|
||||
self.pos += size
|
||||
return value
|
||||
|
||||
def byte(self) -> int:
|
||||
return self.take(1)[0]
|
||||
|
||||
def short_string(self) -> str:
|
||||
raw = self.take(self.byte())
|
||||
for encoding in ("cp949", "utf-8", "latin1"):
|
||||
try:
|
||||
return raw.decode(encoding)
|
||||
except UnicodeDecodeError:
|
||||
pass
|
||||
return raw.hex()
|
||||
|
||||
def integer(self) -> int:
|
||||
kind = self.byte()
|
||||
formats = {2: "<b", 3: "<h", 4: "<i", 19: "<q"}
|
||||
if kind not in formats:
|
||||
raise ValueError((self.pos - 1, "integer", kind))
|
||||
fmt = formats[kind]
|
||||
return struct.unpack(fmt, self.take(struct.calcsize(fmt)))[0]
|
||||
|
||||
def value(self):
|
||||
kind = self.byte()
|
||||
if kind == 0:
|
||||
return None
|
||||
if kind == 1:
|
||||
values = []
|
||||
while self.data[self.pos] != 0:
|
||||
values.append(self.value())
|
||||
self.pos += 1
|
||||
return values
|
||||
if kind in (2, 3, 4, 19):
|
||||
self.pos -= 1
|
||||
return self.integer()
|
||||
if kind == 5:
|
||||
return {"extended_hex": self.take(10).hex()}
|
||||
if kind in (6, 7):
|
||||
return self.short_string()
|
||||
if kind == 8:
|
||||
return False
|
||||
if kind == 9:
|
||||
return True
|
||||
if kind == 10:
|
||||
size = struct.unpack("<i", self.take(4))[0]
|
||||
return {"binary_size": size, "binary_hex": self.take(size).hex()[:64]}
|
||||
if kind == 11:
|
||||
values = []
|
||||
while True:
|
||||
item = self.short_string()
|
||||
if not item:
|
||||
return values
|
||||
values.append(item)
|
||||
if kind in (12, 20):
|
||||
size = struct.unpack("<i", self.take(4))[0]
|
||||
raw = self.take(size)
|
||||
encoding = "utf-8" if kind == 20 else "cp949"
|
||||
return raw.decode(encoding, errors="replace")
|
||||
if kind == 13:
|
||||
return None
|
||||
if kind == 14:
|
||||
items = []
|
||||
while self.data[self.pos] != 0:
|
||||
if self.byte() != 1:
|
||||
raise ValueError((self.pos - 1, "collection item"))
|
||||
props = self.properties()
|
||||
items.append(props)
|
||||
self.pos += 1
|
||||
return items
|
||||
if kind == 15:
|
||||
return struct.unpack("<f", self.take(4))[0]
|
||||
if kind in (16, 17, 21):
|
||||
raw = self.take(8)
|
||||
return struct.unpack("<d", raw)[0] if kind in (17, 21) else {"currency_raw": raw.hex()}
|
||||
if kind == 18:
|
||||
size = struct.unpack("<i", self.take(4))[0]
|
||||
return self.take(size * 2).decode("utf-16le", errors="replace")
|
||||
raise ValueError((self.pos - 1, "value", kind))
|
||||
|
||||
def properties(self) -> dict:
|
||||
props = {}
|
||||
while True:
|
||||
name = self.short_string()
|
||||
if not name:
|
||||
return props
|
||||
props[name] = self.value()
|
||||
|
||||
def component(self, root=False) -> dict:
|
||||
flags = []
|
||||
child_pos = None
|
||||
class_name = self.short_string()
|
||||
name = self.short_string()
|
||||
props = self.properties()
|
||||
children = []
|
||||
while self.data[self.pos] != 0:
|
||||
children.append(self.component())
|
||||
self.pos += 1
|
||||
return {
|
||||
"class": class_name,
|
||||
"name": name,
|
||||
"flags": flags,
|
||||
"child_pos": child_pos,
|
||||
"properties": props,
|
||||
"children": children,
|
||||
}
|
||||
|
||||
|
||||
def parse(path: Path) -> dict:
|
||||
reader = Reader(path.read_bytes())
|
||||
assert reader.take(4) == b"TPF0"
|
||||
result = reader.component(root=True)
|
||||
assert reader.pos == len(reader.data), (reader.pos, len(reader.data))
|
||||
return result
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
for argument in sys.argv[1:]:
|
||||
source = Path(argument)
|
||||
output = source.with_suffix(".json")
|
||||
output.write_text(json.dumps(parse(source), ensure_ascii=False, indent=2), encoding="utf-8")
|
||||
print(output)
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
"""Read-only PE helper for STmate modules. Load(path) -> object with va2off/read/u32/sstr/text."""
|
||||
import struct
|
||||
|
||||
SYS = "C:/경영정보(주)/System/"
|
||||
MODS = {
|
||||
"kj": SYS + "ST_CPM/ST_KanJub.CPM",
|
||||
"main": SYS + "STmate.Cpm",
|
||||
"func": SYS + "ST_Func_C.CPM",
|
||||
"nae": SYS + "ST_CPM/ST_P_Nae.CPM",
|
||||
"boq": SYS + "ST_CPM/ST_Boq.CPM",
|
||||
"plist": SYS + "ST_CPM/ST_PList.CPM",
|
||||
"prt": SYS + "ST_CPM/ST_Prt.CPM",
|
||||
"conest": SYS + "ST_CPM/ST_P_ConEst.CPM",
|
||||
}
|
||||
|
||||
|
||||
class PE:
|
||||
def __init__(self, path):
|
||||
if path in MODS:
|
||||
path = MODS[path]
|
||||
self.path = path
|
||||
self.data = d = open(path, "rb").read()
|
||||
pe = struct.unpack_from("<I", d, 0x3C)[0]
|
||||
nsec = struct.unpack_from("<H", d, pe + 6)[0]
|
||||
optsz = struct.unpack_from("<H", d, pe + 20)[0]
|
||||
self.base = struct.unpack_from("<I", d, pe + 24 + 28)[0]
|
||||
self.secs = []
|
||||
off = pe + 24 + optsz
|
||||
for i in range(nsec):
|
||||
name = d[off + i * 40: off + i * 40 + 8].rstrip(b"\0").decode("latin1")
|
||||
vs, va, rs, ra = struct.unpack_from("<IIII", d, off + i * 40 + 8)
|
||||
self.secs.append((name, va + self.base, max(vs, rs), ra, rs))
|
||||
n, va, size, ra, rs = self.secs[0]
|
||||
self.tva, self.text = va, d[ra: ra + rs]
|
||||
|
||||
def va2off(self, va):
|
||||
for n, sva, size, ra, rs in self.secs:
|
||||
if sva <= va < sva + rs:
|
||||
return ra + va - sva
|
||||
return None
|
||||
|
||||
def off2va(self, o):
|
||||
for n, sva, size, ra, rs in self.secs:
|
||||
if ra <= o < ra + rs:
|
||||
return sva + o - ra
|
||||
return None
|
||||
|
||||
def read(self, va, n):
|
||||
o = self.va2off(va)
|
||||
return self.data[o: o + n]
|
||||
|
||||
def u32(self, va):
|
||||
o = self.va2off(va)
|
||||
return None if o is None else struct.unpack_from("<I", self.data, o)[0]
|
||||
|
||||
def f64(self, va):
|
||||
o = self.va2off(va)
|
||||
return struct.unpack_from("<d", self.data, o)[0]
|
||||
|
||||
def sstr(self, va):
|
||||
o = self.va2off(va)
|
||||
if o is None:
|
||||
return None
|
||||
n = self.data[o]
|
||||
return self.data[o + 1: o + 1 + n].decode("cp949", "replace")
|
||||
|
||||
def lstr(self, va):
|
||||
"""Delphi AnsiString literal: va points at chars; length at va-4."""
|
||||
o = self.va2off(va)
|
||||
if o is None:
|
||||
return None
|
||||
n = struct.unpack_from("<I", self.data, o - 4)[0]
|
||||
if n > 4096:
|
||||
return None
|
||||
return self.data[o: o + n].decode("cp949", "replace")
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
"""List/extract RCDATA resources. usage: rsrc.py <mod> [NAME outfile]"""
|
||||
import struct, sys, pe
|
||||
p = pe.PE(sys.argv[1])
|
||||
rs = [s for s in p.secs if s[0] == ".rsrc"][0]
|
||||
rbase_va = rs[1]
|
||||
def rd(va, fmt):
|
||||
return struct.unpack_from(fmt, p.data, p.va2off(va))
|
||||
def name_of(off):
|
||||
n = rd(rbase_va + off, "<H")[0]
|
||||
return p.read(rbase_va + off + 2, 2 * n).decode("utf-16le")
|
||||
def walk(off, path, out):
|
||||
_, _, _, _, nn, ni = rd(rbase_va + off, "<IIHHHH")
|
||||
for i in range(nn + ni):
|
||||
nid, sub = rd(rbase_va + off + 16 + 8 * i, "<II")
|
||||
key = name_of(nid & 0x7FFFFFFF) if nid & 0x80000000 else nid
|
||||
if sub & 0x80000000:
|
||||
walk(sub & 0x7FFFFFFF, path + [key], out)
|
||||
else:
|
||||
drva, size, _, _ = rd(rbase_va + sub, "<IIII")
|
||||
out.append((path + [key], drva + p.base, size))
|
||||
out = []
|
||||
walk(0, [], out)
|
||||
if len(sys.argv) > 3:
|
||||
for path, va, size in out:
|
||||
if path[0] == 10 and path[1] == sys.argv[2]:
|
||||
open(sys.argv[3], "wb").write(p.read(va, size)); print("wrote", size)
|
||||
else:
|
||||
for path, va, size in out:
|
||||
if path[0] == 10:
|
||||
print(path[1], hex(va), size)
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
"""Find cp949 Delphi string literals containing a substring and list code refs. usage: strfind.py <mod> <substr>..."""
|
||||
import sys, re, struct, pe
|
||||
p = pe.PE(sys.argv[1])
|
||||
d = p.data; t = p.text
|
||||
refs = {}
|
||||
for m in re.finditer(rb"[\xb8-\xbf\xba\x68](....)", t):
|
||||
pass
|
||||
pat_cache = {}
|
||||
def code_refs(va):
|
||||
b = struct.pack("<I", va)
|
||||
return [p.tva + m.start() - 1 for m in re.finditer(re.escape(b), t)]
|
||||
for sub in sys.argv[2:]:
|
||||
sb = sub.encode("cp949")
|
||||
seen = set()
|
||||
for m in re.finditer(re.escape(sb), d):
|
||||
o = m.start()
|
||||
# walk back to Delphi string start (len dword at s-4, refcnt -1 at s-8)
|
||||
s = o
|
||||
while s > o - 300:
|
||||
if d[s - 8: s - 4] == b"\xff\xff\xff\xff":
|
||||
n = struct.unpack_from("<I", d, s - 4)[0]
|
||||
if s + n >= o + len(sb) and n < 2000:
|
||||
break
|
||||
s -= 1
|
||||
else:
|
||||
continue
|
||||
va = p.off2va(s)
|
||||
if va in seen or va is None:
|
||||
continue
|
||||
seen.add(va)
|
||||
txt = p.lstr(va)
|
||||
r = code_refs(va)
|
||||
print(hex(va), repr(txt)[:120], [hex(x) for x in r[:8]])
|
||||
@@ -0,0 +1,109 @@
|
||||
// STMATE 재현 앱 기성 계산(progress_calc.js) — 원본 정적 분석 규칙 시험용 stdin JSON 실행기
|
||||
// 입력 { mode, args } → 출력 JSON · 근거: 지식DB STmate/REA 분석/33_기성준공단계_작업자료_20261114
|
||||
const Progress = require("../../tools/stmate-test/progress_calc.js");
|
||||
|
||||
// 합성 계약 기준 — leaves [{id, qty, m, l, s, pct, gov}] · lines [{code, amount}] · direct · contractFinal
|
||||
function mkBase(spec) {
|
||||
const leaves = spec.leaves.map((x, i) => {
|
||||
const amt = {
|
||||
mAmt: Math.trunc(x.m * x.qty + 1e-9),
|
||||
lAmt: Math.trunc(x.l * x.qty + 1e-9),
|
||||
sAmt: Math.trunc(x.s * x.qty + 1e-9),
|
||||
};
|
||||
amt.tAmt = amt.mAmt + amt.lAmt + amt.sAmt;
|
||||
return {
|
||||
id: x.id,
|
||||
recno: i,
|
||||
code: x.id,
|
||||
name: x.id,
|
||||
spec: "",
|
||||
unit: x.pct ? "%" : "식",
|
||||
gov: !!x.gov,
|
||||
pct: !!x.pct,
|
||||
qty: x.qty,
|
||||
u: { m: x.m, l: x.l, s: x.s },
|
||||
amt,
|
||||
};
|
||||
});
|
||||
const direct =
|
||||
spec.direct != null
|
||||
? spec.direct
|
||||
: leaves.filter((l) => !l.gov).reduce((a, l) => a + l.amt.tAmt, 0);
|
||||
const lines = spec.lines.map((l) => ({ code: l.code, label: l.code, amount: l.amount }));
|
||||
const ratePct = Object.fromEntries(lines.map((l) => [l.code, (l.amount / direct) * 100]));
|
||||
const rates = Object.fromEntries(lines.map((l) => [l.code, ratePct[l.code] / 100]));
|
||||
return {
|
||||
leaves,
|
||||
lines,
|
||||
rates,
|
||||
ratePct,
|
||||
direct,
|
||||
kj: { contractFinal: spec.contractFinal || 0 },
|
||||
nodes: [],
|
||||
};
|
||||
}
|
||||
|
||||
const MODES = {
|
||||
cap: ({ cases }) => cases.map((c) => Progress.capCur(c[0], c[1], c[2], c[3])),
|
||||
jab: ({ spec, cur, opt, prev, accDirect }) =>
|
||||
Progress.jabFor(mkBase(spec), cur, opt || {}, prev || null, accDirect),
|
||||
run: ({ spec, rounds, seed }) => Progress.run(mkBase(spec), rounds, seed),
|
||||
store({ spec, rounds }) {
|
||||
const base = mkBase(spec);
|
||||
const all = Progress.run(base, rounds);
|
||||
const st = Progress.toStorage(base, all[0]);
|
||||
const rows = st.boq.map((u) => Object.assign({}, u));
|
||||
const fs = Progress.fromStorage(base, rows, st.prjlst, st.smt);
|
||||
// 제 1 회 저장본을 「전회」로 다시 읽어 제 2 회를 셈 — STmate 회차 생성(전회<-누계, 금회=0)과 같은 흐름
|
||||
const seedRows = st.boq.map((u) =>
|
||||
Object.assign({}, u, {
|
||||
QTY3: u.QTY2,
|
||||
QTY4: 0,
|
||||
M_AMT3: u.M_AMT2,
|
||||
L_AMT3: u.L_AMT2,
|
||||
S_AMT3: u.S_AMT2,
|
||||
T_AMT3: u.T_AMT2,
|
||||
}),
|
||||
);
|
||||
const smt3 = Object.fromEntries(
|
||||
Object.entries(st.smt["2_KANJUB"]).map(([k, v]) => [k.replace(/^2_/, "3_"), v]),
|
||||
);
|
||||
const fs2 = Progress.fromStorage(base, seedRows, { K_ORD: 2 }, smt3);
|
||||
const next = Progress.run(base, [rounds[1]], fs2.seed);
|
||||
return { all, st, fs, fs2, next };
|
||||
},
|
||||
// 실제 STC(설계 판) → 계약 기준 → 회차 → 저장 형식
|
||||
real({ load, opts, rounds }) {
|
||||
const Calc = require("../../tools/stmate-test/calc.js");
|
||||
const Change = require("../../tools/stmate-test/change_calc.js");
|
||||
const Contract = require("../../tools/stmate-test/contract_calc.js");
|
||||
const state = load.sim_state;
|
||||
const comp = Calc.calculateAll(state);
|
||||
const tree = Change.buildTree(load.boq_rows, state, comp, [1]);
|
||||
const conv = Contract.convert(tree, opts, 1, null);
|
||||
const kj = Contract.contractKanjub(conv, state.kanjubStages[1] || state.kanjubConfig);
|
||||
const base = Progress.contractBase(conv, kj);
|
||||
const all = Progress.run(base, rounds);
|
||||
const last = all[all.length - 1];
|
||||
const st = Progress.toStorage(base, last);
|
||||
const lv = Progress.aggregate(base, last, 3).map((nd) => nd.level);
|
||||
return {
|
||||
direct: base.direct,
|
||||
lines: base.lines.map((l) => [l.code, l.amount]),
|
||||
cur: all.map((r) => r.totals.cur),
|
||||
accT: all.map((r) => r.totals.acc.tAmt),
|
||||
rounds: all.map((r) => r.jab),
|
||||
st,
|
||||
lv,
|
||||
gov: base.leaves.map((l) => l.gov),
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
let buf = "";
|
||||
process.stdin.setEncoding("utf8");
|
||||
process.stdin.on("data", (d) => (buf += d));
|
||||
process.stdin.on("end", () => {
|
||||
const inp = JSON.parse(buf);
|
||||
process.stdout.write(JSON.stringify(MODES[inp.mode](inp.args || {})));
|
||||
});
|
||||
@@ -1,8 +1,9 @@
|
||||
"""STMATE 재현 앱 기성·실행 계산(progress_calc.js · exec_calc.js) — 자기 일관성 지킴 시험.
|
||||
|
||||
기성·실행 STC/XLSX 표본이 0건(지식DB STmate/old/20_분석 27 §9 · 35 §5)이라 원 단위 정답 대조 없음.
|
||||
지키는 것: 전회+금회=누계 · 100% 누계 = 계약 금액 · 잔량 0
|
||||
· 금회 제잡비 = trunc(금회직접 × 계약잡비율)
|
||||
지키는 것: 전회+금회=누계(수량) · 금액은 칸마다 따로 버림(끝전 1원 이내) · 100% 누계 = 계약 금액 · 잔량 0
|
||||
· 금회 제잡비 = trunc(계약잡비율% × 금회직접 / 100) · 마지막 회차 = 도급 − 전회
|
||||
(원본 규칙 근거 — 지식DB STmate/REA 분석/33_기성준공단계_작업자료_20261114)
|
||||
· 부가세 4택 · 집계수준 머리 합 · 중기 실행단가 성분 합 = 절사 목표 · 실행율 100% = 설계.
|
||||
"""
|
||||
|
||||
@@ -48,12 +49,13 @@ def prog():
|
||||
|
||||
|
||||
def test_round_prev_cur_acc(prog):
|
||||
"""회차마다 전회+금회=누계 · 다음 회차 전회 = 앞 회차 누계."""
|
||||
"""회차마다 수량 전회+금회=누계 · 금액 끝전 칸당 1원 이내 · 다음 회차 전회 = 앞 회차 누계."""
|
||||
runs = prog["out"]["out"]
|
||||
for k, rd in enumerate(runs):
|
||||
for r in rd["rows"]:
|
||||
for key in ("mAmt", "lAmt", "sAmt", "tAmt"):
|
||||
assert r["prev"][key] + r["cur"][key] == r["acc"][key]
|
||||
assert abs(r["prevQty"] + r["curQty"] - r["accQty"]) < 1e-9
|
||||
for key in ("mAmt", "lAmt", "sAmt"):
|
||||
assert abs(r["prev"][key] + r["cur"][key] - r["acc"][key]) <= 1
|
||||
if k:
|
||||
prev = next(x for x in runs[k - 1]["rows"] if x["id"] == r["id"])
|
||||
assert r["prev"] == prev["acc"] and r["prevQty"] == prev["accQty"]
|
||||
@@ -69,13 +71,15 @@ def test_full_progress_equals_contract(prog):
|
||||
|
||||
|
||||
def test_jab_is_cur_direct_times_contract_rate(prog):
|
||||
"""금회 제잡비 = trunc(금회직접공사비 × 계약잡비율) · 부가세 4택."""
|
||||
"""금회 제잡비 = trunc(계약잡비율% × 금회직접 / 100) · 마지막 회차 누계 = 도급 · 부가세 4택."""
|
||||
rates = prog["out"]["base"]["rates"]
|
||||
for rd, mode in zip(prog["out"]["out"], (1, 2, 3)):
|
||||
cur, jab = rd["totals"]["cur"], rd["jab"]["cur"]
|
||||
assert jab["direct"] == cur["tAmt"]
|
||||
for it in jab["items"]:
|
||||
assert it["amount"] == int(cur["tAmt"] * rates[it["code"]] + 1e-9)
|
||||
if jab["final"]:
|
||||
continue
|
||||
assert it["amount"] == int(rates[it["code"]] * 100 * cur["tAmt"] / 100 + 1e-9)
|
||||
expect_vat = {
|
||||
1: int(jab["supply"] * 0.1),
|
||||
2: int(cur["mAmt"] * 0.1),
|
||||
|
||||
@@ -0,0 +1,229 @@
|
||||
"""STMATE 재현 앱 기성 계산(progress_calc.js) — 원본 정적 분석으로 복원한 규칙 지킴 시험.
|
||||
|
||||
근거: 지식DB STmate/REA 분석/33_기성준공단계_작업자료_20261114 (ST_KanJub · ST_Boq · STmate · ST_P_ConEst)
|
||||
- 칸 번호 1 계약 · 2 누계 · 3 전회 · 4 금회 (열→칸 표 '1342')
|
||||
- 금회수량 상한 · 누계 = 전회 + 금회 (ST_Boq 0x4f4a2f~0x4f4ceb)
|
||||
- 금액은 칸마다 따로 버림 (ST_Boq 0x4fc674 · 0x4fce6e)
|
||||
- 제잡비 금회 = MROUNDUD(계약잡비율% × 금회직접 / 100, 0, 0) · 마지막 회차 = 도급 − 전회 · 상한 (0x4cdec0)
|
||||
- 부가세 4택 · 공급가액/총공사비 절사 → 이윤 보정 · 1.1 나눔 · 1~10원 반복 (0x4ce2c8 · 0x4ce55c · 0x4ce6c4)
|
||||
- 저장: PRJLST COSTW3 = 누계 총공사비 · COSTW4 = 금회 · SMT [2_KANJUB]/[4_KANJUB] 「n_C_코드」
|
||||
원본 실행 수치 대조 없음 — 아래 기대값은 원본 명령 순서를 파이썬으로 따로 옮긴 것.
|
||||
"""
|
||||
|
||||
import json
|
||||
import math
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
HELPER = Path(__file__).with_name("helper_stmate_progress_rea.cjs")
|
||||
|
||||
SPEC = {
|
||||
"leaves": [
|
||||
{"id": "a", "qty": 10, "m": 3.3, "l": 7.7, "s": 1.1},
|
||||
{"id": "b", "qty": 3, "m": 1000.5, "l": 333.3, "s": 0},
|
||||
{"id": "p", "qty": 2.5, "m": 4000, "l": 0, "s": 0, "pct": True},
|
||||
],
|
||||
"lines": [
|
||||
{"code": "KANNO", "amount": 1234},
|
||||
{"code": "SANBO", "amount": 377},
|
||||
{"code": "ILBAN", "amount": 901},
|
||||
{"code": "IYUN", "amount": 1517},
|
||||
],
|
||||
"contractFinal": 30000,
|
||||
}
|
||||
|
||||
|
||||
def _run(mode, args):
|
||||
out = subprocess.check_output(
|
||||
["node", str(HELPER)],
|
||||
input=json.dumps({"mode": mode, "args": args}, ensure_ascii=False),
|
||||
text=True,
|
||||
encoding="utf-8",
|
||||
)
|
||||
return json.loads(out)
|
||||
|
||||
|
||||
def _trunc(x, digits=0):
|
||||
f = 10.0**digits
|
||||
return math.trunc(x * f + (1e-9 if x >= 0 else -1e-9)) / f
|
||||
|
||||
|
||||
def _native_jab(lines, direct, cur, opt, prev=None, acc_direct=None):
|
||||
"""ST_KanJub 0x4cdec0 → 0x4ce6c4 순서를 그대로 옮김(이윤 행 = 마지막 요율 행)."""
|
||||
dT = cur["mAmt"] + cur["lAmt"] + cur["sAmt"]
|
||||
final = acc_direct == direct
|
||||
items = {}
|
||||
for code, amt in lines:
|
||||
p = (prev or {}).get(code, 0)
|
||||
a = amt - p if final else _trunc(amt / direct * 100 * dT / 100)
|
||||
if a >= amt + p:
|
||||
a = amt - p
|
||||
items[code] = a
|
||||
mode = opt.get("vatMode", 1)
|
||||
sj, tj = abs(opt.get("supplyJeol", 0)), abs(opt.get("totalJeol", 0))
|
||||
if sj:
|
||||
tj = 0
|
||||
|
||||
def settle():
|
||||
sup = dT + sum(items.values())
|
||||
vat = {
|
||||
0: opt.get("vatManual", 0),
|
||||
1: _trunc(sup * 0.1),
|
||||
2: _trunc(cur["mAmt"] * 0.1),
|
||||
3: _trunc((cur["mAmt"] + cur["sAmt"]) * 0.1),
|
||||
}[mode]
|
||||
return sup, vat, sup + vat
|
||||
|
||||
sup, vat, tot = settle()
|
||||
orig = tot
|
||||
if sj or tj:
|
||||
cut = sup - _trunc(sup, -sj) if sj else tot - _trunc(tot, -tj)
|
||||
if tj and mode == 1:
|
||||
cut = _trunc(cut / 1.1)
|
||||
items["IYUN"] -= cut
|
||||
sup, vat, tot = settle()
|
||||
if tj and mode == 1:
|
||||
target = _trunc(orig, -tj)
|
||||
while 1 <= round(tot - target) <= 10:
|
||||
items["IYUN"] -= 1
|
||||
sup, vat, tot = settle()
|
||||
return items, sup, vat, tot
|
||||
|
||||
|
||||
def test_cap_cur_qty():
|
||||
"""금회수량 상한 — 같은 부호 · |전회+금회| > |계약| 이면 금회 = 계약 − 전회 · 허용 설정이면 그대로."""
|
||||
got = _run(
|
||||
"cap",
|
||||
{
|
||||
"cases": [
|
||||
[10, 4, 7, False],
|
||||
[10, 4, 6, False],
|
||||
[10, 4, 7, True],
|
||||
[-5, -2, -4, False],
|
||||
[10, 0, -3, False],
|
||||
]
|
||||
},
|
||||
)
|
||||
assert got == [6, 6, 7, -3, -3]
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"opt",
|
||||
[
|
||||
{"vatMode": 1},
|
||||
{"vatMode": 2},
|
||||
{"vatMode": 3},
|
||||
{"vatMode": 0, "vatManual": 777},
|
||||
{"vatMode": 1, "supplyJeol": 2},
|
||||
{"vatMode": 1, "totalJeol": 2},
|
||||
{"vatMode": 1, "totalJeol": 3},
|
||||
{"vatMode": 2, "totalJeol": 2},
|
||||
{"vatMode": 1, "supplyJeol": 3, "totalJeol": 2},
|
||||
],
|
||||
)
|
||||
def test_jab_matches_native_order(opt):
|
||||
"""기성 제잡비 계산서 — 요율 행 · 부가세 4택 · 절사 → 이윤 보정 · 두 절사 하나만."""
|
||||
cur = {"mAmt": 2345, "lAmt": 6789, "sAmt": 1011, "tAmt": 10145}
|
||||
direct = 23456
|
||||
spec = dict(SPEC, direct=direct)
|
||||
j = _run("jab", {"spec": spec, "cur": cur, "opt": opt, "accDirect": 12000})
|
||||
lines = [(x["code"], x["amount"]) for x in SPEC["lines"]]
|
||||
items, sup, vat, tot = _native_jab(lines, direct, cur, opt, acc_direct=12000)
|
||||
assert {it["code"]: it["amount"] for it in j["items"]} == items
|
||||
assert (j["supply"], j["vat"], j["total"]) == (sup, vat, tot)
|
||||
if opt.get("supplyJeol"):
|
||||
assert sup % 10 ** opt["supplyJeol"] == 0
|
||||
|
||||
|
||||
def test_jab_final_round_closes_to_contract():
|
||||
"""누계직접 = 도급직접 이면 요율 행 금회 = 도급 − 전회 (0x4cdfae)."""
|
||||
cur = {"mAmt": 100, "lAmt": 200, "sAmt": 0, "tAmt": 300}
|
||||
prev = {
|
||||
"direct": 0,
|
||||
"items": [{"code": "KANNO", "amount": 1000}, {"code": "IYUN", "amount": 9}],
|
||||
}
|
||||
spec = dict(SPEC, direct=5000)
|
||||
j = _run("jab", {"spec": spec, "cur": cur, "opt": {}, "prev": prev, "accDirect": 5000})
|
||||
got = {it["code"]: it["amount"] for it in j["items"]}
|
||||
assert j["final"] and got["KANNO"] == 1234 - 1000 and got["SANBO"] == 377
|
||||
assert got["IYUN"] == 1517 - 9
|
||||
|
||||
|
||||
def test_amounts_rounded_per_slot():
|
||||
"""금회·누계 금액은 각 수량으로 따로 버림 — 전회+금회 ≠ 누계 가 1원 생길 수 있음."""
|
||||
rounds = [{"qtyById": {"a": 3.3, "b": 1}}, {"qtyById": {"a": 3.3, "b": 1}}]
|
||||
out = _run("run", {"spec": SPEC, "rounds": rounds})
|
||||
a2 = next(r for r in out[1]["rows"] if r["id"] == "a")
|
||||
assert a2["accQty"] == 6.6 and a2["cur"]["mAmt"] == math.trunc(3.3 * 3.3)
|
||||
assert a2["acc"]["mAmt"] == math.trunc(3.3 * 6.6 + 1e-9)
|
||||
assert a2["prev"] == next(r for r in out[0]["rows"] if r["id"] == "a")["acc"]
|
||||
gaps = [a2["prev"][k] + a2["cur"][k] - a2["acc"][k] for k in ("mAmt", "lAmt", "sAmt")]
|
||||
assert all(abs(g) <= 1 for g in gaps) and any(gaps)
|
||||
|
||||
|
||||
def test_pct_leaf_first_round_full_and_cap():
|
||||
"""첫 기성 — % 단위 공종 금회 = 계약수량(STmate 0x55cd4f) · 다음 회차 상한으로 0."""
|
||||
out = _run("run", {"spec": SPEC, "rounds": [{"pct": 10}, {"pct": 50}]})
|
||||
p1 = next(r for r in out[0]["rows"] if r["id"] == "p")
|
||||
p2 = next(r for r in out[1]["rows"] if r["id"] == "p")
|
||||
assert p1["curQty"] == 2.5 and p2["curQty"] == 0 and p2["remainQty"] == 0
|
||||
a1 = next(r for r in out[0]["rows"] if r["id"] == "a")
|
||||
assert a1["curQty"] == 1 and out[0]["round"] == 1
|
||||
|
||||
|
||||
def test_storage_slots_and_reload():
|
||||
"""저장 형식 — 칸 1 계약 · 2 누계 · 3 전회 · 4 금회 · COSTW3/COSTW4 · [n_KANJUB] · 다시 읽어 다음 회차."""
|
||||
rounds = [{"qtyById": {"a": 4, "b": 1}}, {"qtyById": {"a": 3, "b": 1}, "vatMode": 2}]
|
||||
got = _run("store", {"spec": SPEC, "rounds": rounds})
|
||||
r1 = got["all"][0]
|
||||
st = got["st"]
|
||||
a = next(u for u in st["boq"] if u["id"] == "a")
|
||||
assert (a["QTY1"], a["QTY2"], a["QTY3"], a["QTY4"]) == (10, 4, 0, 4)
|
||||
assert st["prjlst"]["PCLASS"] == 6 and st["prjlst"]["K_ORD"] == 1
|
||||
assert st["prjlst"]["COSTW4"] == r1["jab"]["cur"]["total"]
|
||||
assert st["prjlst"]["COSTW3"] == r1["jab"]["acc"]["total"]
|
||||
assert st["prjlst"]["TCOST4"] == r1["totals"]["cur"]["tAmt"]
|
||||
assert st["smt"]["4_KANJUB"]["4_C_KANNO"] == r1["jab"]["cur"]["items"][0]["amount"]
|
||||
assert st["smt"]["2_KANJUB"]["2_C_IYUN"] == r1["jab"]["acc"]["items"][-1]["amount"]
|
||||
assert got["fs"]["round"]["qtyById"]["a"] == 4
|
||||
# 저장본을 전회로 다시 읽은 제 2 회 = 한 번에 돌린 제 2 회
|
||||
nxt, ref = got["next"][0], got["all"][1]
|
||||
assert nxt["round"] == 2
|
||||
for x, y in zip(nxt["rows"], ref["rows"]):
|
||||
assert (x["prevQty"], x["curQty"], x["accQty"]) == (y["prevQty"], y["curQty"], y["accQty"])
|
||||
assert x["prev"] == y["prev"] and x["cur"] == y["cur"] and x["acc"] == y["acc"]
|
||||
assert [i["amount"] for i in nxt["jab"]["prev"]["items"]] == [
|
||||
i["amount"] for i in ref["jab"]["prev"]["items"]
|
||||
]
|
||||
assert nxt["jab"]["cur"]["items"] == ref["jab"]["cur"]["items"]
|
||||
|
||||
|
||||
def test_real_stc_storage_totals():
|
||||
"""실제 STC(봉화2024 설계 판) — 저장 칸 합 = PRJLST 직접비 · 집계수준 3 이상 머리만 · 100% = 도급."""
|
||||
root = Path(__file__).resolve().parents[2]
|
||||
sys.path.insert(0, str(root / "tools/stmate-test"))
|
||||
sys.path.insert(0, str(Path(__file__).parent))
|
||||
import server # noqa: PLC0415
|
||||
from test_stmate_kanjub_stc import DOCS, STCS # noqa: PLC0415
|
||||
|
||||
load = server.api_load(server.LoadReq(source_path=str(DOCS / STCS["봉화2024"])))
|
||||
rounds = [{"pct": 40, "vatMode": 1, "totalJeol": 3}, {"pct": 60, "vatMode": 1}]
|
||||
got = _run(
|
||||
"real", {"load": load, "opts": {"rateL": 88, "rateM": 88, "rateS": 88}, "rounds": rounds}
|
||||
)
|
||||
st = got["st"]
|
||||
rows = [u for u, g in zip(st["boq"], got["gov"]) if not g]
|
||||
for n in (1, 2, 3, 4):
|
||||
assert sum(u[f"T_AMT{n}"] for u in rows) == st["prjlst"][f"TCOST{n}"]
|
||||
assert all(lv >= 3 for lv in got["lv"])
|
||||
r1, r2 = got["rounds"]
|
||||
items, sup, vat, tot = _native_jab(
|
||||
got["lines"], got["direct"], got["cur"][0], rounds[0], None, got["accT"][0]
|
||||
)
|
||||
assert {i["code"]: i["amount"] for i in r1["cur"]["items"]} == items
|
||||
assert (r1["cur"]["supply"], r1["cur"]["vat"], r1["cur"]["total"]) == (sup, vat, tot)
|
||||
assert r2["cur"]["final"] and st["prjlst"]["TCOST2"] == got["direct"]
|
||||
assert st["smt"]["2_KANJUB"]["2_C_KANNO"] == r2["acc"]["items"][0]["amount"]
|
||||
Reference in New Issue
Block a user