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

Disassembly:
sub esp, 0x1c
mov eax, dword [esp + 0x20]
push ebx
mov ebx, ecx
push ebp
push esi
mov ecx, dword [ebx + 0x88]
push edi
cmp eax, dword [ecx + 0x284]
jge 0x471e49
mov edx, dword [esp + 0x34]
push edx
push eax
lea eax, [esp + 0x1c]
lea edx, [esp + 0x20]
push eax
push edx
call fcn.00453e10
mov edx, dword [esp + 0x18]
mov esi, dword [ebx + 0x60]
mov eax, edx
sub eax, esi
mov esi, dword [esp + 0x38]
imul eax, dword [0x536200]
test eax, eax
mov dword [esi + 4], eax
jl 0x471e49
cmp eax, dword [ebx + 0x11c]
jge 0x471e49
mov ecx, dword [ebx + 0x4c]
add eax, ecx
mov dword [esi + 4], eax
mov ecx, dword [0x536200]
add eax, ecx
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x88]
mov ecx, dword [eax + 0x98]
test ecx, ecx
je 0x471b85
mov edi, dword [eax + 0x2a0]
lea ecx, [edx + edx*2]
mov eax, dword [eax + 0x2d8]
lea ecx, [edi + ecx*4]
mov ebp, ecx
mov ecx, dword [ebp]
shl ecx, 5
mov edi, dword [ebp + 4]
mov ecx, dword [eax + ecx + 8]
mov ebp, dword [ebp + 8]
lea eax, [ecx + edi*2]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], eax
jmp 0x471bfa
mov ecx, dword [eax + 0x74]
test ecx, ecx
jne 0x471ba7
mov ecx, dword [eax + 0x80]
test ecx, ecx
jne 0x471ba7
mov eax, dword [eax + 0x2d8]
mov ecx, edx
shl ecx, 5
mov ecx, dword [eax + ecx + 8]
jmp 0x471bf6
mov edi, dword [eax + 0x150]
lea ecx, [edx + edx*2]
lea ecx, [edi + ecx*4]
mov edi, ecx
mov ecx, dword [edi]
mov ebp, dword [edi + 4]
mov dword [esp + 0x24], ebp
mov edi, dword [edi + 8]
mov dword [esp + 0x28], edi
mov edi, dword [eax + 0x284]
dec edi
cmp edi, ecx
mov ebp, edi
jl 0x471bd4
mov ebp, ecx
test ebp, ebp
jge 0x471bdc
xor ecx, ecx
jmp 0x471be2
cmp edi, ecx
jge 0x471be2
mov ecx, edi
mov eax, dword [eax + 0x2d8]
shl ecx, 5
mov ecx, dword [eax + ecx + 8]
mov eax, dword [esp + 0x24]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x34], ecx
mov dword [esi], 0
mov ecx, dword [ebx + 0x88]
mov eax, dword [ecx + 0x78]
test eax, eax
je 0x471c75
test edx, edx
je 0x471c75
mov eax, dword [ecx + 0x98]
test eax, eax
je 0x471c39
mov eax, dword [ecx + 0x2a0]
lea edx, [edx + edx*2]
lea edx, [eax + edx*4]
mov eax, dword [edx]
mov dword [esp + 0x20], eax
mov edi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x28], edx
jmp 0x471c5c
mov eax, dword [ecx + 0x74]
test eax, eax
je 0x471c75
lea eax, [edx + edx*2]
mov edx, dword [ecx + 0x150]
lea eax, [edx + eax*4]
mov edx, dword [eax]
mov dword [esp + 0x20], edx
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
xor eax, eax
test edi, edi
setg al
test eax, eax
je 0x471c75
mov edx, dword [esp + 0x30]
push 0
push edx
call fcn.0044e550
mov dword [esi], eax
mov edi, dword [ebx + 0x88]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x5361f4]
mov ebp, dword [esi]
add edi, 0x100
mov dword [esp + 0x1c], eax
test ecx, ecx
jle 0x471d47
mov edx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
mov ax, word [eax]
cmp ax, 9
jne 0x471cbe
mov ecx, dword [edi]
mov eax, ebp
cdq
idiv ecx
sub ecx, edx
add ebp, ecx
jmp 0x471d29
mov dword [esp + 0x38], eax
and eax, 0xffff
cmp word [eax*2 + 0x53623c], 0
lea eax, [eax*2 + 0x53623c]
jne 0x471d22
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x3c]
push 1
push edx
push eax
call dword [0x4fd160]
mov eax, dword [0x536238]
test eax, eax
je 0x471d09
mov ecx, dword [0x536220]
mov eax, dword [esp + 0x20]
sub eax, ecx
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x38]
mov cx, word [esp + 0x20]
and edx, 0xffff
lea eax, [edx*2 + 0x53623c]
mov word [eax], cx
xor edx, edx
mov dx, word [eax]
add ebp, edx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
add ecx, 2
dec eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], eax
jne 0x471ca4
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x64]
mov eax, ebp
imul edx, dword [0x536214]
sub eax, edx
mov dword [esi], eax
mov edx, dword [ebx + 0x118]
cmp eax, edx
jge 0x471e49
mov eax, dword [esp + 0x34]
mov ax, word [eax + ecx*2]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov word [ecx], ax
and eax, 0xffff
cmp word [eax*2 + 0x53623c], 0
lea eax, [eax*2 + 0x53623c]
jne 0x471dcf
mov ecx, dword [0x5361f4]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x34]
push 1
push eax
push ecx
call dword [0x4fd160]
mov eax, dword [0x536238]
mov ecx, dword [esp + 0x20]
test eax, eax
je 0x471dbb
sub ecx, dword [0x536220]
mov edx, dword [esp + 0x30]
and edx, 0xffff
lea eax, [edx*2 + 0x53623c]
mov word [eax], cx
mov edx, dword [esi]
xor ecx, ecx
mov cx, word [eax]
lea eax, [ecx + edx]
test eax, eax
mov dword [esi + 8], eax
jle 0x471e49
mov eax, dword [ebx + 0x48]
mov edi, dword [esi + 8]
mov ebp, edx
add ebp, eax
mov dword [esi], ebp
mov ecx, dword [ebx + 0x48]
add edi, ecx
mov edx, ebp
mov dword [esi + 8], edi
mov eax, dword [ebx + 0x48]
sub eax, edx
mov ecx, dword [esp + 0x3c]
xor edx, edx
test eax, eax
setle dl
dec edx
and eax, edx
test eax, eax
mov dword [ecx], eax
jne 0x471e30
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebx + 0x118]
mov ecx, dword [esi + 8]
add edx, eax
cmp ecx, edx
jg 0x471e30
mov edx, dword [ebx + 0x11c]
mov ecx, dword [esi + 0xc]
add eax, edx
cmp ecx, eax
jle 0x471e3a
mov dword [ebx + 0x108], 1
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1c
ret 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0x14