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

Disassembly:
sub esp, 0x30
push ebx
push edi
mov edi, ecx
xor ebx, ebx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x14], ebx
call fcn.004b0fe0
mov dword [esp + 0x1c], ebx
call fcn.004b10d0
call fcn.004b3060
mov ecx, 0x99
call fcn.004a38d0
cmp eax, ebx
je 0x42b215
push 0x54d014
push str.Restore
mov ecx, eax
call fcn.004c99d0
jmp 0x42b217
xor eax, eax
mov ecx, dword [edi + 0x4c]
push ebp
push esi
mov dword [esp + 0x20], eax
mov edx, dword [ecx + 0x2b]
mov ecx, eax
push edx
push str.Getting_Company_Details
call fcn.004c9760
mov ecx, dword [edi + 0x4c]
call fcn.004c7b80
mov esi, eax
cmp esi, ebx
mov dword [esp + 0x2c], esi
je 0x42b3c9
mov dword [esp + 0x18], 0x565f4c
push 0x414
mov ecx, esi
call fcn.004a7660
mov eax, dword [eax + 0x1d]
push ebx
push 0x186a0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.00543840
mov ecx, dword [esp + 0x18]
mov ebp, eax
xor eax, eax
cmp ecx, 0x565f4c
jle 0x42b298
mov ecx, 0x565f4c
cmp dword [ecx], ebp
je 0x42b3f0
mov edx, dword [esp + 0x1c]
inc eax
add ecx, 4
cmp eax, edx
jl 0x42b284
cmp ebp, ebx
jle 0x42b3a4
cmp ebp, 0x270f
jg 0x42b3a4
mov eax, dword [edi + 0x54]
mov ecx, dword [0x565de8]
push ebp
mov eax, dword [eax + 0x1d]
add eax, 4
push eax
call fcn.00421450
mov esi, eax
cmp esi, ebx
je 0x42b383
mov al, byte [esi + 0xd6]
test al, al
je 0x42b32d
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], ebx
push ecx
mov ecx, dword [0x565de8]
push 0x42bac0
mov dword [0x56614c], esi
call fcn.00420dc0
push 1
push 0x10
mov ecx, 0x566b48
call fcn.004a6ac0
cmp eax, ebx
je 0x42b319
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0x37]
mov dword [eax], 0x54a31c
mov dword [eax + 0xc], ecx
jmp 0x42b31b
xor eax, eax
push eax
lea ecx, [esp + 0x3c]
call fcn.004a6c60
mov eax, dword [esp + 0x28]
push ebx
push eax
jmp 0x42b358
push 1
push 0x10
mov ecx, 0x566b48
call fcn.004a6ac0
cmp eax, ebx
je 0x42b34a
mov dword [eax], 0x54a31c
mov dword [eax + 0xc], ebp
jmp 0x42b34c
xor eax, eax
push eax
lea ecx, [esp + 0x3c]
call fcn.004a6c60
push ebx
push esi
mov ecx, dword [0x565de8]
call fcn.00420820
mov ecx, dword [edi + 0x54]
push ebp
mov eax, dword [ecx + 0x1d]
mov ecx, dword [0x565de8]
add eax, 4
push eax
call fcn.00421450
mov esi, eax
cmp esi, ebx
jne 0x42b2cc
mov eax, dword [esp + 0x18]
cmp eax, 0x56614c
je 0x42b405
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
mov dword [eax], ebp
inc edx
add eax, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x20]
call fcn.004ca770
cmp eax, 0x10006
je 0x42b41c
mov ecx, esi
call fcn.004a8c30
mov esi, eax
cmp esi, ebx
mov dword [esp + 0x2c], esi
jne 0x42b24e
push 1
mov ecx, edi
call fcn.0042c060
mov eax, dword [edi + 0x58]
cmp eax, ebx
jne 0x42b433
mov eax, dword [esp + 0x44]
push str.Abandoned__
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
add esp, 8
jmp 0x42ba1f
mov eax, dword [esp + 0x44]
push ebp
push str.Duplicate_nCompany_Number_n__04.4d_
push eax
mov edx, dword [eax]
call dword [edx + 0x48]
jmp 0x42ba1c
mov eax, dword [esp + 0x44]
push str.Too_many_nCompanies_
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
add esp, 8
jmp 0x42ba1f
mov eax, dword [esp + 0x44]
push str.Abandoned__
push eax
mov edx, dword [eax]
call dword [edx + 0x48]
add esp, 8
jmp 0x42ba1f
mov eax, dword [eax + 0x14]
xor ebx, ebx
mov dword [esp + 0x2c], ebx
cmp dword [eax + 4], ebx
jbe 0x42b4ad
lea edx, [eax + 0xc]
mov ebp, 0x565f4c
mov ecx, dword [esp + 0x1c]
xor eax, eax
test ecx, ecx
jle 0x42b493
mov esi, dword [edx - 4]
mov ecx, 0x565f4c
cmp dword [ecx], esi
je 0x42b46b
inc eax
add ecx, 4
cmp eax, dword [esp + 0x1c]
jl 0x42b45b
jmp 0x42b493
cmp ebx, eax
je 0x42b483
mov esi, dword [eax*4 + 0x565f4c]
mov ecx, dword [ebp]
mov dword [ebp], esi
mov dword [eax*4 + 0x565f4c], ecx
mov eax, dword [edx]
mov ecx, dword [esp + 0x14]
inc ebx
add ebp, 4
add ecx, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [edi + 0x58]
mov eax, dword [esp + 0x2c]
add edx, 0x80
inc eax
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x2c], eax
cmp eax, dword [ecx + 4]
jb 0x42b449
mov esi, dword [esp + 0x1c]
xor ebx, ebx
test esi, esi
jle 0x42b4fc
mov edx, dword [edi + 0x58]
mov ebp, 0x565f4c
mov eax, dword [edx + 0x14]
mov dword [esp + 0x30], eax
mov edx, dword [eax + 4]
xor eax, eax
test edx, edx
jbe 0x42b4ec
mov ecx, dword [esp + 0x30]
mov esi, dword [ebp]
add ecx, 8
cmp esi, dword [ecx]
je 0x42b4e8
inc eax
add ecx, 0x80
cmp eax, edx
jb 0x42b4d9
mov esi, dword [esp + 0x1c]
cmp eax, edx
je 0x42b5ce
inc ebx
add ebp, 4
cmp ebx, esi
jl 0x42b4c9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push edx
push str.Restoring_Companies
call fcn.004c9760
test esi, esi
mov dword [esp + 0x28], 0
jle 0x42ba23
mov dword [esp + 0x18], 0x565f4c
mov edx, dword [edi + 0x58]
xor ebx, ebx
xor eax, eax
mov esi, dword [edx + 0x14]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 4]
cmp ecx, ebx
jbe 0x42b557
mov ebp, dword [esp + 0x18]
mov ebp, dword [ebp]
cmp ebp, dword [esi + 8]
je 0x42b553
add esi, 0x80
inc eax
cmp eax, ecx
jb 0x42b543
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 8]
mov dword [edx], ecx
mov edx, dword [edi + 0x58]
mov dword [edx + 0x70], eax
mov eax, dword [edi + 0x58]
mov byte [eax + 0x78], 0
mov ecx, dword [edi + 0x58]
mov edx, dword [esi + 0xc]
mov dword [ecx + 0x5c], edx
mov eax, dword [edi + 0x58]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x8e], ebx
mov ecx, dword [edi + 0x58]
mov dword [ecx + 0x18], edx
mov eax, dword [edi + 0x58]
mov ecx, dword [eax + 0x20]
call fcn.004a3a20
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x10], ebx
mov dword [ecx + 0x20], ebx
mov eax, dword [esi + 0x2c]
cmp eax, ebx
je 0x42b6c0
mov edx, dword [edi + 0x58]
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], edx
call fcn.004b0fe0
mov ecx, 0x86
call fcn.004a38d0
cmp eax, ebx
je 0x42b5ea
mov ecx, eax
call fcn.004b2dd0
mov ebp, eax
jmp 0x42b5ec
mov eax, dword [esp + 0x44]
mov ecx, dword [ebx*4 + 0x565f4c]
push ecx
push str.Company__04.4d_nnot_found_non_Restore_Diskette
mov edx, dword [eax]
push eax
call dword [edx + 0x48]
jmp 0x42ba1c
xor ebp, ebp
mov ecx, 0xaf
call fcn.004a38d0
cmp eax, ebx
je 0x42b610
mov cx, word [0x5c99e8]
push 0xfffffffffffffffc
push ebx
push ecx
mov ecx, eax
call fcn.004b1b30
mov esi, eax
jmp 0x42b612
xor esi, esi
mov cl, byte [esi + 0xae]
push ebx
or cl, 0x10
push ebp
mov byte [esi + 0xae], cl
mov ecx, esi
call fcn.004b1190
cmp eax, 0xffffffff
je 0x42b71b
mov dl, byte [esi + 0xad]
and dl, 0x10
cmp dl, 0x10
jne 0x42b71b
mov edx, dword [esi + 0x43]
lea ecx, [esp + 0x24]
call fcn.004ad430
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x92], eax
call fcn.004df670
test eax, eax
je 0x42b69a
cmp esi, ebx
je 0x42b674
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
cmp ebp, ebx
je 0x42b681
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
mov ecx, dword [esp + 0x24]
call fcn.004a3a20
xor ecx, ecx
mov dword [esp + 0x24], ebx
call fcn.004b1150
jmp 0x42b5b5
cmp esi, ebx
je 0x42b6a6
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
cmp ebp, ebx
je 0x42b6b3
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
lea ecx, [esp + 0x30]
call fcn.004b1080
mov dword [esp + 0x10], ebx
mov ecx, 0x201
call fcn.004a3860
mov ecx, dword [edi + 0x58]
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x20], eax
mov ecx, dword [edi + 0x54]
mov eax, dword [edx]
mov edx, dword [ecx + 0x1d]
push eax
mov eax, dword [edi + 0x58]
add edx, 4
push 0x5c
push edx
mov ecx, dword [eax + 0x20]
push str._s_c_04.4d
push ecx
call fcn.00543924
mov edx, dword [edi + 0x58]
add esp, 0x14
mov ecx, dword [edx + 0x20]
call fcn.004afd30
mov ecx, 0xdf
call fcn.004a38d0
cmp eax, ebx
je 0x42b74a
mov ecx, eax
call fcn.004016a0
mov ebx, eax
jmp 0x42b74c
cmp esi, ebx
je 0x42b727
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
cmp ebp, ebx
je 0x42b734
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax]
lea ecx, [esp + 0x30]
call fcn.004b1080
mov dword [esp + 0x10], 1
jmp 0x42b993
xor ebx, ebx
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 0x54]
mov ecx, dword [eax]
mov eax, dword [edx + 0x1d]
add eax, 4
push ecx
push eax
mov ecx, ebx
call fcn.00402910
mov ecx, dword [ebx + 0x57]
call fcn.004b0cc0
mov ecx, dword [ebx + 0x57]
push 0
push str.Company.500
push 1
call fcn.004ace40
mov esi, eax
test esi, esi
je 0x42b905
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x2c], 0
test eax, eax
je 0x42b7f2
cmp word [eax + 0x4a], 0
je 0x42b7f2
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x58]
add eax, 0x28
mov edx, dword [ecx]
push edx
push 0x5553a8
push eax
call fcn.00543924
mov ebp, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x42b7d7
mov ecx, dword [esi + 0x1c]
mov edx, dword [ebp + 0x30]
cmp edx, dword [ecx + 8]
je 0x42b909
jmp 0x42b8d9
mov eax, dword [esi + 0x1c]
lea ecx, [ebp + 0x3c]
mov esi, dword [eax + 8]
call fcn.00403fa0
cmp eax, esi
je 0x42b909
jmp 0x42b8d9
push 1
push 0x23
mov ecx, 0x566c68
call fcn.004a6ac0
test eax, eax
je 0x42b811
push 0
mov ecx, eax
call fcn.004ae6d0
mov ebp, eax
jmp 0x42b813
xor ebp, ebp
push 0
push 1
push esi
mov ecx, ebp
call fcn.004aef70
test eax, eax
jne 0x42b8c0
test byte [ebp + 0x10], 2
jne 0x42b83e
mov edx, dword [ebp]
push 0
push 0xc1
mov ecx, ebp
call dword [edx + 8]
jmp 0x42b84d
mov ecx, dword [ebp + 8]
push 0
push 0xc1
call fcn.004ac8f0
mov esi, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x42b888
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x58]
add eax, 0x28
mov edx, dword [ecx]
push edx
push 0x5553a8
push eax
call fcn.00543924
mov ecx, dword [esi + 8]
add esp, 0xc
call fcn.00403fa0
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x30], eax
je 0x42b8c0
jmp 0x42b8b8
mov edx, dword [esi + 8]
mov eax, dword [edi + 0x58]
push edx
push 0x32
add eax, 0x28
push 0x54d1b0
push eax
call fcn.00543924
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea edx, [ecx + 0x3c]
mov ecx, dword [edi + 0x58]
add ecx, 0x28
call fcn.004c8440
test eax, eax
je 0x42b8c0
mov dword [esp + 0x2c], 1
test ebp, ebp
je 0x42b8cd
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
test eax, eax
je 0x42b909
mov ecx, dword [edi + 0x58]
mov edx, dword [esp + 0x18]
lea eax, [ebp + 0x3c]
add ecx, 0x28
push eax
mov eax, dword [edx]
push ecx
mov ecx, dword [esp + 0x28]
push eax
call fcn.004cac40
cmp eax, 0x10005
je 0x42b909
mov dword [esp + 0x10], 1
jmp 0x42b909
mov ebp, dword [esp + 0x14]
mov ecx, dword [ebx + 0x57]
call fcn.004b0d10
cmp dword [esp + 0x10], 1
je 0x42b9b5
mov ecx, dword [ebx + 0x57]
call fcn.004b05d0
xor esi, esi
mov edx, 0x42baf0
mov dword [0x565f48], esi
mov ecx, dword [edi + 0x58]
mov ecx, dword [ecx + 0x20]
push ecx
call fcn.004b0020
cmp dword [0x565f48], esi
je 0x42b964
mov dword [0x565f48], esi
mov edx, dword [edi + 0x58]
mov ecx, dword [edx + 0x20]
mov edx, 0x42baf0
push ecx
call fcn.004b0020
cmp dword [0x565f48], esi
jne 0x42b945
mov ecx, dword [edi + 0x58]
call fcn.004df0d0
cmp eax, 1
mov eax, dword [edi + 0x58]
mov ecx, dword [eax + 0x10]
je 0x42b9e5
cmp ecx, esi
je 0x42b981
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [edi + 0x58]
cmp ebx, esi
mov dword [eax + 0x10], esi
je 0x42b993
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
jl 0x42b527
jmp 0x42ba23
test ebx, ebx
je 0x42b9c1
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
add ebp, 0x3c
mov edx, dword [edx*4 + 0x565f4c]
mov ecx, dword [eax]
push edx
push ebp
push str.Company_n_s_ncannot_be_nrestored_as_n__04.4d_
push eax
call dword [ecx + 0x48]
add esp, 0x10
jmp 0x42ba23
cmp ecx, esi
je 0x42b9ef
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [edi + 0x58]
cmp ebx, esi
mov dword [eax + 0x10], esi
je 0x42ba01
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
mov edx, dword [edx*4 + 0x565f4c]
mov ecx, dword [eax]
push edx
push str.Could_not_restore_n__04.4d_
push eax
call dword [ecx + 0x48]
add esp, 0xc
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x58]
xor ebx, ebx
cmp eax, ebx
je 0x42ba3f
mov ecx, dword [eax + 0xc]
cmp ecx, ebx
je 0x42ba39
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [edi + 0x58]
mov dword [ecx + 0xc], ebx
mov esi, dword [esp + 0x38]
cmp esi, ebx
je 0x42ba6b
mov eax, dword [edi + 0x54]
mov edx, dword [esi + 0xc]
push ebx
push ebx
mov ecx, dword [eax + 0x1d]
push 1
add ecx, 4
push edx
push ecx
mov ecx, dword [0x565de8]
call fcn.004206a0
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x42ba47
lea ecx, [esp + 0x38]
call fcn.004a6c00
mov ecx, dword [esp + 0x20]
pop esi
cmp ecx, ebx
pop ebp
je 0x42ba84
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [edi + 0x58]
mov dword [eax + 0x18], ebx
mov ecx, dword [esp + 0x1c]
call fcn.004a3a20
lea ecx, [esp + 0x2c]
call fcn.004b1080
lea ecx, [esp + 0x30]
call fcn.004a6c00
mov eax, dword [esp + 8]
pop edi
pop ebx
add esp, 0x30
ret 4