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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x38
push ebx
push ebp
push edi
mov ebp, ecx
push eax
call fcn.004768a0
mov ecx, dword [ebp + 0x88]
mov edi, eax
mov edx, dword [ecx + 0x17c]
mov eax, dword [ecx + 0x178]
push edx
push eax
lea edx, [esp + 0x30]
lea eax, [esp + 0x24]
push edx
push eax
call fcn.00453e10
mov ecx, dword [ebp + 0x88]
mov edx, dword [ecx + 0x184]
mov eax, dword [ecx + 0x180]
push edx
push eax
lea edx, [esp + 0x38]
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.00453e10
cmp edi, dword [esp + 0x1c]
jl 0x476545
cmp edi, dword [esp + 0x24]
jg 0x476545
mov ecx, dword [ebp + 0x88]
xor ebx, ebx
push esi
mov dword [esp + 0x14], ebx
cmp dword [ecx + 0x78], ebx
je 0x4762ff
cmp edi, ebx
je 0x4762ff
cmp dword [ecx + 0x98], ebx
je 0x476244
mov edx, dword [ecx + 0x2a0]
lea eax, [edi + edi*2]
shl eax, 2
add edx, eax
mov esi, dword [edx]
mov dword [esp + 0x3c], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x44], edx
jmp 0x47626b
cmp dword [ecx + 0x74], ebx
je 0x4762ff
mov edx, dword [ecx + 0x150]
lea eax, [edi + edi*2]
shl eax, 2
add edx, eax
mov esi, dword [edx]
mov dword [esp + 0x3c], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x44], edx
xor edx, edx
cmp esi, ebx
setg dl
cmp edx, ebx
je 0x4762ff
cmp dword [ecx + 0x98], ebx
je 0x4762a4
cmp edi, dword [ecx + 0x2a4]
jge 0x4762e0
mov ecx, dword [ecx + 0x2a0]
add ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x40], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x44], ecx
jmp 0x4762e2
cmp dword [ecx + 0x74], ebx
jne 0x4762b5
cmp dword [ecx + 0x80], ebx
jne 0x4762b5
mov eax, edi
jmp 0x4762e2
cmp edi, dword [ecx + 0x154]
jge 0x4762d4
lea edx, [esp + 0x3c]
push edi
push edx
add ecx, 0x14c
call fcn.00455220
mov eax, dword [esp + 0x3c]
jmp 0x4762e2
push ebx
push ebx
push 0x52a2ac
call fcn.004dad19
xor eax, eax
mov ecx, dword [ebp + 0x88]
push ebx
push eax
call fcn.0044e550
mov ecx, dword [ebp + 0x88]
push eax
call fcn.00455070
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x64]
mov esi, dword [ebp + 0x88]
imul eax, dword [0x536214]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x98]
cmp eax, ebx
je 0x476330
mov ecx, dword [esi + 0x2a0]
lea eax, [edi + edi*2]
mov edx, dword [ecx + eax*4 + 8]
mov dword [esp + 0x1c], edx
jmp 0x476363
cmp dword [esi + 0x74], ebx
jne 0x476352
cmp dword [esi + 0x80], ebx
jne 0x476352
mov ecx, dword [esi + 0x2d8]
mov eax, edi
shl eax, 5
mov eax, dword [ecx + eax]
dec eax
mov dword [esp + 0x1c], eax
jmp 0x476363
mov eax, dword [esi + 0x150]
lea edx, [edi + edi*2]
mov ecx, dword [eax + edx*4 + 8]
mov dword [esp + 0x1c], ecx
cmp dword [esi + 0x98], ebx
je 0x476393
lea edx, [esp + 0x3c]
push edi
push edx
lea ecx, [esi + 0x29c]
call fcn.00455220
mov eax, dword [esp + 0x3c]
mov ecx, dword [esi + 0x2d8]
shl eax, 5
mov edx, dword [eax + ecx + 8]
mov eax, dword [esp + 0x40]
jmp 0x4763f8
cmp dword [esi + 0x74], ebx
jne 0x4763b1
cmp dword [esi + 0x80], ebx
jne 0x4763b1
mov eax, dword [esi + 0x2d8]
mov edx, edi
shl edx, 5
mov ecx, dword [eax + edx + 8]
jmp 0x4763fb
lea edx, [esp + 0x3c]
push edi
push edx
lea ecx, [esi + 0x14c]
call fcn.00455220
mov ecx, dword [esi + 0x284]
mov eax, dword [esp + 0x3c]
dec ecx
cmp ecx, eax
mov edx, ecx
jl 0x4763d5
mov edx, eax
cmp edx, ebx
jge 0x4763dd
xor eax, eax
jmp 0x4763e3
cmp ecx, eax
jge 0x4763e7
mov eax, ecx
mov dword [esp + 0x3c], eax
mov ecx, dword [esi + 0x2d8]
shl eax, 5
mov edx, dword [eax + ecx + 8]
mov eax, dword [esp + 0x40]
lea ecx, [edx + eax*2]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
cmp edi, eax
je 0x47640d
mov dword [esp + 0x24], ebx
jmp 0x47647f
mov ebx, dword [ebp + 0x88]
mov eax, dword [esp + 0x2c]
mov edx, dword [0x5361f4]
mov esi, dword [esp + 0x14]
add ebx, 0x100
mov dword [esp + 0x30], edx
test eax, eax
jle 0x47647b
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
mov ax, word [edx]
cmp ax, 9
jne 0x476455
mov ecx, dword [ebx]
mov eax, esi
cdq
idiv ecx
sub ecx, edx
add esi, ecx
jmp 0x476465
push eax
mov eax, dword [esp + 0x34]
push eax
call fcn.0044dcc0
add esp, 8
add esi, eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
add ecx, 2
dec eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
jne 0x47643b
mov dword [esp + 0x24], esi
cmp edi, dword [esp + 0x28]
je 0x4764ec
mov ecx, dword [ebp + 0x88]
call fcn.00476550
mov edx, dword [ebp + 0x88]
mov ecx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [esp + 0x1c]
add edx, 0x100
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [0x5361f4]
push eax
push ecx
push edx
dec esi
call fcn.00471190
add esp, 0x14
cmp edi, esi
mov ebx, eax
jge 0x476519
mov ecx, dword [ebp + 0x88]
inc edi
push edi
call fcn.00460650
test eax, eax
jne 0x476519
mov eax, dword [0x5361f4]
push 0xffb6
push eax
call fcn.0044dcc0
add esp, 8
add ebx, eax
jmp 0x476519
mov edx, dword [ebp + 0x88]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
add edx, 0x100
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [0x5361f4]
push eax
push ecx
push edx
call fcn.00471190
add esp, 0x14
mov ebx, eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebp + 0x48]
mov edx, dword [esp + 0x24]
sub eax, ecx
mov ecx, dword [esp + 0x38]
pop esi
sub edx, ecx
cmp eax, edx
jl 0x476545
sub ebx, ecx
cmp eax, ebx
jge 0x476545
pop edi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 8
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret 8