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

Disassembly:
jmp 0x5294c0
sub esp, 0x3cc
mov eax, dword [0x93e25c]
mov ecx, dword [esp + 0x3d4]
mov edx, dword [ecx + 0x14]
push ebx
push ebp
mov ebp, dword [ecx + 8]
mov dword [esp + 0x3d0], eax
mov eax, dword [ecx + 4]
push esi
mov esi, dword [esp + 0x3dc]
push edi
mov edi, dword [esp + 0x3e8]
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x814]
test eax, eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14], eax
jne 0x529521
mov dword [esp + 0x14], ebx
mov eax, dword [edx + 4]
mov ecx, dword [ecx + 0x20]
mov ebx, 1
cmp eax, ebx
mov dword [esp + 0x20], ecx
ja 0x529eda
cmp dword [ebp + 4], ebx
ja 0x529eda
push edi
push esi
call fcn.00404287
add esp, 8
test eax, eax
jne 0x529ef6
mov eax, dword [esi + 0x2c]
push 6
push 6
push 0
lea edx, [eax + 0x3e4]
push edx
lea ecx, [esp + 0x40]
push ecx
push edi
lea edx, [eax + 0x3d0]
push edx
add eax, 0x320
push eax
push esi
call fcn.0040a3cb
add esp, 0x24
test eax, eax
je 0x52959d
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3c8]
call fcn.006cedd0
add esp, 0x3cc
ret
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x529ec0
mov eax, dword [edi + 0x158]
test eax, eax
je 0x529ec0
push edi
push esi
call fcn.004098ea
add esp, 8
test eax, eax
jne 0x529ec0
cmp byte [edi + 0x121], 2
jne 0x5295e4
push ebx
push 0
push esi
mov ecx, edi
call fcn.0040aa79
test eax, eax
jne 0x529ef6
push esi
mov ecx, edi
call fcn.00403076
test eax, eax
jne 0x529ef6
push eax
mov eax, dword [edi + 4]
push eax
push edi
push esi
call fcn.004013cf
add esp, 0x10
test eax, eax
je 0x52961c
mov ecx, dword [edi + 0x14]
push ecx
push 0
push 0x445
call fcn.005db890
jmp 0x529ef3
mov ebx, dword [edi + 0x4c]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov dword [esp + 0x28], ebx
call dword [edx + 0x2c]
mov ebp, dword [esp + 0x3ec]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
test eax, eax
jne 0x5296e3
mov edi, dword [ebx + 0x14]
cmp dword [edi], 0
je 0x529681
lea esp, [esp]
push 0x8c
call fcn.0040105a
add esp, 4
test eax, eax
je 0x52966d
mov ecx, dword [edi]
push ecx
mov ecx, eax
call fcn.00406050
jmp 0x52966f
xor eax, eax
push eax
mov ecx, ebp
call fcn.004069a6
mov eax, dword [edi + 4]
add edi, 4
test eax, eax
jne 0x529650
mov edx, dword [esp + 0x3f0]
push 0
push 0
push 1
push edx
push 0
push esi
mov dword [ebx + 0x478], 0
call fcn.00409994
add esp, 0x18
test eax, eax
jne 0x5296c7
push eax
push eax
mov eax, dword [esp + 0x3fc]
push 1
push eax
push 0
push esi
call fcn.00409994
add esp, 0x18
test eax, eax
je 0x529776
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x3c8]
call fcn.006cedd0
add esp, 0x3cc
ret
push 0
push 0
push 1
push ebp
push 0
push esi
call fcn.00409994
add esp, 0x18
test eax, eax
jne 0x529a8d
mov ecx, dword [esp + 0x3f0]
push eax
push eax
push 1
push ecx
push eax
push esi
call fcn.00409994
add esp, 0x18
test eax, eax
jne 0x529a8d
push edi
push ebx
push esi
call fcn.00407cb6
add esp, 0xc
test eax, eax
jne 0x529a8d
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x529755
mov edx, dword [eax + 0x28]
cmp edx, dword [esi + 0xb30]
jne 0x529755
mov eax, dword [eax + 0x2c]
cmp eax, dword [esi + 0xb34]
jne 0x529755
mov dword [ebx + 0x478], 0
mov ecx, dword [esp + 0x3f4]
push 0
push 0
push 1
push ecx
push 0
push esi
call fcn.00409994
add esp, 0x18
test eax, eax
jne 0x529a8d
mov edx, dword [esp + 0x3f8]
mov eax, dword [esp + 0x28]
push edx
push eax
push esi
call fcn.00408ff3
mov ecx, dword [esp + 0x3f8]
mov ebx, dword [ecx]
mov edi, dword [ebx + 4]
xor ebp, ebp
add esp, 0xc
test edi, edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x2c], ebp
je 0x529898
lea ebx, [ebx]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x30]
test eax, eax
jne 0x5297e7
mov edi, dword [edi + 0x74]
test byte [edi + 0x54], 0x10
je 0x5297d8
mov eax, dword [esp + 0x18]
add eax, 0x100
mov ebp, 1
mov dword [esp + 0x18], eax
jmp 0x5297ef
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x4c]
add ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x5297ef
mov dword [esp + 0x2c], 1
mov ebx, dword [ebx]
mov edi, dword [ebx + 4]
test edi, edi
jne 0x5297b0
test ebp, ebp
je 0x52984f
mov ecx, dword [esp + 0x3e4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 4]
test eax, eax
jne 0x52984f
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x52984f
mov ecx, dword [0x974690]
mov edx, dword [ecx + 0x150]
push edi
push edx
push 0x43c
call fcn.005db9a0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x3c8]
call fcn.006cedd0
add esp, 0x3cc
ret
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x529898
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x529898
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x529898
push 0
push 0x581
call fcn.005db890
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x3c8]
call fcn.006cedd0
add esp, 0x3cc
ret
mov eax, dword [esp + 0x400]
test eax, eax
je 0x5298df
mov eax, dword [esp + 0x3f8]
test eax, eax
jne 0x5298b9
mov dword [esp + 0x3fc], 1
mov edx, dword [esp + 0x3e4]
mov eax, dword [edx]
push eax
lea ecx, [esi + 0x60]
push ecx
call fcn.0040a4b6
mov ebx, dword [esp + 0x3ec]
add esp, 8
or ebp, 0xffffffff
mov dword [esp + 0x14], ebp
jmp 0x529958
mov ebx, dword [esp + 0x3e4]
mov edx, dword [ebx]
push edx
call fcn.005e21e0
add esp, 4
test eax, eax
jne 0x529994
push eax
mov eax, dword [esp + 0x18]
push eax
push 0x974718
lea ecx, [esp + 0x1e4]
push 0x200
push ecx
call fcn.0062b600
mov eax, dword [ebx]
push 0x84
push 0x73a01c
lea edx, [esp + 0x1f4]
push edx
push eax
mov ecx, edx
push ecx
call fcn.005dc850
add esp, 0x28
push 0x10
lea edx, [esp + 0x1dc]
push 0
push edx
call fcn.005dc660
mov ebp, eax
add esp, 0xc
test ebp, ebp
mov dword [esp + 0x14], ebp
jl 0x529a8d
xor eax, eax
mov ecx, 0xd
lea edi, [esp + 0x54]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x3f8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x529a23
mov edx, dword [eax]
movsx ecx, byte [edx]
jmp 0x529a28
mov edx, dword [ebx]
push 0x84
push 0x73a01c
push 0x974718
push edx
lea eax, [esp + 0x1e8]
push eax
call fcn.005dc850
mov edx, dword [0x974bb8]
add esp, 0x14
test edx, edx
je 0x529936
mov eax, edx
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5299d0
sub eax, edi
push eax
lea ecx, [esp + 0x1dc]
push ecx
push edx
call fcn.006d0610
add esp, 0xc
test eax, eax
je 0x529936
push str.__secure_file_priv
push 0
push 0x50a
call fcn.005db890
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x3c8]
call fcn.006cedd0
add esp, 0x3cc
ret
mov ecx, bind
mov eax, dword [ebx + 0x24]
test eax, eax
mov dword [esp + 0x70], ecx
jne 0x529a39
mov eax, dword [esi + 0x4a0]
mov edx, dword [esp + 0x400]
xor edi, edi
push edi
push edx
mov edx, dword [ebx + 0xc]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [ebx + 0x10]
push edx
mov edx, dword [esp + 0x38]
push ecx
push edx
push eax
mov eax, dword [esp + 0x38]
push eax
push ebp
lea ecx, [esp + 0xe8]
call fcn.0040ac8b
cmp dword [esp + 0x1bc], edi
je 0x529aa9
cmp ebp, edi
jl 0x529a81
push edi
push ebp
call fcn.005dc1d0
add esp, 8
lea ecx, [esp + 0xc0]
call fcn.0040229d
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x3c8]
call fcn.006cedd0
add esp, 0x3cc
ret
cmp dword [0x81ebd4], edi
je 0x529ad8
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x3c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x48], edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x188], edx
mov dword [esi + 0xb80], 1
mov dword [esi + 0xac8], edi
mov eax, dword [ebx + 0xc]
cmp dword [eax + 4], edi
je 0x529b19
mov ebx, dword [esp + 0x20]
cmp ebx, edi
jbe 0x529b19
jmp 0x529b00
dec ebx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x20], ebx
call fcn.004034d6
test eax, eax
jne 0x529b19
cmp ebx, edi
ja 0x529b00
mov ecx, dword [esp + 0x1bc]
mov ebp, dword [esp + 0x28]
xor ebx, ebx
cmp ecx, edi
setne bl
cmp ebx, edi
jne 0x529cc0
mov ebx, dword [esp + 0x3fc]
test ebx, ebx
mov ecx, dword [ebp + 0x50]
mov dword [ebp + 0x4c], ecx
jne 0x529b4e
cmp dword [esp + 0x3f8], 1
jne 0x529b8f
mov ecx, dword [ebp + 4]
mov edx, dword [ecx]
push 0x19
call dword [edx + 0xb0]
cmp dword [esp + 0x3f8], 1
jne 0x529b8f
mov ecx, dword [ebp + 0x5c]
test ecx, ecx
je 0x529b75
call fcn.004077f2
test eax, eax
jne 0x529b82
mov ecx, dword [ebp + 4]
mov eax, dword [ecx]
push 0x23
call dword [eax + 0xb0]
mov ecx, dword [ebp + 4]
mov edx, dword [ecx]
push 0x1b
call dword [edx + 0xb0]
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x529ba3
mov ecx, dword [ebp + 4]
mov eax, dword [ecx]
push 0
call dword [eax + 0x114]
mov byte [ebp + 0x4b0], 1
mov ecx, dword [esi + 0xc1c]
and ecx, 0xfffffffd
test ebx, ebx
mov dword [esi + 0xc1c], ecx
jne 0x529bd0
test dword [esi + 0x454], 0x600000
je 0x529bd0
mov eax, 1
jmp 0x529bd2
xor eax, eax
mov ecx, dword [esp + 0x24]
mov dword [esi + 0xc20], eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x529c2d
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
test eax, eax
jne 0x529c2d
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x3f4]
push ebx
push eax
mov eax, dword [esp + 0x3f8]
lea ecx, [esp + 0xc8]
push ecx
mov ecx, dword [esp + 0x3f8]
push edx
mov edx, dword [esp + 0x3f8]
push eax
push ecx
push edx
lea eax, [esp + 0x70]
push eax
mov ebx, esi
call fcn.00528ae0
add esp, 0x20
jmp 0x529c6d
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3f4]
push ebx
push ecx
mov ecx, dword [esp + 0x3f8]
lea edx, [esp + 0xc8]
push edx
mov edx, dword [esp + 0x3f8]
push eax
mov eax, dword [esp + 0x3f8]
push ecx
push edx
push eax
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x3c]
push esi
call fcn.00528f00
add esp, 0x24
mov ebx, eax
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x529c9f
mov ecx, dword [ebp + 4]
mov edx, dword [ecx]
call dword [edx + 0x118]
test eax, eax
je 0x529c9f
test ebx, ebx
jne 0x529c9f
call fcn.005e0030
mov ecx, dword [ebp + 4]
mov eax, dword [eax]
mov edx, dword [ecx]
push ebx
push eax
call dword [edx + 0x18]
mov ebx, 1
mov ecx, dword [ebp + 4]
mov edx, dword [ecx]
push 0x1a
call dword [edx + 0xb0]
mov ecx, dword [ebp + 4]
mov eax, dword [ecx]
push 0x24
call dword [eax + 0xb0]
mov dword [ebp + 0x4c], 0
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x529cd3
push 0
push eax
call fcn.005dc1d0
add esp, 8
push ebp
call fcn.00409a07
mov ecx, dword [esp + 0x3ec]
add esp, 4
push 0
push ecx
mov byte [ebp + 0x4b0], 0
push esi
mov ecx, 0x974d40
mov dword [esi + 0xb80], 0
call fcn.004091f6
test ebx, ebx
je 0x529ddb
mov eax, dword [esp + 0x400]
test eax, eax
je 0x529d30
jmp 0x529d20
lea ecx, [esp + 0xc0]
call fcn.004034d6
test eax, eax
je 0x529d20
mov eax, dword [0x81ebd4]
test eax, eax
je 0x529dc1
lea ecx, [esp + 0xc0]
call fcn.004092f5
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x529dc1
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x529d61
mov eax, dword [esp + 0x58]
test eax, eax
je 0x529d8c
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x529d8c
mov edx, dword [esp + 0x3f8]
push edx
mov edx, dword [esp + 0x400]
xor edi, edi
mov ecx, esi
call fcn.00528320
add esp, 4
or ebx, 0xffffffff
jmp 0x529e8f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
push eax
push ecx
push esi
lea ecx, [esp + 0x94]
call fcn.004056be
lea edx, [esp + 0x88]
push edx
mov ecx, 0x81e578
call fcn.00406e83
lea ecx, [esp + 0x88]
call fcn.0040ab37
mov eax, dword [esp + 0x10]
test eax, eax
je 0x529dd3
push ebx
push esi
call fcn.00403d19
add esp, 8
or ebx, 0xffffffff
jmp 0x529e8f
mov eax, dword [esi + 0xac8]
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x58]
mov ecx, eax
sub ecx, edi
push ecx
push edx
push eax
mov eax, dword [0x974690]
mov ecx, dword [eax + 0x15c]
push ecx
lea edx, [esp + 0x1ec]
push edx
call fcn.006cf753
mov eax, dword [esp + 0x28]
add esp, 0x18
test eax, eax
jne 0x529e20
or dword [esi + 0xc1c], 1
mov eax, dword [0x81ebd4]
test eax, eax
je 0x529e5a
lea ecx, [esp + 0xc0]
call fcn.004092f5
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x529e5a
mov eax, dword [esp + 0x3f8]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x3fc]
push eax
mov ecx, esi
call fcn.00528320
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x529e6f
push 0
push esi
call fcn.00403d19
add esp, 8
mov ebx, eax
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x1d8]
push ecx
push 0
push 0
add eax, edx
push eax
push esi
call fcn.00409854
add esp, 0x14
mov eax, dword [esi + 0x4c]
xor edi, edi
cmp eax, edi
je 0x529ea5
push eax
push esi
call fcn.004079b4
add esp, 8
mov dword [esi + 0x4c], edi
mov byte [ebp + 0x4c4], 0
lea ecx, [esp + 0xc0]
mov dword [esi + 0xc20], edi
call fcn.0040229d
jmp 0x529ef6
mov ecx, dword [edi + 0x10]
push str.LOAD
push ecx
push 0
push 0x508
call fcn.005db890
add esp, 0x10
jmp 0x529ef6
mov edx, dword [0x974690]
mov eax, dword [edx + 0x14c]
push 0
push eax
push 0x43b
call fcn.005db9a0
add esp, 0xc
mov ecx, dword [esp + 0x3d8]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
call fcn.006cedd0
add esp, 0x3cc
ret