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

Disassembly:
sub esp, 0x40
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x50]
mov ebx, dword [ecx + 8]
push edi
xor edi, edi
mov dword [esp + 8], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x4c], edi
cmp dword [eax], edi
jle 0x4739d8
push ebp
add eax, 8
lea ebp, [edi + 1]
push esi
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
push ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x20], 0
push ecx
push dword [eax]
lea eax, [esp + 0x3c]
push eax
call fcn.00466b60
mov ecx, dword [ebx]
add esp, 0x14
mov dword [esp + 0x20], eax
cmp byte [ecx + 0x57], 0
jne 0x473740
movzx ecx, word [ebx + 0x92]
mov eax, dword [esp + 0x58]
lea ecx, [edi + ecx*2]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebx + 0x74]
lea esi, [ecx + edx*8]
test eax, eax
jne 0x473655
mov edx, 0x9000
test word [esi + 0x10], dx
je 0x47364c
push esi
call fcn.004e4250
add esp, 4
jmp 0x473740
mov word [esi + 0x10], bp
jmp 0x473745
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x473661
mov edx, dword [ecx + 0x78]
jmp 0x473666
mov edx, 0x3b9aca00
mov edi, eax
lea ebp, [edi + 1]
nop dword [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x473670
sub edi, ebp
mov eax, edx
xor ebp, ebp
cdq
cmp ebp, edx
jl 0x4736d6
jg 0x473688
cmp edi, eax
jbe 0x4736d6
mov edx, 0x9000
test word [esi + 0x10], dx
je 0x4736ab
push esi
call fcn.004e4250
mov ecx, dword [esi + 0x14]
add esp, 4
mov ebp, 1
mov edx, 0x9000
jmp 0x4736b4
mov ebp, 1
mov word [esi + 0x10], bp
mov edi, dword [esp + 0x54]
test ecx, ecx
je 0x473745
mov eax, dword [ecx + 0x10c]
test eax, eax
je 0x473745
inc dword [eax + 0x24]
mov dword [eax + 0xc], 0x12
jmp 0x473745
mov ebx, edi
add ebx, 1
adc ebp, ebp
jne 0x4736e9
mov eax, 0x20
cmp ebx, 0x20
jbe 0x4736eb
mov eax, ebx
cmp dword [esi + 0x18], eax
jge 0x473702
push 0
push eax
push esi
call fcn.004d1b70
add esp, 0xc
test eax, eax
jne 0x473733
jmp 0x47370d
mov eax, dword [esi + 0x20]
and word [esi + 0x10], 0x2d
mov dword [esi + 8], eax
push ebx
push dword [esp + 0x5c]
push dword [esi + 8]
call fcn.004fd090
add esp, 0xc
mov byte [esi + 0x12], 1
and edi, 0x7fffffff
mov eax, 0x202
mov dword [esi + 0xc], edi
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x10]
mov ebp, 1
mov edi, dword [esp + 0x54]
mov edx, 0x9000
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x473856
movzx eax, word [ebx + 0x92]
lea ecx, [edi + eax*2]
add ecx, eax
mov eax, dword [ebx + 0x74]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x47378b
test word [esi + 0x10], dx
je 0x473782
push esi
call fcn.004e4250
add esp, 4
jmp 0x473856
mov word [esi + 0x10], bp
jmp 0x473856
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x473797
mov edx, dword [ecx + 0x78]
jmp 0x47379c
mov edx, 0x3b9aca00
mov edi, eax
lea ebp, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4737a1
sub edi, ebp
mov eax, edx
xor ebp, ebp
cdq
cmp ebp, edx
jl 0x4737f5
jg 0x4737b9
cmp edi, eax
jbe 0x4737f5
mov ebp, 0x9000
test word [esi + 0x10], bp
je 0x4737d2
push esi
call fcn.004e4250
mov ecx, dword [esi + 0x14]
add esp, 4
jmp 0x4737db
mov eax, 1
mov word [esi + 0x10], ax
test ecx, ecx
je 0x47385b
mov eax, dword [ecx + 0x10c]
test eax, eax
je 0x47385b
inc dword [eax + 0x24]
mov dword [eax + 0xc], 0x12
jmp 0x47385b
mov ebx, edi
add ebx, 1
adc ebp, ebp
jne 0x473808
mov eax, 0x20
cmp ebx, 0x20
jbe 0x47380a
mov eax, ebx
cmp dword [esi + 0x18], eax
jge 0x473821
push 0
push eax
push esi
call fcn.004d1b70
add esp, 0xc
test eax, eax
jne 0x473852
jmp 0x47382c
mov eax, dword [esi + 0x20]
and word [esi + 0x10], 0x2d
mov dword [esi + 8], eax
push ebx
push dword [esp + 0x18]
push dword [esi + 8]
call fcn.004fd090
add esp, 0xc
mov byte [esi + 0x12], 1
and edi, 0x7fffffff
mov eax, 0x202
mov dword [esi + 0xc], edi
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x10]
mov ebp, 0x9000
mov eax, dword [ebx]
mov edi, dword [esp + 0x54]
cmp byte [eax + 0x57], 0
jne 0x473986
movzx eax, word [ebx + 0x92]
lea eax, [edi + eax*4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x74]
lea esi, [eax + ecx*8]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4738a8
test word [esi + 0x10], bp
je 0x47389a
push esi
call fcn.004e4250
add esp, 4
jmp 0x473986
mov ebp, 1
mov word [esi + 0x10], bp
jmp 0x47398b
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x4738b4
mov edx, dword [ecx + 0x78]
jmp 0x4738b9
mov edx, 0x3b9aca00
mov edi, eax
lea ebp, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x4738c0
sub edi, ebp
mov eax, edx
xor ebp, ebp
cdq
cmp ebp, edx
jl 0x473921
jg 0x4738d8
cmp edi, eax
jbe 0x473921
mov edx, 0x9000
test word [esi + 0x10], dx
je 0x4738f6
push esi
call fcn.004e4250
mov ecx, dword [esi + 0x14]
add esp, 4
mov ebp, 1
jmp 0x4738ff
mov ebp, 1
mov word [esi + 0x10], bp
mov edi, dword [esp + 0x54]
test ecx, ecx
je 0x47398b
mov eax, dword [ecx + 0x10c]
test eax, eax
je 0x47398b
inc dword [eax + 0x24]
mov dword [eax + 0xc], 0x12
jmp 0x47398b
mov ebx, edi
add ebx, 1
adc ebp, ebp
jne 0x473934
mov eax, 0x20
cmp ebx, 0x20
jbe 0x473936
mov eax, ebx
cmp dword [esi + 0x18], eax
jge 0x47394d
push 0
push eax
push esi
call fcn.004d1b70
add esp, 0xc
test eax, eax
jne 0x47397e
jmp 0x473958
mov eax, dword [esi + 0x20]
and word [esi + 0x10], 0x2d
mov dword [esi + 8], eax
push ebx
push dword [esp + 0x1c]
push dword [esi + 8]
call fcn.004fd090
add esp, 0xc
mov byte [esi + 0x12], 1
and edi, 0x7fffffff
mov eax, 0x202
mov dword [esi + 0xc], edi
mov word [esi + 0x10], ax
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x54]
mov ebp, 1
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x4739ba
movzx eax, word [ebx + 0x92]
add eax, edi
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x74]
push 0xffffffffffffffff
push dword [esp + 0x30]
lea eax, [eax + ecx*8]
push eax
call fcn.004d2070
add esp, 0x18
mov ecx, dword [esp + 0x5c]
inc edi
mov eax, dword [esp + 0x1c]
add eax, 0x14
mov dword [esp + 0x54], edi
mov dword [esp + 0x1c], eax
cmp edi, dword [ecx]
jl 0x4735d2
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x40
ret