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

Disassembly:
sub esp, 0x24
push ebx
push ebp
mov ebp, dword [esp + 0x30]
push esi
push edi
push ebp
call fcn.00481a90
mov esi, eax
add esp, 4
test esi, esi
je 0x4741ef
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x4741ef
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4741ef
mov eax, dword [edi + 0x48]
mov ecx, dword [ebp]
push eax
push ecx
call fcn.0046e420
mov edx, dword [ebp]
mov ebx, eax
mov dword [esp + 0x38], ebx
mov ecx, dword [edx + 8]
lea eax, [ebx + ebx*2]
mov edx, dword [ecx + eax*8]
mov eax, dword [edi + 4]
push edx
push 0
push eax
push 0x1c
push ebp
call fcn.00478a40
add esp, 0x1c
test eax, eax
jne 0x4741ef
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0x18]
push ecx
push eax
push edx
push ebx
push ebp
call fcn.00478af0
mov edi, dword [edi + 0x14]
mov eax, dword [ebp + 0x44]
add esp, 0x14
mov dword [esp + 0x10], eax
test edi, edi
mov dword [esp + 0x18], edi
je 0x4741ef
jmp 0x473ed1
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
push edi
push ebp
call fcn.0047c460
mov ebx, dword [edi + 4]
mov dword [esp + 0x34], eax
lea ecx, [ebx + 1]
push ecx
push 0
push 0x66
push esi
call fcn.00473df0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [edi + 0x14]
push 0xfffffffffffffff0
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
push 0xe
push esi
call fcn.00473120
mov eax, dword [esp + 0x78]
mov ecx, dword [ebp + 0x48]
add esp, 0x34
lea edi, [eax + ebx*2]
mov dword [esp + 0x2c], edi
add edi, 3
lea eax, [edi + 1]
cmp eax, ecx
jle 0x473f28
mov dword [ebp + 0x48], eax
xor ebp, ebp
test ebx, ebx
jl 0x473f72
mov ecx, dword [esp + 0x44]
lea edx, [ecx + ebp]
push edx
push 0
push 0x31
push esi
call fcn.00473df0
add esp, 0x10
inc ebp
cmp ebp, ebx
jle 0x473f2e
test ebx, ebx
jle 0x473f72
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], ebx
lea ebp, [ebx + eax + 1]
push ebp
push 0
push 0x75
push esi
call fcn.00473df0
mov eax, dword [esp + 0x30]
add esp, 0x10
inc ebp
dec eax
mov dword [esp + 0x20], eax
jne 0x473f58
push esi
call fcn.00474220
mov ecx, dword [esp + 0x14]
push eax
push ecx
push 0x78
push esi
mov dword [esp + 0x38], eax
call fcn.00473df0
push esi
call fcn.004742a0
mov edx, dword [esp + 0x5c]
push 1
push edx
push 0x2b
push esi
mov dword [esp + 0x50], eax
call fcn.00473df0
add esp, 0x28
xor ebp, ebp
test ebx, ebx
jle 0x473ff0
mov eax, dword [esp + 0x44]
lea ecx, [ebx + eax + 1]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x10]
push edi
push ebp
push edx
push 3
push esi
call fcn.00473160
mov eax, dword [esp + 0x28]
push eax
push 0
push edi
push 0x48
push esi
call fcn.00473160
push 8
push esi
call fcn.00473e10
mov ecx, dword [esp + 0x44]
add esp, 0x30
inc ebp
inc ecx
cmp ebp, ebx
mov dword [esp + 0x14], ecx
jl 0x473fb8
mov ecx, dword [esp + 0x24]
push ecx
push 0
push 0x61
push esi
call fcn.00473df0
add esp, 0x10
xor ebp, ebp
test ebx, ebx
jle 0x474076
mov eax, dword [esp + 0x44]
lea edx, [ebx + eax + 1]
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
add eax, 2
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.004742b0
mov edx, dword [esp + 0x24]
push 1
push edx
push 0x2b
push esi
call fcn.00473df0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
push eax
push ebp
push ecx
push 3
push esi
call fcn.00473160
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
add esp, 0x2c
inc ebp
add eax, 2
inc edx
inc ecx
cmp ebp, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
jl 0x474024
mov edx, dword [esp + 0x24]
push edx
push esi
call fcn.00474280
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
push eax
push ebp
push 0x6b
push esi
call fcn.00473df0
push ebp
push 0x22
push esi
call fcn.00474200
mov ecx, dword [esp + 0x68]
push ecx
push 0x45
push esi
call fcn.00474200
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
push 0
mov eax, dword [edx + 4]
push eax
push 0
push ebp
push 0
push 0x5d
push esi
call fcn.00473120
mov ecx, dword [esp + 0x64]
add esp, 0x4c
lea eax, [ebp + 1]
mov edx, dword [ecx]
push 0
push edx
push 0
push eax
push 0
push 0x5d
push esi
call fcn.00473120
mov ecx, dword [esp + 0x60]
add ebp, 2
push ebp
push ecx
push 9
push esi
call fcn.00473df0
add esp, 0x2c
test ebx, ebx
jle 0x474190
mov ecx, dword [esp + 0x44]
or eax, 0xffffffff
sub eax, ecx
lea edx, [ecx + 1]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
push 0
push 0x5b91b8
push 0
push edi
push 0
push 0x5d
push esi
call fcn.00473120
push ebp
push ebp
push edi
push 0x58
push esi
call fcn.00473160
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x74]
push edi
push eax
push ecx
push 0x53
push esi
call fcn.00473160
add esp, 0x44
push 0xffffffffffffffff
push edi
push 0x2b
push esi
call fcn.00473df0
mov edx, dword [esp + 0x24]
push edi
push edi
push edx
push 0x56
push esi
call fcn.00473160
push edi
push 0x90
push esi
call fcn.00474200
push ebp
push ebp
push edi
push 0x58
push esi
call fcn.00473160
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x6c]
add esp, 0x44
inc eax
add ecx, eax
mov dword [esp + 0x14], eax
cmp ecx, ebx
jl 0x474114
mov edx, dword [esp + 0x2c]
push 0
lea ebx, [edi + 1]
push 0x5bae94
push ebx
push 3
push edx
push 0x5a
push esi
call fcn.00473120
mov ebp, dword [esp + 0x5c]
push edi
push ebp
push 0x1b
push esi
call fcn.00473df0
push edi
push ebx
push ebp
push 0x6e
push esi
call fcn.00473160
add esp, 0x40
push 8
push esi
call fcn.00473e10
mov eax, dword [esp + 0x2c]
push eax
push esi
call fcn.004742b0
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov eax, dword [ecx + 0x20]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x473ec9
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret