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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x470c15
sub esp, 0xac
lea edi, [esp + 0xb8]
xor eax, eax
call fcn.0044cd16
mov ecx, dword [esp + 0xb0]
movzx edx, byte [ecx + 0xf]
and edx, 0x1f
cmp edx, 0x14
jne 0x4705ee
mov dword [esp], ecx
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
call fcn.00471960
lea esi, [esp + 8]
lea edi, [esp + 0x84]
call fcn.0044d1cc
lea edi, [esp + 0xb8]
lea esi, [esp + 0x84]
call fcn.0044d1cc
add esp, 0xac
ret
mov dword [esp], ecx
call fcn.00470480
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xb4]
test edx, edx
jl 0x470bfb
cmp edx, eax
jge 0x470bfb
shl edx, 4
mov ebx, dword [ecx + edx + 0xc]
mov dword [esp + 0x54], ebx
mov ebp, dword [ecx + edx + 4]
mov dword [esp + 0x50], ebp
mov ecx, dword [ecx + edx]
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00470080
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
test eax, eax
je 0x470674
lea ecx, [eax + 3]
mov dword [esp + 0x7c], ecx
movzx ecx, byte [eax + 1]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
call fcn.004700c0
mov eax, dword [esp + 8]
movzx ecx, byte [eax + 0xc]
test cl, 1
je 0x470b9d
mov ecx, 0x34
mov dword [esp + 0x78], eax
movzx edx, word [eax + 0x20]
test dx, dx
jne 0x470b84
xor ecx, ecx
lea eax, [0x7c9ea0]
mov dword [esp], eax
mov dword [esp + 4], 0
inc ecx
mov dword [esp + 8], ecx
call fcn.00438c00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
lea ebx, [eax + 1]
cmp ebx, ecx
jg 0x470b4a
lea ebp, [edx + eax*8]
lea esi, [0x8fdd00]
mov dword [ebp], esi
lea edi, [edx + eax*8 + 4]
mov ebp, dword [0xbc7270]
test ebp, ebp
jne 0x470b37
mov ebp, dword [esp + 0xb0]
mov dword [edi], ebp
mov eax, ebp
mov ebp, dword [esp + 0x78]
movzx esi, byte [ebp + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
je 0x470b2d
mov esi, 0x34
mov edi, ecx
movzx ecx, word [ebp + 0x20]
test cx, cx
jne 0x470b0d
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
jmp 0x470788
mov ecx, dword [esp + 0x4c]
inc ecx
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x4c]
cmp ebp, ecx
jge 0x47081f
mov esi, dword [esi + ebp*4]
lea ecx, [ebx + 1]
cmp ecx, edi
jg 0x4707d9
mov dword [esp + 0x44], ecx
lea ecx, [edx + ebx*8]
lea ebp, [0x8fdd00]
mov dword [ecx], ebp
lea ecx, [edx + ebx*8 + 4]
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x4707c3
mov dword [ecx], esi
jmp 0x47076b
mov ebx, edi
mov edi, ecx
mov eax, esi
call fcn.0044cc20
mov eax, dword [esp + 0xb0]
mov edi, ebx
jmp 0x47076b
mov dword [esp + 0x68], esi
lea eax, [0x7c9ea0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
call fcn.00438d80
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x68]
jmp 0x4707a2
mov ecx, dword [esp + 0x78]
movzx ebp, byte [ecx + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
je 0x470b03
mov ebp, 0x34
mov dword [esp + 0x70], edx
mov dword [esp + 0x48], edi
movzx esi, word [ecx + 0x22]
test si, 0x7fff
jne 0x470ac7
xor ebp, ebp
lea eax, [0x7c9ea0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ebp
call fcn.00438c00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x78]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
je 0x470abd
mov ebp, 0x34
movzx esi, word [ebx + 0x22]
test si, 0x7fff
jne 0x470a5d
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x74], esi
xor edi, edi
jmp 0x4708c8
inc edi
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x78]
mov ebp, ecx
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x38]
cmp edi, ebp
jge 0x470963
mov ebx, dword [esi + edi*4]
lea esi, [ecx + 1]
cmp esi, eax
jg 0x470913
mov dword [esp + 0x38], esi
lea ebp, [edx + ecx*8]
lea esi, [0x8fdd00]
mov dword [ebp], esi
mov ebp, dword [0xbc7270]
lea ecx, [edx + ecx*8 + 4]
test ebp, ebp
jne 0x4708fc
mov dword [ecx], ebx
jmp 0x4708ad
mov dword [esp + 0x3c], eax
mov ebp, edi
mov edi, ecx
mov eax, ebx
call fcn.0044cc20
mov eax, dword [esp + 0x3c]
mov edi, ebp
jmp 0x4708ad
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x60], ebx
lea ebx, [0x7c9ea0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
call fcn.00438d80
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x4c]
mov eax, ecx
mov ecx, dword [esp + 0x38]
jmp 0x4708da
movzx ebp, byte [ebx + 0xf]
and ebp, 0x1f
cmp ebp, 0x13
jne 0x470bc5
movzx ebx, word [ebx + 0x22]
mov ebp, dword [esp + 0x70]
mov dword [esp], ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
test bx, 0x8000
setne al
mov byte [esp + 0x18], al
call fcn.00474850
mov eax, dword [esp + 0x20]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
lea edx, [0x772120]
mov dword [esp], edx
call fcn.00409dc0
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xb0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
call fcn.00470100
mov eax, dword [0xbc7270]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x470a4e
mov eax, dword [esp + 0x6c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
lea edx, [0x8fdd00]
cmp ecx, edx
jne 0x470ba7
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0x13
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xdc], eax
add esp, 0xac
ret
mov edi, dword [esp + 0x6c]
mov eax, ecx
call fcn.0044cc20
mov eax, edi
jmp 0x470a0a
add ebp, ebx
test byte [ebp], al
and esi, 0x7fff
movzx ebx, word [ebx + 0x20]
add esi, ebx
movzx esi, si
test esi, esi
jl 0x470bdf
movzx ebx, bx
cmp ebx, esi
ja 0x470bdf
cmp esi, 0x100000
ja 0x470bdf
sub esi, ebx
lea edi, [ebx - 0x100000]
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, ebx
neg ebx
xchg edi, ebx
shl ebx, 2
sar edi, 0x1f
and edi, ebx
lea ebx, [ebp + edi]
mov ebp, esi
mov esi, ebx
mov ebx, dword [esp + 0x78]
jmp 0x4708a1
mov ebp, 0x24
jmp 0x47088e
add ebp, ecx
test byte [ebp], al
and esi, 0x7fff
movzx ebp, word [ecx + 0x20]
add esi, ebp
movzx esi, si
test esi, esi
jl 0x470be6
movzx ebp, bp
cmp ebp, esi
ja 0x470be6
cmp esi, 0x100000
ja 0x470be6
sub esi, ebp
mov ebp, esi
jmp 0x470850
mov ebp, 0x24
jmp 0x470837
add esi, ebp
test byte [esi], al
movzx ecx, cx
test ecx, ecx
jl 0x470bed
cmp ecx, 0x100000
jbe 0x470753
jmp 0x470bed
mov esi, 0x24
jmp 0x470740
mov eax, dword [esp + 0xb0]
call fcn.0044cc20
mov ebp, eax
jmp 0x470726
mov dword [esp + 0x44], eax
lea ebp, [0x7c9ea0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00438d80
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x44]
jmp 0x4706ff
add ecx, eax
test byte [ecx], al
movzx ecx, dx
test ecx, ecx
jl 0x470bf4
cmp ecx, 0x100000
jbe 0x4706cd
jmp 0x470bf4
mov ecx, 0x24
jmp 0x4706ba
mov dword [esp], ecx
lea eax, [0x7d52c0]
mov dword [esp + 4], eax
lea eax, [0x7c9ea0]
mov dword [esp + 8], eax
call fcn.004072f0
ud2
lea eax, [0x771de0]
mov dword [esp], eax
lea eax, [0x8f76d0]
mov dword [esp + 4], eax
call fcn.00427510
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
lea eax, [0x771de0]
mov dword [esp], eax
lea eax, [0x8f76b0]
mov dword [esp + 4], eax
call fcn.00427510
ud2
call fcn.0044b4c0
jmp fcn.00470570