Function at 0x412c60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x418
mov eax, dword [0x4a2eb0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [0x4a474c]
push edi
xor edi, edi
mov dword [ebp - 0x40c], edi
mov dword [ebp - 0x404], edi
mov eax, dword [ecx + 0x10]
cmp word [eax + 0x28], di
jl 0x412cef
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x4c]
movzx edx, word [0x4a40a4]
push eax
push edx
call fcn.00417320
add esp, 8
cmp eax, edi
je 0x412ce9
movzx ecx, word [0x4a40a4]
push ecx
push eax
call fcn.00438530
mov ecx, dword [0x4a474c]
mov edx, dword [ecx + 0xc]
movzx edx, byte [edx + 2]
cmp eax, edx
je 0x412cef
push str.invalid_recid_in_posting_request
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x4a474c]
mov eax, dword [ecx + 0x10]
cmp word [eax + 0x150], di
jl 0x412d32
mov ecx, dword [ecx + 0xc]
cmp byte [ecx + 0x47], 0x79
jne 0x412d32
cmp dword [0x4aa4c8], edi
jne 0x412d32
cmp dword [0x4aa4b0], edi
jg 0x412d32
push str.replace_failed_because_the_required_prior_delete_is_missing
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
movzx eax, word [0x4a40a4]
mov ecx, 1
mov dword [ebp - 0x3c8], edi
mov dword [0x4a5104], ecx
cmp eax, 0x6f73
jg 0x412eb3
je case.0x412df6.25459
cmp eax, 0x6470
jg 0x412dfd
je case.0x412df6.25452
cmp eax, 0x6363
jg 0x412de1
je case.0x412df6.25452
cmp eax, 0x6176
jg 0x412db8
je case.0x412df6.25452
sub eax, 0x6170
je 0x412fe4
sub eax, 3
je 0x412fe4
push str.illegal_transaction_code
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp eax, 0x6361
je case.0x412df6.25452
push str.illegal_transaction_code
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
sub eax, 0x636c
cmp eax, 7
ja case.0x412df6.25454
movzx edx, byte [eax + 0x415404]
jmp dword [edx*4 + 0x4153f8]
cmp eax, 0x6974
jg 0x412e74
je 0x412f5c
cmp eax, 0x696c
jg 0x412e4b
je 0x412f5c
cmp eax, 0x6477
je 0x412f00
cmp eax, 0x6961
je 0x412fe4
push str.illegal_transaction_code
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp eax, 0x6973
je 0x412f56
push str.illegal_transaction_code
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp eax, 0x6c73
je case.0x412df6.25452
cmp eax, 0x6e69
je 0x412fe4
cmp eax, 0x6f6c
je case.0x412df6.25452
push str.illegal_transaction_code
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp eax, 0x7370
jg 0x412f31
je case.0x412df6.25459
cmp eax, 0x7269
jg 0x412f08
je 0x412fe4
cmp eax, 0x6f74
je case.0x412df6.25452
cmp eax, 0x7064
je 0x412f00
cmp eax, 0x7264
je 0x412fe4
push str.illegal_transaction_code
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov dword [0x4a40a8], edi
jmp 0x412f62
sub eax, 0x7274
je case.0x412df6.25459
sub eax, 0xed
je case.0x412df6.25459
sub eax, 2
jne case.0x412df6.25454
mov dword [0x4a5104], edi
mov dword [0x4a40a8], 2
jmp 0x412f62
cmp eax, 0x7670
jg 0x412fcf
je 0x412fac
cmp eax, 0x7374
jg 0x412f87
je 0x412f56
sub eax, 0x7372
je case.0x412df6.25459
sub eax, ecx
jne case.0x412df6.25454
mov dword [0x4a5104], edi
mov dword [0x4a40a8], ecx
call fcn.0040fd90
test al, al
je 0x413044
mov byte [0x4a5094], 0
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp eax, 0x7664
je 0x412fe4
push str.illegal_transaction_code
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov eax, 2
mov edx, 0x6c73
mov dword [0x4a40a8], eax
mov word [0x4a40a4], dx
mov dword [ebp - 0x3c8], ecx
mov dword [0x4a5104], eax
jmp 0x412f62
cmp eax, 0x7878
jg 0x41301b
je 0x412ffd
sub eax, 0x7764
je 0x412fe4
sub eax, 5
jne case.0x412df6.25454
mov dword [0x4a40a8], 3
mov dword [0x4a5104], 2
jmp 0x412f62
push str.Must_edit_transaction_code_before_posting
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp eax, 0x7962
je 0x412f5c
push str.illegal_transaction_code
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp dword [0x4a510c], edi
jne 0x41306a
push str.bad_date_field
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp dword [0x4a5108], edi
jne 0x413090
push str.bad_settle_date_field
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4a5110]
cmp eax, edi
je 0x4130bf
cmp eax, dword [0x4a5114]
jae 0x4130bf
push str.settle_date_cannot_be_before_trade_date
call fcn.0040d430
add esp, 4
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4a474c]
push ebx
xor ebx, ebx
mov word [0x4a5140], bx
mov ecx, dword [eax + 0x10]
movzx ecx, word [ecx + 0x298]
cmp cx, di
jl 0x41312e
movsx edx, cx
mov ecx, dword [eax + 0xc]
mov bx, word [edx + ecx]
mov word [0x4a5140], bx
cmp bx, di
je 0x41312e
movzx edx, bx
push edx
call fcn.00427f90
add esp, 4
test eax, eax
jne 0x413122
push str.numcur_is_not_a_valid_currency_code
call fcn.0040d430
add esp, 4
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4a474c]
mov bx, word [0x4a5140]
push esi
xor esi, esi
mov word [0x4a5138], si
mov ecx, dword [eax + 0x10]
movzx ecx, word [ecx + 0x2a0]
cmp cx, di
jl 0x4131a0
movsx edx, cx
mov ecx, dword [eax + 0xc]
mov si, word [edx + ecx]
mov word [0x4a5138], si
cmp si, di
je 0x4131a0
movzx edx, si
push edx
call fcn.00427f90
add esp, 4
test eax, eax
jne 0x41318d
push str.dencur_is_not_a_valid_currency_code
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4a474c]
mov bx, word [0x4a5140]
mov si, word [0x4a5138]
mov ecx, dword [eax + 0x10]
movzx edx, word [ecx + 0x78]
cmp dx, di
jl 0x4131bb
mov edi, dword [eax + 0xc]
movsx edx, dx
cmp word [edx + edi], 0
jne 0x413218
xor edi, edi
movzx edx, word [ecx + 0x80]
cmp dx, di
jl 0x4131d6
mov edi, dword [eax + 0xc]
movsx edx, dx
cmp word [edx + edi], 0
jne 0x413218
xor edi, edi
movzx ecx, word [ecx + 0x88]
cmp cx, di
jl 0x4131ee
mov edx, dword [eax + 0xc]
movsx ecx, cx
cmp word [ecx + edx], di
jne 0x41321a
cmp bx, di
je 0x413244
cmp si, di
jne 0x413244
push str.cannot_define_numcur_without_dencur
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
xor edi, edi
cmp bx, di
je 0x413224
cmp si, di
jne 0x4131ee
push str.numcur_and_dencur_are_required_when_fx_rates_are_given
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x4c]
movzx ecx, word [0x4a40a4]
push eax
push ecx
mov dword [ebp - 0x3d8], eax
call fcn.00417320
add esp, 8
mov dword [0x4a40a0], eax
cmp eax, edi
jne 0x41328a
push str.unknown_security_type
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push eax
call fcn.0040cd50
push edi
mov dword [0x4a4280], eax
call fcn.0040cd90
mov ecx, dword [0x4a40a0]
mov byte [0x4a3a66], al
mov edx, dword [ecx + 0xc]
add esp, 8
cmp byte [edx + 0x11f], 0x79
jne 0x4132f8
mov eax, dword [0x4a474c]
mov eax, dword [eax + 0x10]
cmp word [eax + 0x2a0], di
jl 0x4132f8
cmp word [eax + 0x298], di
jge 0x4132f8
cmp word [0x4a5138], di
jne 0x4132f8
push str.dencur_is_required_for_ffx_deliver_in_transactions
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
movzx edx, word [0x4a40a4]
push edx
push ecx
call fcn.004384d0
mov ebx, eax
cmp ebx, edi
jl 0x414b7f
mov edi, dword [ebx*4 + section.EDITDATA]
xor esi, esi
cmp dword [ebp - 0x3c8], esi
je 0x413345
push edi
lea ecx, [ebp - 0x3b4]
lea eax, [ebp - 0x418]
push esi
push ecx
mov dword [0x4a5214], eax
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x3b4]
jmp 0x413375
push 0x2c
push 0x4a4840
call fcn.00417510
add esp, 8
cmp eax, esi
je 0x413360
mov dword [eax + 0xc], esi
mov dword [eax + 0x14], esi
jmp 0x413362
xor eax, eax
push edi
push 0x4a4840
mov dword [0x4a5214], eax
call fcn.00417510
add esp, 8
mov byte [eax + 2], bl
mov word [eax], di
mov ecx, dword [0x4a5214]
push eax
call fcn.0040a700
mov edx, dword [ebp - 0x3d8]
mov ecx, dword [0x4a5214]
push edx
call fcn.0040a7a0
mov edx, dword [0x4a474c]
mov eax, dword [edx + 0x10]
cmp word [eax + 0x70], si
jl 0x41375d
mov ecx, dword [0x4a5214]
mov edi, dword [ecx + 0x10]
cmp word [edi + 0x58], si
jl 0x41375d
movsx eax, word [eax + 0x68]
mov edx, dword [edx + 0xc]
mov eax, dword [eax + edx]
push eax
call fcn.0040ab90
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0x10]
movsx eax, word [edx + 0x58]
add eax, dword [ecx + 0xc]
push eax
call fcn.004180b0
add esp, 4
test eax, eax
je 0x414b9f
mov edi, dword [0x4a5214]
mov eax, dword [edi + 0x10]
movsx ecx, word [eax + 0x58]
mov edx, dword [edi + 0xc]
mov esi, dword [ecx + edx]
mov eax, dword [0x4a474c]
mov ecx, dword [eax + 0x10]
movsx edx, word [ecx + 0x68]
mov ecx, dword [eax + 0xc]
cmp byte [edx + ecx], 0x24
mov dword [ebp - 0x3b8], esi
jne 0x41346e
movzx edx, word [0x4a40a4]
push edx
call fcn.0040b6a0
add esp, 4
test al, al
je 0x413443
mov eax, dword [0x4a40a0]
mov ecx, dword [eax + 0xc]
movzx eax, word [ecx + 0xe0]
jmp 0x41344a
movzx eax, word [ebp - 0x3d6]
movzx eax, ax
movzx edx, si
shl eax, 0x10
add eax, edx
push eax
mov ecx, edi
mov dword [ebp - 0x3b8], eax
call fcn.0040ab90
mov eax, dword [0x4a474c]
mov edi, dword [0x4a5214]
cmp byte [0x4a5094], 1
jbe 0x41373b
mov ecx, dword [edi + 0x10]
movsx edx, word [ecx + 0x58]
add edx, dword [edi + 0xc]
mov ecx, dword [eax + 0x10]
mov esi, dword [edx]
movsx edx, word [ecx + 0x1c8]
add edx, dword [eax + 0xc]
mov ecx, edi
push edx
call fcn.0040abd0
lea edi, [ebp - 0x3b8]
mov ebx, str.income
call fcn.00410af0
test eax, eax
je 0x4153b1
cmp byte [0x4a5094], 2
jne 0x413531
mov edi, dword [0x4a5214]
mov eax, dword [edi + 0x10]
movsx ecx, word [eax + 0x58]
add ecx, dword [edi + 0xc]
push 0x36
push ecx
lea edx, [ebp - 0x3c]
push edx
call sub.MSVCR100.dll_memcpy
mov eax, dword [edi + 0x10]
movsx ecx, word [eax + 0x58]
add ecx, dword [edi + 0xc]
add esp, 0xc
mov dword [ecx], esi
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0x10]
movsx eax, word [edx + 0x58]
mov edx, dword [ecx + 0xc]
mov eax, dword [eax + edx]
mov dword [ebp - 0x3b8], eax
mov eax, dword [0x4a474c]
mov edx, dword [eax + 0x10]
movsx edx, word [edx + 0x1d0]
add edx, dword [eax + 0xc]
push edx
call fcn.0040abd0
lea edi, [ebp - 0x3b8]
mov ebx, str.divacc
call fcn.00410af0
test eax, eax
je 0x4153b1
mov esi, dword [ebp - 0x3b8]
movzx edx, word [0x4a40a4]
push esi
push edx
call fcn.00417320
add esp, 8
mov dword [0x4a409c], eax
test eax, eax
je 0x414bbf
mov edi, dword [0x4a474c]
mov eax, dword [edi + 0x10]
movzx eax, word [eax + 0x68]
test ax, ax
js 0x4135be
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0x10]
cmp word [edx + 0x58], 0
jl 0x4135be
mov ebx, dword [edi + 0xc]
cwde
cmp byte [eax + ebx], 0x24
jne 0x413599
mov ecx, dword [ebp - 0x3d8]
push esi
push ecx
call fcn.0040ca30
add esp, 8
test eax, eax
je 0x414bec
mov edx, dword [edi + 0x10]
movsx eax, word [edx + 0x70]
cmp word [eax + ebx], 0x24
jne 0x4135be
push esi
call fcn.0040c9d0
add esp, 4
test eax, eax
je 0x414c0c
mov edi, dword [0x4a474c]
mov ecx, dword [edi + 0xc]
add ecx, 0x50
push ecx
mov ecx, dword [0x4a5214]
call fcn.0040a7f0
mov edx, dword [0x4a5214]
mov eax, dword [edx + 0xc]
add eax, 0x10
push 0x19
push eax
call fcn.00418090
add esp, 8
test eax, eax
je 0x414c2c
mov ecx, dword [0x4a5214]
mov eax, dword [ecx + 0xc]
cmp word [eax + 0x10], 0x20
jbe 0x414c4c
mov edi, dword [0x4a474c]
mov edx, dword [edi + 0x10]
movzx eax, word [edx + 0xd0]
test ax, ax
js 0x41364e
cwde
add eax, dword [edi + 0xc]
push eax
call fcn.0040aeb0
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0x10]
movsx eax, word [edx + 0xc0]
add eax, dword [ecx + 0xc]
push 0xc
push eax
call fcn.00418090
add esp, 8
test eax, eax
je 0x414c6c
mov edi, dword [0x4a474c]
mov eax, dword [edi + 0x10]
movzx eax, word [eax + 0x1e8]
test ax, ax
js 0x413679
mov edx, dword [edi + 0xc]
movsx ecx, ax
movzx eax, word [edx + ecx]
mov ecx, dword [0x4a5214]
push eax
call fcn.0040b190
mov edi, dword [0x4a474c]
mov ecx, dword [edi + 0x10]
movzx eax, word [ecx + 0x168]
test ax, ax
js 0x4136af
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0x10]
cmp word [edx + 0x1f0], 0
jl 0x4136af
mov edx, dword [edi + 0xc]
cwde
movzx eax, word [edx + eax]
push eax
call fcn.0040b2d0
mov edi, dword [0x4a474c]
mov eax, dword [0x4a409c]
mov esi, dword [0x4a40a0]
test eax, eax
jne 0x4136c0
mov eax, esi
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx + 0xc]
movzx ecx, byte [edx + 0xdb]
mov dword [0x4a5098], ecx
mov edx, dword [eax + 0xc]
mov ax, word [edx + 6]
mov word [0x4a513c], ax
mov ecx, dword [edi + 0x10]
movzx eax, word [ecx + 0x58]
mov byte [0x4a5095], 0
test ax, ax
js 0x41382a
cmp dword [ebp - 0x3c8], 0
jne 0x41382a
movsx edx, ax
mov eax, dword [edi + 0xc]
movzx ebx, byte [eax + edx]
mov eax, dword [0x4a4280]
test eax, eax
je 0x41377d
cmp ebx, 0x68
je 0x41372b
cmp ebx, 0x63
je 0x41372b
cmp ebx, 0x6d
je 0x41372b
cmp ebx, 0x79
jne 0x41377d
mov esi, dword [0x4a40a0]
mov ebx, 0x66
jmp 0x4137f8
mov ecx, dword [eax + 0x10]
movsx edx, word [ecx + 0x70]
add edx, dword [eax + 0xc]
mov ecx, edi
push edx
call fcn.0040abd0
lea edi, [ebp - 0x3b8]
mov ebx, str.src_dst
jmp 0x413524
mov eax, dword [0x4a40a0]
mov ecx, dword [eax + 0xc]
movzx esi, word [ecx + 6]
shl esi, 0x10
add esi, 0x7761
mov dword [ebp - 0x3b8], esi
jmp 0x413537
cmp ebx, 0x62
jne 0x4137cf
test eax, eax
jne 0x414c8c
cmp byte [0x4a3a6b], al
jne 0x414c8c
call fcn.00421bc0
mov edi, dword [0x4a474c]
test al, al
je 0x4137d4
mov edx, dword [edi + 0x10]
cmp word [edx + 0x98], 0
mov al, byte [0x4a3a66]
mov byte [0x4a5095], al
jge 0x4137d4
cmp al, 0x6d
jne 0x4137d4
mov esi, dword [0x4a40a0]
mov byte [0x4a5095], 0x66
jmp 0x4137f8
cmp ebx, 0x20
jbe 0x4137dc
mov esi, dword [0x4a40a0]
jmp 0x4137f8
movzx eax, word [0x4a40a4]
push eax
call fcn.0040b760
add esp, 4
mov bl, 0x61
test al, al
jne 0x4137f8
mov bl, byte [0x4a3a66]
mov ecx, dword [edi + 0x10]
cmp word [ecx + 0x98], 0
mov byte [0x4a5097], bl
jge 0x413818
cmp bl, 0x6d
jne 0x413818
mov bl, 0x66
mov byte [0x4a5097], bl
mov byte [0x4a5096], bl
cmp bl, 0x76
jne 0x41382a
mov byte [0x4a5097], 0x66
mov ecx, esi
call fcn.0040b7f0
test al, al
jne 0x413848
cmp dword [0x4a40a8], 3
je 0x413848
mov dword [0x4a40a8], 0
mov edx, dword [0x4a5214]
mov eax, dword [edx + 0xc]
add eax, 0xc
push 0x4a5118
push eax
push esi
call fcn.0041a760
add esp, 0xc
test al, al
je 0x4153b1
mov ecx, dword [0x4a474c]
mov eax, dword [ecx + 0x10]
movzx eax, word [eax + 0x98]
xor esi, esi
cmp ax, si
jl 0x4138b0
movsx edx, ax
mov eax, dword [ecx + 0xc]
movzx eax, word [edx + eax]
cmp eax, 0x63
je 0x4138b4
cmp eax, 0x74
je 0x4138b4
cmp eax, 0x73
je 0x4138b4
xor edx, edx
cmp ax, 0x3d
setne dl
dec edx
and edx, 2
mov dword [0x4a50a8], edx
jmp 0x4138be
xor eax, eax
jmp 0x41389b
mov dword [0x4a50a8], 1
call fcn.00427ed0
test eax, eax
je 0x413b30
mov ecx, dword [0x4a474c]
call fcn.00427ee0
mov edi, eax
movzx eax, word [edi]
push eax
call fcn.00435880
movzx eax, ax
add esp, 4
cmp eax, 0x61
je 0x413908
cmp eax, 0x66
je 0x413908
cmp eax, 0x67
je 0x413908
cmp eax, 0x73
je 0x413908
cmp eax, 0x6c
je 0x413908
mov dword [ebp - 0x3c0], esi
jmp 0x413923
mov dword [ebp - 0x3c0], eax
cmp ax, si
je 0x413923
movzx ecx, word [edi]
push ecx
call fcn.00435920
add esp, 4
test eax, eax
jne 0x413929
cmp word [edi], 0x50
jne 0x41392e
mov esi, 1
mov ebx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3b8], esi
test bx, bx
je 0x413983
mov ax, word [edi + 2]
lea ecx, [edi + 2]
call fcn.0040d0f0
test eax, eax
jne 0x413983
lea edx, [ebp - 0x3cc]
push edx
push ecx
call fcn.00416db0
add esp, 8
test eax, eax
jne 0x41398e
push str.bad_date_after_legal_letter_in_quantity_field
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4a5114]
mov dword [ebp - 0x3cc], eax
mov ecx, dword [0x4a40a0]
call fcn.0040b7f0
test al, al
jne 0x4139e6
test bx, bx
je 0x413b30
mov edx, dword [0x4a5214]
mov ecx, dword [ebp - 0x3cc]
mov eax, dword [edx + 0xc]
push esi
push ecx
add eax, 0xc
push eax
push 0x4a4160
call fcn.00419f40
add esp, 0x10
call fcn.00427830
test eax, eax
jne 0x4153b1
fld qword [0x4bbca8]
fstp qword [0x4a4158]
jmp 0x413b30
call fcn.0040c3c0
mov ecx, dword [0x4a474c]
movzx esi, ax
call fcn.0040b9e0
mov byte [ebp - 0x3e4], al
call fcn.0040c710
call fcn.00427830
test eax, eax
jne 0x4153b1
mov ecx, dword [0x4a5210]
cmp ecx, dword [0x4a5238]
je 0x413a33
call fcn.0040c560
call fcn.00427830
test eax, eax
jne 0x4153b1
jmp 0x413a3f
mov edx, dword [0x4a5250]
mov dword [0x4a525c], edx
mov eax, dword [0x4a534c]
or eax, dword [0x4a5350]
or eax, dword [0x4a5344]
or eax, dword [0x4a5348]
or eax, dword [0x4a5354]
or eax, dword [0x4a5358]
mov dword [0x4a535c], eax
mov eax, dword [0x4a474c]
mov ecx, dword [eax + 0x10]
movzx ecx, word [ecx + 0x60]
test cx, cx
js 0x413b9f
movsx edx, cx
mov ecx, dword [eax + 0xc]
mov edi, dword [edx + ecx]
test edi, edi
je 0x413a90
mov byte [0x4a5096], 0x73
cmp dword [0x4aa4b0], 0
mov ebx, dword [ebp - 0x3e4]
je 0x413aae
push ebx
push esi
call fcn.00422b10
mov eax, dword [0x4a474c]
add esp, 8
mov edx, dword [eax + 0x10]
movsx ecx, word [edx + 0x158]
mov edx, dword [eax + 0xc]
movzx ecx, word [ecx + edx]
mov eax, dword [0x4a5214]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x3b8]
push 0
push ecx
xor ecx, ecx
add eax, 0xc
cmp dword [ebp - 0x3c8], ecx
push edi
sete cl
push ebx
push esi
push ecx
mov ecx, dword [ebp - 0x3cc]
push edx
push ecx
push eax
call fcn.00418930
add esp, 0x24
mov esi, eax
call fcn.00427830
test eax, eax
jne 0x4153b1
test esi, esi
je 0x414cac
cmp dword [0x4aaea4], eax
jbe 0x413b30
cmp byte [0x4a90c0], al
jne 0x413b30
mov edx, dword [0x4a5210]
push edx
mov ecx, 0x4a90c0
call fcn.00422040
jmp 0x413b30
mov eax, dword [0x4a40a0]
mov ecx, dword [0x4a474c]
mov bl, byte [eax + 0x3d]
mov edx, dword [ecx + 0x10]
movzx eax, word [edx + 0x98]
xor edi, edi
mov byte [ebp - 0x3b9], bl
mov dword [ebp - 0x3b8], 1
cmp ax, di
jl 0x413bfb
mov esi, dword [ecx + 0xc]
cwde
add esi, eax
cmp word [esi], 0x70
jne 0x413c8c
cmp dword [0x4a50ac], edi
jne 0x414d8e
fld qword [0x4a50e8]
add esi, 2
fst qword [0x4a50c8]
cmp word [esi + 2], 0x40
jne 0x413ba6
fstp st(0)
mov dword [ebp - 0x3b8], edi
jmp 0x413bfb
xor edi, edi
jmp 0x413a90
fld qword [0x4bbca8]
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [ebp - 0x3ec]
fstp qword [esp]
push edx
call fcn.0040d120
fld qword [ebp - 0x3ec]
mov eax, dword [0x4a5098]
add esp, 0x14
push eax
sub esp, 8
fstp qword [esp]
push 0x11
push 0x4a50c8
call fcn.0040d610
add esp, 0x14
cmp dword [0x4a5100], 0
jne 0x413bfb
fld qword [0x4a50c8]
fstp qword [0x4a50e8]
mov ecx, dword [0x4a474c]
call fcn.00427ed0
test eax, eax
je 0x4152d6
mov eax, 0x6176
cmp word [0x4a40a4], ax
je 0x4152d6
mov ecx, dword [0x4a474c]
call fcn.00427ee0
mov esi, eax
movzx ecx, word [esi]
push ecx
call fcn.00435880
add esp, 4
cmp eax, 0x70
jne 0x413e07
cmp dword [0x4a50ac], 0
jne 0x414d8e
fld qword [0x4a50e0]
add esi, 2
fst qword [0x4a50c0]
cmp word [esi], 0x20
jbe 0x413de9
fld qword [0x4a5118]
sub esp, 0x10
fmul st(1)
fstp qword [esp + 8]
fstp qword [esp]
push 0x4a50c0
call fcn.0040d120
add esp, 0x14
jmp 0x413deb
push 0x10
push esi
call fcn.0040d750
add esp, 8
test eax, eax
je 0x413ce0
fld qword [0x4a5130]
mov ecx, dword [0x4a5214]
sub esp, 8
fst qword [0x4a50c8]
fstp qword [esp]
call fcn.0040a890
mov ecx, dword [0x4a474c]
call fcn.0040f890
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0xc]
movzx ecx, byte [edx + 0x60]
and ecx, 0xf0
or ecx, eax
mov byte [edx + 0x60], cl
jmp 0x413be6
test bl, bl
jne 0x413b97
movzx eax, word [esi]
cmp eax, 0x61
je 0x413cf9
cmp eax, 0x41
jne 0x413b97
mov ax, word [esi + 2]
add esi, 2
call fcn.0040d0f0
test eax, eax
je 0x413d17
mov edx, dword [0x4a5114]
mov dword [ebp - 0x3cc], edx
jmp 0x413d2f
lea eax, [ebp - 0x3cc]
push eax
push esi
call fcn.00416db0
add esp, 8
test eax, eax
je 0x414ccc
mov edi, dword [0x4a5214]
mov ecx, dword [edi + 0x10]
movzx ebx, word [ecx + 0x58]
test bx, bx
js 0x413d58
mov ecx, dword [0x4a409c]
call fcn.0040b7f0
test al, al
jne 0x413d58
movsx eax, bx
add eax, dword [edi + 0xc]
jmp 0x413d71
mov ecx, dword [0x4a40a0]
call fcn.0040b7f0
test al, al
jne 0x414cec
mov eax, dword [edi + 0xc]
add eax, 0xc
mov ecx, dword [ebp - 0x3cc]
xor edx, edx
cmp word [esi - 2], 0x41
sete dl
push edx
push ecx
push eax
push 0x4a50c8
call fcn.00419f40
add esp, 0x10
call fcn.00427830
test eax, eax
jne 0x4153b1
cmp word [esi + 2], 0x40
je 0x413dda
fld qword [0x4bbca8]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x4a50c8]
fstp qword [esp]
push 0x4a50c8
call fcn.0040d120
fld qword [0x4a50c8]
mov edx, dword [0x4a5098]
add esp, 0x14
push edx
jmp 0x413bd1
mov dword [ebp - 0x3b8], 0
jmp 0x413bfb
fstp st(0)
mov edx, dword [0x4a40a0]
fld qword [0x4a50c0]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + 0x108]
push ecx
jmp 0x414298
mov ecx, dword [0x4a474c]
call fcn.00427f00
push eax
push esi
call fcn.0040d750
add esp, 8
test eax, eax
je 0x413e72
fld qword [0x4a5130]
mov ecx, dword [0x4a5214]
fstp qword [0x4a50c0]
call fcn.00427d50
test eax, eax
je 0x4142ad
fld qword [0x4a5130]
mov ecx, dword [0x4a5214]
sub esp, 8
fstp qword [esp]
call fcn.00427d80
mov ecx, dword [0x4a474c]
call fcn.00427f10
mov ecx, dword [0x4a5214]
push eax
call fcn.00427e30
jmp 0x4142ad
mov ebx, dword [ebp - 0x3c0]
test bx, bx
je 0x4140b6
mov eax, dword [0x4a5104]
cmp eax, 2
jne 0x413fa7
cmp bx, 0x61
jne 0x413f76
cmp dword [ebp - 0x3b8], 0
jne 0x413f76
mov edx, 0x7664
cmp word [0x4a40a4], dx
jne 0x413f76
cmp byte [ebp - 0x3b9], 0
jne 0x413f76
call fcn.0040c260
test al, al
je 0x413f76
cmp dword [0x4a522c], 0
je 0x413eeb
call fcn.0040c2d0
movzx eax, ax
mov dword [ebp - 0x3c0], eax
jmp 0x413f4b
mov cx, word [0x4a415e]
mov ax, word [0x4a2db0]
mov edx, 0x7ff0
and cx, dx
cmp cx, ax
jl 0x413f76
mov cx, word [0x4a4166]
and cx, dx
xor edx, edx
cmp cx, ax
setge dl
lea eax, [edx - 2]
mov dword [0x4a522c], eax
cmp eax, 0xffffffff
jne 0x413f3d
cmp byte [0x4a90c0], 0
jne 0x413f3d
mov eax, dword [0x4a5210]
push eax
mov ecx, 0x4a90c0
call fcn.00422040
call fcn.0040c2d0
movzx ecx, ax
mov dword [ebp - 0x3c0], ecx
mov eax, dword [0x4a522c]
test eax, eax
jle 0x413f62
fld qword [0x4bbca8]
fstp qword [0x4a4158]
jmp 0x413f70
jns 0x413f70
fld qword [0x4bbca8]
fstp qword [0x4a4160]
mov ebx, dword [ebp - 0x3c0]
movzx eax, bx
add eax, 0xffffff9f
cmp eax, 0x12
ja case.0x413f88.98
movzx edx, byte [eax + 0x41541c]
jmp dword [edx*4 + 0x41540c]
fld qword [0x4a4160]
fsub qword [0x4a4158]
jmp 0x413fb9
fld qword [0x4a4158]
fchs
jmp 0x413fb9
test eax, eax
je 0x413fb3
fld qword [0x4a4160]
jmp 0x413fb9
fld qword [0x4a4158]
fstp qword [0x4a50c0]
mov eax, dword [0x4a40a0]
mov ecx, dword [eax + 0xc]
movzx edi, byte [ecx + 0x108]
cmp bx, 0x66
je 0x413fde
cmp bx, 0x67
jne 0x41407e
cmp edi, 9
jbe 0x413fe8
mov edi, 9
fld qword [0x4a50c0]
fld st(0)
call fcn.0043a130
mov dword [ebp - 0x3d0], eax
fild dword [ebp - 0x3d0]
lea edx, [ebp - 0x3d4]
push edi
fsubp st(1)
push edx
fst qword [0x4a50c0]
fstp qword [ebp - 0x3d4]
call fcn.00436a00
fld qword [ebp - 0x3d4]
add esp, 8
fld qword [0x4a2d50]
fucompp
fnstsw ax
test ah, 0x44
jp 0x41407e
cmp edi, 9
je 0x414056
fld qword [0x4a50c0]
lea eax, [ebp - 0x3d4]
push 9
fstp qword [ebp - 0x3d4]
push eax
call fcn.00436a00
add esp, 8
fld qword [ebp - 0x3d4]
fld qword [0x4a2d50]
fucompp
fnstsw ax
test ah, 0x44
jp 0x414079
fld qword [0x4bbca8]
fstp qword [0x4a50c0]
jmp 0x41407e
mov edi, 9
add esi, 2
cmp word [esi], 0x20
jbe 0x4140aa
fld qword [0x4bbca8]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x4a50c0]
fstp qword [esp]
push 0x4a50c0
call fcn.0040d120
add esp, 0x14
fld qword [0x4a50c0]
push edi
jmp 0x414298
movzx edi, word [esi]
cmp edi, 0x40
jne 0x414157
mov ecx, dword [0x4a474c]
call fcn.00427f00
dec eax
push eax
add esi, 2
push esi
call fcn.0040d750
add esp, 8
test eax, eax
je 0x414d0c
cmp dword [ebp - 0x3b8], 0
je 0x414d2c
fld qword [0x4a5130]
mov ecx, dword [0x4a40a0]
fmul qword [0x4a5118]
fst qword [0x4a5130]
fdivr qword [0x4a50c8]
fstp qword [0x4a50c0]
mov edx, dword [ecx + 0xc]
cmp byte [edx + 0xfe], 0x49
jne 0x414139
push 0
xor ecx, ecx
mov edx, 0x4a50c0
call fcn.004121e0
add esp, 4
test al, al
je 0x4153b1
fld qword [0x4bbca8]
mov esi, dword [0x4a512c]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x4a50c0]
jmp 0x414272
cmp edi, 0x2a
jne 0x4141e5
mov ecx, dword [0x4a474c]
call fcn.00427f00
dec eax
push eax
add esi, 2
push esi
call fcn.0040d750
add esp, 8
test eax, eax
je 0x414d4c
mov ecx, dword [0x4a474c]
fld qword [0x4a5130]
mov eax, dword [ecx + 0x10]
fstp qword [ebp - 0x3d4]
movzx eax, word [eax + 0x110]
test ax, ax
js 0x414d6c
cwde
add eax, dword [ecx + 0xc]
push 0x10
push eax
call fcn.0040d750
add esp, 8
test eax, eax
je 0x414d6c
fld qword [ebp - 0x3d4]
mov ecx, dword [0x4a40a0]
fmul qword [0x4a5130]
fst qword [0x4a50c0]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + 0x108]
push eax
jmp 0x414298
test di, di
jne 0x41420f
movzx ecx, word [0x4a40a4]
push ecx
call fcn.0040b6a0
add esp, 4
test al, al
je 0x41420f
fld qword [0x4a2d50]
fstp qword [0x4a50c0]
jmp 0x4142ad
cmp edi, 0x72
jne 0x4152b6
mov eax, dword [0x4a525c]
test eax, eax
je 0x414228
mov edx, dword [eax]
fld qword [edx + 0x18]
jmp 0x41422e
fld qword [0x4bbcb0]
fst qword [0x4a50c0]
mov ax, word [0x4a50c6]
cmp ax, word [0x4a2db0]
jl 0x415294
mov ecx, 0x7ff0
and ax, cx
mov edx, ecx
cmp ax, dx
je 0x415294
add esi, 2
cmp word [esi], 0x20
jbe 0x414288
fld qword [0x4a5118]
sub esp, 0x10
fmul st(1)
fstp qword [esp + 8]
fstp qword [esp]
push 0x4a50c0
call fcn.0040d120
fld qword [0x4a50c0]
add esp, 0x14
mov eax, dword [0x4a40a0]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x108]
push edx
sub esp, 8
fstp qword [esp]
push 9
push 0x4a50c0
call fcn.0040d610
add esp, 0x14
cmp dword [0x4a50fc], 0
fld qword [0x4a50c0]
jne 0x4142c2
fst qword [0x4a50e0]
mov bl, byte [ebp - 0x3b9]
test bl, bl
je 0x4142ef
cmp dword [0x4a5104], 2
jne 0x4142df
mov dword [0x4a5104], 1
fst qword [0x4a50c8]
mov dword [ebp - 0x3b8], 1
mov eax, dword [0x4a474c]
mov edx, dword [eax + 0x10]
movzx ecx, word [edx + 0xc8]
test cx, cx
js 0x414721
mov eax, dword [eax + 0xc]
movsx esi, cx
movzx ecx, word [esi + eax]
add esi, eax
cmp ecx, 0x23
je 0x41432f
movsx edx, word [edx + 0xd8]
cmp byte [edx + eax], 0x79
mov dword [ebp - 0x3c4], 1
jne 0x414339
mov dword [ebp - 0x3c4], 0
cmp ecx, 0x70
jne 0x414376
cmp dword [0x4a50ac], 0
jne 0x414d8c
fld qword [0x4a50d8]
add esi, 2
fst qword [0x4a50b8]
cmp word [esi], 0x20
jbe 0x41436d
fxch st(1)
fmul qword [0x4a5118]
jmp 0x4144c4
fstp st(0)
fstp st(0)
jmp 0x4144db
push 0xe
fstp st(0)
push esi
call fcn.0040d750
add esp, 8
test eax, eax
je 0x4143c0
fld qword [0x4a5130]
mov ecx, dword [0x4a5214]
sub esp, 8
fst qword [0x4a50b8]
fstp qword [esp]
call fcn.0040ade0
mov ecx, dword [0x4a474c]
call fcn.0040f8e0
mov ecx, dword [0x4a5214]
push eax
call fcn.0040ae60
jmp 0x414521
movzx eax, word [esi]
cmp eax, 0x40
je 0x4143cd
cmp eax, 0x23
jne 0x414441
lea ecx, [esi + 2]
push 0xd
push ecx
call fcn.0040d750
add esp, 8
test eax, eax
je 0x414441
fld qword [0x4a50c0]
lea edx, [esi + 0x1a]
fmul qword [0x4a5130]
mov esi, dword [0x4a512c]
fst qword [0x4a50b8]
cmp esi, edx
jae 0x414421
fld qword [0x4bbca8]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
push 0x4a50b8
call fcn.0040d120
fld qword [0x4a50b8]
add esp, 0x14
mov eax, dword [0x4a5098]
push eax
sub esp, 8
fstp qword [esp]
push 0x17
push 0x4a50b8
call fcn.0040d610
add esp, 0x14
jmp 0x414521
cmp word [esi], 0x25
jne 0x4144fe
lea ecx, [esi + 2]
push 0xd
push ecx
call fcn.0040d750
add esp, 8
test eax, eax
je 0x4144fe
fld qword [0x4a5130]
mov ecx, dword [0x4a474c]
fdiv qword [0x45bb00]
mov edx, dword [ecx + 0x10]
movsx eax, word [edx + 0x98]
add eax, dword [ecx + 0xc]
mov edi, dword [0x4a512c]
push eax
fstp qword [ebp - 0x3e0]
call fcn.00412420
add esp, 4
test eax, eax
jle 0x414dae
fld qword [ebp - 0x3e0]
add esi, 0x1a
fmul qword [0x4a50c8]
mov dword [0x4a512c], edi
fst qword [0x4a50b8]
cmp edi, esi
jae 0x4144e1
fld qword [0x4bbca8]
mov esi, edi
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
push 0x4a50b8
call fcn.0040d120
add esp, 0x14
fld qword [0x4a50b8]
mov eax, dword [0x4a5098]
push eax
sub esp, 8
fstp qword [esp]
push 0x17
push 0x4a50b8
call fcn.0040d610
add esp, 0x14
jmp 0x414521
fld qword [0x4bbca8]
mov ecx, dword [0x4a5214]
fstp qword [0x4a50b8]
sub esp, 8
fld qword [0x4bbcb0]
fstp qword [esp]
call fcn.0040ade0
mov eax, dword [0x4a474c]
mov ecx, dword [eax + 0x10]
movsx esi, word [ecx + 0xe0]
add esi, dword [eax + 0xc]
xor edx, edx
movzx eax, word [esi]
cmp eax, 0x23
setne dl
mov edi, edx
mov dword [ebp - 0x3dc], edi
cmp eax, 0x70
jne 0x414585
cmp dword [0x4a50ac], 0
jne 0x414d8e
fld qword [0x4a50d0]
add esi, 2
fst qword [0x4a50b0]
cmp word [esi], 0x20
jbe 0x41457e
fld qword [0x4a50c0]
fmul qword [0x4a5118]
jmp 0x414611
fstp st(0)
jmp 0x414628
push 0xe
push esi
call fcn.0040d750
add esp, 8
test eax, eax
je 0x4145cd
fld qword [0x4a5130]
mov ecx, dword [0x4a5214]
sub esp, 8
fst qword [0x4a50b0]
fstp qword [esp]
call fcn.0040af10
mov ecx, dword [0x4a474c]
call fcn.0040f930
mov ecx, dword [0x4a5214]
push eax
call fcn.0040af90
jmp 0x41466e
movzx eax, word [esi]
cmp eax, 0x40
je 0x4145da
cmp eax, 0x23
jne 0x41464b
lea ecx, [esi + 2]
push 0xd
push ecx
call fcn.0040d750
add esp, 8
test eax, eax
je 0x41464b
fld qword [0x4a50c0]
lea edx, [esi + 0x1a]
fmul qword [0x4a5130]
mov esi, dword [0x4a512c]
fst qword [0x4a50b0]
cmp esi, edx
jae 0x41462e
fld qword [0x4bbca8]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
push 0x4a50b0
call fcn.0040d120
add esp, 0x14
fld qword [0x4a50b0]
mov eax, dword [0x4a5098]
push eax
sub esp, 8
fstp qword [esp]
push 0x1a
push 0x4a50b0
call fcn.0040d610
add esp, 0x14
jmp 0x41466e
fld qword [0x4bbca8]
mov ecx, dword [0x4a5214]
fstp qword [0x4a50b0]
sub esp, 8
fld qword [0x4bbcb0]
fstp qword [esp]
call fcn.0040af10
mov eax, dword [0x4a474c]
mov ecx, dword [eax + 0x10]
movzx ecx, word [ecx + 0xc0]
test cx, cx
js 0x414690
movsx ecx, cx
add ecx, dword [eax + 0xc]
movzx edx, word [ecx]
test dx, dx
jne 0x4146bf
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0x10]
cmp word [edx + 0xb0], 0
jl 0x414729
fld qword [0x4bbcb0]
sub esp, 8
fstp qword [esp]
call fcn.0040ad10
mov eax, dword [0x4a474c]
jmp 0x414729
cmp edx, 0x79
jne 0x4146d9
cmp dword [ebp - 0x3b8], 0
je 0x414729
call fcn.0040d230
mov eax, dword [0x4a474c]
jmp 0x414729
push 0xc
push ecx
call fcn.0040d750
add esp, 8
test eax, eax
je 0x414dd4
fld qword [0x4a5130]
mov ecx, dword [0x4a5214]
sub esp, 8
fstp qword [esp]
call fcn.0040ad10
mov ecx, dword [0x4a474c]
call fcn.0040f980
mov ecx, dword [0x4a5214]
push eax
call fcn.0040ad90
mov eax, dword [0x4a474c]
jmp 0x414729
mov edi, dword [ebp - 0x3dc]
fstp st(0)
cmp dword [0x4a50f8], 0
jne 0x41473e
fld qword [0x4a50b8]
fstp qword [0x4a50d8]
cmp dword [0x4a50f4], 0
jne 0x414753
fld qword [0x4a50b0]
fstp qword [0x4a50d0]
cmp dword [ebp - 0x3b8], 0
jne 0x414842
mov ecx, dword [eax + 0x10]
movsx esi, word [ecx + 0x98]
add esi, dword [eax + 0xc]
push esi
call fcn.00412420
add esp, 4
test eax, eax
js 0x4153b1
jle 0x4147ac
mov edx, dword [0x4a474c]
mov eax, dword [edx + 0x10]
cmp word [eax + 0xc8], 0
jl 0x4147a3
mov ecx, dword [ebp - 0x3c4]
push edi
push ecx
call fcn.0040d310
add esp, 8
mov edx, dword [0x4a5098]
push edx
jmp 0x414827
cmp dword [0x4a50a8], 0
jne 0x414842
cmp word [esi + 4], 0x40
jne 0x4152df
mov eax, dword [0x4a474c]
fld qword [0x4a50c0]
mov ecx, dword [eax + 0x10]
movsx edx, word [ecx + 0x98]
mov eax, dword [eax + 0xc]
sub esp, 0x10
lea esi, [edx + eax + 2]
fstp qword [esp + 8]
fld qword [0x4a50c8]
fstp qword [esp]
push 0x4a50c8
call fcn.0040d120
mov ecx, dword [0x4a474c]
mov edx, dword [ecx + 0x10]
add esp, 0x14
cmp word [edx + 0xc8], 0
jl 0x414820
mov eax, dword [ebp - 0x3c4]
push edi
push eax
call fcn.0040d310
add esp, 8
mov ecx, dword [0x4a5098]
push ecx
fld qword [0x4a50c8]
sub esp, 8
fstp qword [esp]
push 0x11
push 0x4a50c8
call fcn.0040d610
add esp, 0x14
call fcn.00412c20
test eax, eax
je 0x4153b1
cmp dword [0x4a50a8], 0
jne 0x41486d
cmp dword [0x4a5100], 0
jne 0x41486d
fld qword [0x4a50c8]
fstp qword [0x4a50e8]
cmp dword [ebp - 0x3c8], 0
jne 0x41535e
mov ecx, dword [0x4a5214]
call fcn.00427d50
mov si, word [0x4a40a4]
test eax, eax
je 0x414956
movzx edx, si
push edx
call fcn.0040b710
add esp, 4
test al, al
jne 0x414956
test bl, bl
je 0x4148c0
movzx eax, si
push eax
call fcn.0040b6a0
add esp, 4
test al, al
jne 0x414956
mov di, word [0x4a50c6]
mov bx, word [0x4a2db0]
cmp di, bx
jge 0x414978
cmp word [0x4a4870], 0x6e
je 0x414978
cmp dword [0x4a487c], 0
jne 0x414978
call fcn.00407270
test al, al
jne 0x41535e
cmp dword [0x4a40a8], 2
jne 0x41491b
mov ecx, dword [0x4a40a0]
call fcn.0040b7f0
test al, al
jne 0x415135
xor edx, edx
mov word [0x4a24b4], dx
cmp dword [0x4a5338], edx
je 0x414936
mov eax, 0x4a24b4
call fcn.0040cbd0
push str.units_must_be_positive
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov di, word [0x4a50c6]
mov bx, word [0x4a2db0]
mov cx, di
mov edx, 0x7ff0
and cx, dx
cmp cx, bx
jl 0x414df4
mov ecx, dword [0x4a40a0]
call fcn.0040b7f0
test al, al
je 0x415170
mov eax, dword [0x4a5214]
mov ecx, dword [eax + 0x10]
cmp word [ecx + 0x160], 0
jge 0x4149aa
call fcn.0040cea0
test al, al
je 0x415170
cmp dword [0x4a40a8], 1
jne 0x414a76
call fcn.0040c430
call fcn.00427830
test eax, eax
jne 0x4153b1
call fcn.0040fe60
test eax, eax
je 0x4153b1
mov esi, dword [0x4a5214]
mov ecx, esi
call fcn.0040b870
test ax, ax
jne 0x414a02
cmp dword [0x4a4280], 0
jne 0x414a02
push esi
call fcn.00416e90
add esp, 4
test eax, eax
je 0x414e2e
mov edx, dword [0x4a5210]
cmp edx, dword [0x4a5238]
jne 0x4153cd
mov ecx, 0x4a5238
call fcn.0040bac0
test al, al
je 0x4153cd
mov eax, dword [0x4a5214]
push eax
call fcn.00411170
mov ecx, dword [0x4a5214]
push ecx
call fcn.0040cc20
add esp, 8
cmp dword [0x4a4280], 0
jne 0x413b30
mov ecx, dword [0x4a5214]
call fcn.0040b870
movzx edx, ax
push edx
call fcn.00416e00
mov ecx, dword [0x4a5214]
add esp, 4
push 0
call fcn.0040b8d0
jmp 0x413b30
cmp dword [0x4a5104], 0
je 0x414a87
fld qword [0x4a4160]
jmp 0x414a8d
fld qword [0x4a4158]
movzx eax, word [0x4a40a4]
fsubr qword [0x4a50c0]
push eax
fstp qword [0x4a5130]
call fcn.0040b710
mov esi, dword [0x4a42b4]
add esp, 4
test al, al
jne 0x414abc
cmp byte [ebp - 0x3b9], 0
je 0x414aee
mov ecx, 0xffff8000
xor cx, di
cmp cx, bx
jl 0x414aee
mov eax, dword [0x4a42b0]
cmp eax, esi
jae 0x414ae6
mov ecx, dword [0x4a5104]
mov edx, dword [eax]
cmp dword [edx + 8], ecx
je 0x414aee
add eax, 4
cmp eax, esi
jb 0x414ad8
fld1
fstp qword [0x4a5130]
mov ax, word [0x4a5136]
cmp ax, bx
jge 0x414b05
cmp dword [0x4a42b0], esi
jne 0x414e4e
cmp word [0x4a4870], 0x62
jne 0x415135
mov esi, dword [0x4a40a0]
mov ecx, esi
call fcn.0040b7d0
test al, al
jne 0x415135
mov ax, word [0x4a40a4]
mov ecx, 0x6c73
cmp ax, cx
je 0x414b46
mov edx, 0x7363
cmp ax, dx
jne 0x415135
xor edx, edx
cmp ax, cx
setne dl
mov dword [0x4a40a8], 1
lea eax, [edx - 1]
and eax, 0xfffffa11
add eax, 0x7962
mov word [0x4a40a4], ax
movzx eax, ax
push eax
push esi
call fcn.004384d0
mov ebx, eax
test ebx, ebx
jns 0x413310
push str.no_record_for_trancode_and_type1
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str._label_in_type2_field_is_not_defined
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x3b8]
push ecx
call fcn.00402650
push eax
push str.unknown_security_type2__.4s
call fcn.0040d500
add esp, 0xc
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.bad_type2_label_value
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.bad_symbol2_label_value
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str._label_in_symbol_field_is_not_defined
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.blank_symbol_field
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str._label_in_broker_field_is_not_defined
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.can_not_close_by_lot_or_close_by_date_with_average_cost_or_average_cost_fifo
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.portfolio_file_has_pairing_error_in_this_security
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.bad_date_after_a_or_A_in_dollar_field
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.invalid_use_of_a_or_A_in_dollar_field
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.bad_number_after___in_quantity_field
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.cannot_allow___in_quantity_field_for_lack_of_trade_amount
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.bad_factor_after__in_quantity_field
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.cannot_allow__in_quantity_field_for_lack_of_original_face
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
fstp st(0)
push str.bad_prior_value
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
jne 0x4153b1
push str.trade_amount_must_use_a_valid___formula
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.bad_number_in_exchange_fee_field
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
call fcn.00407270
test al, al
jne 0x41535e
call fcn.0040cca0
test al, al
je 0x41535e
push str.units_cannot_be_zero
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.out_of_lot_numbers
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp byte [ebp - 0x3b9], 0
je 0x414e98
mov ecx, 0x7ff0
and ax, cx
cmp ax, bx
jge 0x414e98
movzx edx, word [0x4a40a4]
push edx
call fcn.0040b6a0
add esp, 4
test al, al
je 0x414e98
push str.A_sell_transaction_must_be_used_to_correctly_close_a_position.
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp dword [0x4a535c], 0
fld qword [0x4bbca8]
fstp qword [0x4a50a0]
je 0x414ee4
call fcn.0040c870
mov esi, dword [0x4a42b4]
mov bx, word [0x4a2db0]
xor eax, eax
mov dword [0x4a5358], 1
mov dword [0x4a534c], eax
mov dword [0x4a5350], eax
mov dword [0x4a5344], eax
mov dword [0x4a5348], eax
mov dword [0x4a5354], eax
mov eax, dword [0x4a5340]
test eax, eax
je 0x41501c
jns 0x414fe4
mov si, word [0x4a533c]
xor eax, eax
mov word [ebp - 0x3c4], si
mov word [0x4a533c], ax
call fcn.0040c510
call fcn.00427830
test eax, eax
jne 0x4153b1
mov di, word [0x4a533c]
cmp di, si
je 0x414fd7
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0x10]
movzx eax, word [edx + 0x68]
test ax, ax
js 0x414f91
mov edx, dword [ecx + 0xc]
cwde
mov esi, 0x7ffa
cmp word [eax + edx + 6], si
je 0x414f91
mov eax, dword [ecx + 0x10]
movsx esi, word [eax + 0x290]
mov ecx, edx
movsx edx, word [eax + 0x288]
movzx esi, word [esi + ecx]
movzx edx, word [edx + ecx]
movsx eax, word [eax + 0x68]
push esi
push edx
mov edx, dword [0x4a5114]
add eax, ecx
push eax
mov eax, dword [ebp - 0x3c4]
movzx ecx, di
push eax
push ecx
push edx
call fcn.00428040
add esp, 0x18
jmp 0x414fad
mov eax, dword [ebp - 0x3c4]
mov edx, dword [0x4a5114]
push 0
movzx ecx, di
push eax
push ecx
push edx
call fcn.00427ff0
add esp, 0x10
mov eax, dword [0x4a42b0]
mov esi, dword [0x4a42b4]
cmp eax, esi
jae 0x414fd3
mov ecx, dword [eax]
fld st(0)
fmul qword [ecx + 0x60]
add eax, 4
fstp qword [ecx + 0x60]
mov esi, dword [0x4a42b4]
cmp eax, esi
jb 0x414fbc
fstp st(0)
jmp 0x414fdd
mov esi, dword [0x4a42b4]
mov bx, word [0x4a2db0]
mov eax, dword [0x4a42b0]
cmp eax, esi
jae 0x41501c
lea ecx, [ecx]
mov ecx, dword [eax]
fld qword [ecx + 0x60]
mov edx, 0x7ffa
fstp qword [ebp - 0x3ec]
cmp word [ebp - 0x3e6], dx
je 0x415012
add eax, 4
cmp eax, esi
jb 0x414ff0
jmp 0x41501c
mov dword [0x4a5340], 2
mov al, byte [0x4a5097]
cmp al, 0x73
jne 0x41510c
mov eax, 0xffff8000
xor ax, word [0x4a5136]
cmp ax, bx
jl 0x4150b8
call fcn.0040c4d0
test eax, eax
jne 0x4150b8
cmp byte [0x4a2270], al
je 0x415098
mov ecx, dword [0x4a5214]
fld qword [0x4a50c0]
mov eax, dword [ecx + 0xc]
mov edx, dword [0x4a5104]
push 0
add eax, 0xc
push eax
sub esp, 8
fstp qword [esp]
push edx
call fcn.0042fb00
add esp, 0x14
test eax, eax
je 0x415098
mov dword [0x4a5234], 1
call fcn.00411a10
mov dword [0x4a5234], 0
jmp 0x4150da
push str.interactive_specify_cancelled
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
movzx eax, word [0x4a40a4]
push eax
call fcn.0040b760
add esp, 4
neg al
sbb al, al
and al, 0xfb
add al, 0x66
mov byte [0x4a5097], al
call fcn.00411a10
test eax, eax
je 0x4153b1
call fcn.00427830
test eax, eax
jne 0x4153b1
cmp dword [0x4a50a8], eax
je 0x4153cd
fld qword [0x4a50a0]
fstp qword [0x4a50e8]
jmp 0x4153cd
cmp al, 0x62
jne 0x4150d5
call fcn.00410ba0
call fcn.00427830
test eax, eax
je 0x41507d
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov word [0x4a2446], cx
cmp dword [0x4a5338], ecx
je 0x415150
mov eax, 0x4a2446
call fcn.0040cbd0
push str.not_enough_to_close_against
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
call fcn.0040fe60
test eax, eax
je 0x4153b1
call fcn.0040cd20
test al, al
je 0x4153b1
call fcn.0040c430
mov al, byte [0x4a5094]
test al, al
je 0x4153cd
cmp al, 4
jne 0x4151ed
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0x10]
movsx eax, word [edx + 0x38]
mov edx, dword [ecx + 0xc]
mov eax, dword [eax + edx]
push eax
call fcn.0040a840
cmp dword [0x4a5090], 0
je 0x4153cd
mov esi, dword [0x4a5214]
call fcn.0040fb60
test eax, eax
je 0x4153b1
push esi
call fcn.00411170
add esp, 4
inc dword [0x4a5128]
jmp 0x4153cd
cmp al, 1
jne 0x41521c
mov ecx, dword [0x4a5214]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 8]
push eax
call fcn.0040aad0
cmp dword [0x4a522c], 0xfffffffe
je 0x4153cd
mov byte [0x4a5094], 0
jmp 0x4153cd
cmp al, 2
jne 0x4151b9
cmp dword [0x4a5090], 0
mov esi, dword [0x4a5214]
je 0x415244
call fcn.0040fb60
test eax, eax
je 0x4153b1
mov edi, dword [0x4a5214]
jmp 0x41524a
mov edi, dword [ebp - 0x3dc]
mov ebx, 1
lea ecx, [ebp - 0x3c]
push ebx
push ecx
call fcn.0040bce0
add esp, 8
test eax, eax
je 0x4153b1
push esi
call fcn.00411170
add dword [0x4a5128], ebx
add esp, 4
cmp dword [0x4a5090], 0
je 0x4153cd
push edi
call fcn.00411170
add esp, 4
add dword [0x4a5128], ebx
jmp 0x4153cd
push str.missing_units_for_r_operator
fstp st(0)
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
push str.bad_number_in_quantity_field
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x3b8], 0
jne 0x4152ff
push str.bad_trade_amount
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
cmp byte [ebp - 0x3b9], 0
je 0x41531d
cmp dword [0x4a50fc], 0
jne 0x41531d
fld qword [0x4a50c8]
fstp qword [0x4a50e0]
call fcn.00412c20
test eax, eax
je 0x4153b1
cmp dword [ebp - 0x3c8], 0
jne 0x41535e
mov ax, word [0x4a50ce]
mov edx, 0x7fff
test dx, ax
jne 0x41537a
call fcn.00407270
test al, al
jne 0x415355
call fcn.0040cce0
test al, al
jne 0x415374
cmp dword [0x4a5100], 0
je 0x415374
pop esi
pop ebx
mov eax, 2
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
mov ax, word [0x4a50ce]
mov ecx, 0x7ff0
and ax, cx
cmp ax, word [0x4a2db0]
jge 0x4153c4
mov edx, 0x7962
cmp word [0x4a40a4], dx
jne 0x4153a4
mov eax, dword [0x4a40a0]
cmp byte [eax + 0x3c], 0
jne 0x4153c4
push str.ignored_since_trade_amount_is_0
call fcn.0040d430
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439fc0
mov esp, ebp
pop ebp
ret
call fcn.0040fe60
test eax, eax
je 0x4153b1
mov ecx, dword [0x4a5214]
inc dword [0x4a5128]
push ecx
call fcn.00411170
mov ecx, dword [ebp - 4]
add esp, 4
pop esi
pop ebx
xor ecx, ebp
mov eax, 1
pop edi
call fcn.00439fc0
mov esp, ebp
pop ebp
ret