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

Disassembly:
push 0xffffffffffffffff
push 0x47ad18
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4a0538]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
mov dword [esp + 0x18], edi
or ebp, 0xffffffff
mov ecx, dword [esp + 0x18]
cmp ecx, edi
sete bl
cmp byte [esp + 0x74], 0
mov byte [esp + 0x1c], bl
je 0x40888f
cmp ecx, 1
jge 0x40958d
mov eax, dword [0x4a1e94]
cmp eax, edi
jne 0x4088a1
cmp ecx, 2
jge 0x409592
mov edx, dword [esp + 0x1c]
xor ecx, ecx
cmp dword [esp + 0x18], 1
setle cl
dec ecx
and ecx, eax
push ecx
push edx
mov ecx, esi
call fcn.00402870
mov eax, 0x48cce1
test bl, bl
jne 0x4088ca
mov eax, dword [esi + 0x3bc]
push eax
push str.branch_name
push str.ProgramInfo
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3bc]
push eax
mov dword [esp + 0x70], edi
call fcn.00407bc0
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408914
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x48cce1
test bl, bl
jne 0x408923
mov eax, dword [esi + 0x3a4]
push eax
push str.bank_name
push str.ProgramInfo
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3a4]
push eax
mov dword [esp + 0x70], 1
call fcn.00407bc0
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408971
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x48cce1
test bl, bl
jne 0x408980
mov eax, dword [esi + 0x3a8]
push eax
push str.bank_address_1
push str.ProgramInfo
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3a8]
push eax
mov dword [esp + 0x70], 2
call fcn.00407bc0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4089ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x48cce1
test bl, bl
jne 0x4089dd
mov eax, dword [esi + 0x3ac]
push eax
push str.bank_address_2
push str.ProgramInfo
lea ecx, [esp + 0x38]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3ac]
push eax
mov dword [esp + 0x70], 3
call fcn.00407bc0
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408a2b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x48cce1
test bl, bl
jne 0x408a3a
mov eax, dword [esi + 0x3b0]
push eax
push str.bank_telephone_number
push str.ProgramInfo
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3b0]
push eax
mov dword [esp + 0x70], 4
call fcn.00407bc0
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408a88
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x48cce1
test bl, bl
jne 0x408a97
mov eax, dword [esi + 0x3b4]
push eax
push str.bank_fax_number
push str.ProgramInfo
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3b4]
push eax
mov dword [esp + 0x70], 5
call fcn.00407bc0
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408ae5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x48cce1
test bl, bl
jne 0x408af4
mov eax, dword [esi + 0x3b8]
push eax
push str.bank_logo_image_path
push str.ProgramInfo
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3b8]
push eax
mov dword [esp + 0x70], 6
call fcn.00407bc0
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408b42
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
test bl, bl
jne 0x408b51
mov eax, dword [esi + 0x3c0]
push eax
push str.COM_Port
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3c0], eax
test bl, bl
je 0x408b71
xor eax, eax
jmp 0x408b77
mov eax, dword [esi + 0x43c]
push eax
push 0x480534
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x43c], eax
mov eax, str.0001
test bl, bl
jne 0x408b9e
mov eax, dword [esi + 0x3c4]
push eax
push str.workstation_ID
push str.ProgramInfo
lea ecx, [esp + 0x48]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3c4]
push eax
mov dword [esp + 0x70], 7
call fcn.00407bc0
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408bec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x408bf4
xor eax, eax
jmp 0x408bfa
mov eax, dword [esi + 0x3c8]
push eax
push str.save_data_option
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3c8], eax
test bl, bl
je 0x408c1a
xor eax, eax
jmp 0x408c20
mov eax, dword [esi + 0x3cc]
push eax
push str.Date_format
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3cc], eax
test bl, bl
je 0x408c40
xor eax, eax
jmp 0x408c46
mov eax, dword [esi + 0x3d0]
push eax
push str.Customer_Info_Check
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3d0], eax
test bl, bl
je 0x408c66
xor eax, eax
jmp 0x408c6c
mov eax, dword [esi + 0x3d4]
push eax
push str.Never_Export_Search
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3d4], eax
mov eax, 6
test bl, bl
jne 0x408c93
mov eax, dword [esi + 0x3d8]
push eax
push str.Duplicate_Data_Term_Option
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3d8], eax
test bl, bl
je 0x408cb3
xor eax, eax
jmp 0x408cb9
mov eax, dword [esi + 0x3dc]
push eax
push str.Use_Work_Path
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3dc], eax
lea eax, [esi + 0x450]
test bl, bl
jne 0x408ce1
mov eax, dword [esi + 0x3e0]
push eax
push str.Work_Path
push str.ProgramInfo
lea ecx, [esp + 0x4c]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3e0]
push eax
mov dword [esp + 0x70], 8
call fcn.00407bc0
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408d2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 0x48cce1
test bl, bl
jne 0x408d3e
mov eax, dword [esi + 0x3e4]
push eax
push str.Blacklist_DB_Path
push str.ProgramInfo
lea ecx, [esp + 0x50]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3e4]
push eax
mov dword [esp + 0x70], 9
call fcn.00407bc0
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408d8c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, str.english
test bl, bl
jne 0x408d9b
mov eax, dword [esi + 0x3e8]
push eax
push 0x480484
push str.ProgramInfo
lea ecx, [esp + 0x54]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3e8]
push eax
mov dword [esp + 0x70], 0xa
call fcn.00407bc0
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408de9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
test bl, bl
jne 0x408df8
mov eax, dword [esi + 0x3ec]
push eax
push str.Admin_Right_Set
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3ec], eax
mov eax, 1
test bl, bl
jne 0x408e1f
mov eax, dword [esi + 0x3f0]
push eax
push str.Admin_Right_Data
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3f0], eax
test bl, bl
je 0x408e3f
xor eax, eax
jmp 0x408e45
mov eax, dword [esi + 0x444]
push eax
push str.AutoSave
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x444], eax
test bl, bl
je 0x408e65
xor eax, eax
jmp 0x408e6b
mov eax, dword [esi + 0x448]
push eax
push str.NotDataCheck
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x448], eax
test bl, bl
je 0x408e8b
xor eax, eax
jmp 0x408e91
mov eax, dword [esi + 0x3f8]
push eax
push str.Export_When_Save
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3f8], eax
mov eax, 0x48cce1
test bl, bl
jne 0x408eb8
mov eax, dword [esi + 0x3f4]
push eax
push str.Program_Version_Mark
push str.ProgramInfo
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x3f4]
push eax
mov dword [esp + 0x70], 0xb
call fcn.00407bc0
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408f06
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x408f0e
xor eax, eax
jmp 0x408f14
mov eax, dword [esi + 0x3fc]
push eax
push str.Account_Type
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x3fc], eax
test bl, bl
je 0x408f34
xor eax, eax
jmp 0x408f3a
mov eax, dword [esi + 0x400]
push eax
push str.Account_Length
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x400], eax
test bl, bl
je 0x408f5a
xor eax, eax
jmp 0x408f60
mov eax, dword [esi + 0x404]
push eax
push str.Customer_ID_X
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x404], eax
test bl, bl
je 0x408f80
xor eax, eax
jmp 0x408f86
mov eax, dword [esi + 0x408]
push eax
push str.Temporary_Path
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x408], eax
test bl, bl
je 0x408fa6
xor eax, eax
jmp 0x408fac
mov eax, dword [esi + 0x40c]
push eax
push str.Exported_to_Read_Only
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x40c], eax
test bl, bl
je 0x408fcc
xor eax, eax
jmp 0x408fd2
mov eax, dword [esi + 0x414]
push eax
push str.INI_Path
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
push 0x48cce1
push str.SET_1_IP_ADDRESS
push str.ProgramInfo
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
mov dword [esi + 0x414], eax
call fcn.004360e4
lea edx, [esi + 0x41b]
push edx
lea eax, [esi + 0x41a]
push eax
mov eax, dword [esp + 0x1c]
lea ecx, [esi + 0x419]
push ecx
lea edx, [esi + 0x418]
push edx
push str._d._d._d._d
push eax
mov dword [esp + 0x84], 0xc
call fcn.00464e76
add esp, 0x18
push 0x48cce1
push str.SET_2_IP_ADDRESS
push str.ProgramInfo
lea ecx, [esp + 0x5c]
push ecx
mov ecx, esi
call fcn.004360e4
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 0xd
call fcn.00407bc0
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0x6c], 0xc
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40908c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x41f]
push ecx
lea edx, [esi + 0x41e]
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esi + 0x41d]
push eax
lea ecx, [esi + 0x41c]
push ecx
push str._d._d._d._d
push edx
call fcn.00464e76
add esp, 0x18
push 0x48cce1
push str.SET_3_IP_ADDRESS
push str.ProgramInfo
lea eax, [esp + 0x60]
push eax
mov ecx, esi
call fcn.004360e4
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 0xe
call fcn.00407bc0
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
mov byte [esp + 0x6c], 0xc
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409108
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x423]
push ecx
lea edx, [esi + 0x422]
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esi + 0x421]
push eax
lea ecx, [esi + 0x420]
push ecx
push str._d._d._d._d
push edx
call fcn.00464e76
add esp, 0x18
push 0x48cce1
push str.SET_4_IP_ADDRESS
push str.ProgramInfo
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.004360e4
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 0xf
call fcn.00407bc0
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
mov byte [esp + 0x6c], 0xc
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409184
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x427]
push ecx
lea edx, [esi + 0x426]
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esi + 0x425]
push eax
lea ecx, [esi + 0x424]
push ecx
push str._d._d._d._d
push edx
call fcn.00464e76
add esp, 0x18
push 0x48cce1
push str.SET_5_IP_ADDRESS
push str.ProgramInfo
lea eax, [esp + 0x68]
push eax
mov ecx, esi
call fcn.004360e4
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 0x10
call fcn.00407bc0
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
mov byte [esp + 0x6c], 0xc
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409200
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x42b]
push ecx
lea edx, [esi + 0x42a]
push edx
mov edx, dword [esp + 0x1c]
lea eax, [esi + 0x429]
push eax
lea ecx, [esi + 0x428]
push ecx
push str._d._d._d._d
push edx
call fcn.00464e76
add esp, 0x18
test bl, bl
je 0x409236
xor eax, eax
jmp 0x40923c
mov eax, dword [esi + 0x42c]
push eax
push str.IP_PORT
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x42c], eax
test bl, bl
je 0x40925c
xor eax, eax
jmp 0x409262
mov eax, dword [esi + 0x430]
push eax
push str.USE_SERIAL_OR_LAN
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x430], eax
mov eax, 1
test bl, bl
jne 0x409289
mov eax, dword [esi + 0x440]
push eax
push str.SET_NEW_LAN_PROTOCOL
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x440], eax
mov eax, 1
test bl, bl
jne 0x4092b0
mov eax, dword [esi + 0x438]
push eax
push str.SETTING_AUTOMATIC_OPEN
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
push 0x48cce1
push str.PC_IP_ADDRESS
mov dword [esi + 0x438], eax
push str.ProgramInfo
lea eax, [esp + 0x6c]
push eax
mov ecx, esi
call fcn.004360e4
lea ecx, [esi + 0x434]
push eax
mov byte [esp + 0x70], 0x11
call fcn.00407bc0
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
mov byte [esp + 0x6c], 0xc
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409318
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x409320
xor eax, eax
jmp 0x409326
mov eax, dword [esi + 0x298]
push eax
push str.Currency_Option
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x298], eax
mov eax, 1
test bl, bl
jne 0x40934d
mov eax, dword [esi + 0x29c]
push eax
push str.Find_Criteria
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x29c], eax
test bl, bl
je 0x40936d
xor eax, eax
jmp 0x409373
mov eax, dword [esi + 0x2a0]
push eax
push str.Find_Key_Combo
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2a0], eax
mov eax, 1
test bl, bl
jne 0x40939a
mov eax, dword [esi + 0x2a4]
push eax
push str.Export_Target
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2a4], eax
mov eax, 1
test bl, bl
jne 0x4093c1
mov eax, dword [esi + 0x2a8]
push eax
push str.Export_Format
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2a8], eax
test bl, bl
je 0x4093e1
xor eax, eax
jmp 0x4093e7
mov eax, dword [esi + 0x2ac]
push eax
push str.Export_Show_Detail
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2ac], eax
test bl, bl
je 0x409407
xor eax, eax
jmp 0x40940d
mov eax, dword [esi + 0x2b0]
push eax
push str.Export_Detail_Tab
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2b0], eax
test bl, bl
je 0x40942d
xor eax, eax
jmp 0x409433
mov eax, dword [esi + 0x2b4]
push eax
push str.Export_File_Name
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2b4], eax
test bl, bl
je 0x409453
xor eax, eax
jmp 0x409459
mov eax, dword [esi + 0x2b8]
push eax
push str.Export_File_Name_Date
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2b8], eax
mov eax, 0xffff
test bl, bl
jne 0x409480
mov eax, dword [esi + 0x2bc]
push eax
push str.Export_Max_Data
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2bc], eax
test bl, bl
je 0x4094a0
xor eax, eax
jmp 0x4094a6
mov eax, dword [esi + 0x2c0]
push eax
push str.Export_Overflow
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2c0], eax
test bl, bl
je 0x4094c6
xor eax, eax
jmp 0x4094cc
mov eax, dword [esi + 0x2c4]
push eax
push str.Export_Column_type
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2c4], eax
test bl, bl
je 0x4094ec
xor eax, eax
jmp 0x4094f2
mov eax, dword [esi + 0x2cc]
push eax
push str.Preview_Ratio_Option
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2cc], eax
mov eax, 1
test bl, bl
jne 0x409519
mov eax, dword [esi + 0x2d0]
push eax
push str.Print___Number_of_Copy
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x2d0], eax
mov eax, 1
test bl, bl
jne 0x409540
mov eax, dword [esi + 0x294]
push eax
push str.First_Starting
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
mov dword [esi + 0x294], eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x6c], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40957b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 3
mov dword [esp + 0x18], eax
jl 0x408872
mov eax, dword [0x4a1e94]
push eax
push edi
mov ecx, esi
call fcn.00402870
push edi
push str.Program_is_loaded
push str.ProgramInfo
mov ecx, esi
call fcn.00435f2e
push 1
push str.Program_is_loaded
push str.ProgramInfo
mov ecx, esi
mov dword [esi + 0x2d4], eax
call fcn.00435f99
call fcn.00442426
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x4095e0
push 0x80004005
call fcn.00402090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x64
lea edi, [esi + 0x2d8]
push 0
mov ebx, 0x12
push edi
mov dword [esp + 0x78], ebx
call fcn.00463860
add esp, 0xc
push 0x48cce1
push str.List_Column_Width
push str.ProgramInfo
lea ecx, [esp + 0x6c]
push ecx
mov ecx, esi
call fcn.004360e4
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 0x13
call fcn.00407bc0
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
mov byte [esp + 0x6c], bl
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x409659
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0xa
jl 0x40966a
cmp byte [esp + 0x74], 0
je 0x40967a
push 0x23
push str._t10__t85__t50__t50__t70__t100_45__t65__t90
lea ecx, [esp + 0x1c]
call fcn.004077b0
lea edx, [esi + 0x2f8]
push edx
lea eax, [esi + 0x2f4]
push eax
lea ecx, [esi + 0x2f0]
push ecx
lea edx, [esi + 0x2ec]
push edx
lea eax, [esi + 0x2e8]
push eax
lea ecx, [esi + 0x2e4]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esi + 0x2e0]
push edx
lea eax, [esi + 0x2dc]
push eax
push edi
push str._d__d__d__d__d__d__d__d__d
push ecx
call fcn.00464e76
add esp, 0x2c
push 0x48cce1
push str.List_Column_Width2
push str.ProgramInfo
lea edx, [esp + 0x6c]
push edx
mov ecx, esi
call fcn.004360e4
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 0x14
call fcn.00407bc0
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
mov byte [esp + 0x6c], bl
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409712
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x14]
cmp dword [ebx - 0xc], 0xa
jl 0x409723
cmp byte [esp + 0x74], 0
je 0x409737
push 0x32
push str._t60__t65__t65__t70__t77__t77__t85__t60__t60__t60__t60__t60__t0
lea ecx, [esp + 0x1c]
call fcn.004077b0
mov ebx, dword [esp + 0x14]
lea ecx, [esi + 0x32c]
push ecx
lea edx, [esi + 0x328]
push edx
lea eax, [esi + 0x324]
push eax
lea ecx, [esi + 0x320]
push ecx
lea edx, [esi + 0x31c]
push edx
lea eax, [esi + 0x318]
push eax
lea ecx, [esi + 0x314]
push ecx
lea edx, [esi + 0x310]
push edx
lea eax, [esi + 0x30c]
push eax
lea ecx, [esi + 0x308]
push ecx
lea edx, [esi + 0x304]
push edx
lea eax, [esi + 0x300]
push eax
lea ecx, [esi + 0x2fc]
push ecx
push str._d__d__d__d__d__d__d__d__d__d__d__d__d
push ebx
call fcn.00464e76
add esp, 0x3c
mov ecx, 0x15
mov eax, dword [edi]
test eax, eax
jle 0x4097b2
cmp eax, 0x12c
jl 0x4097b8
mov dword [edi], 0x3c
add edi, 4
sub ecx, 1
jne 0x4097a5
cmp dword [esi + 0x3fc], ecx
je 0x4097d0
cmp dword [esi + 0x400], ecx
jg 0x4097da
mov dword [esi + 0x400], 0x1f
lea eax, [ebx - 0x10]
mov dword [esp + 0x6c], ebp
lea edx, [eax + 0xc]
lock xadd dword [edx], ebp
dec ebp
test ebp, ebp
jg 0x4097f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 4