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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52ed10
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x568fd0]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
mov eax, dword [0x568fd0]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov esi, ecx
lea ebx, [esp + 0x38]
mov edi, esi
mov dword [esp + 0x24], esi
call fcn.004856a0
mov ecx, dword [eax]
mov eax, dword [esi + 0x2c8]
mov edx, dword [eax + 4]
add eax, 4
push ecx
push eax
mov eax, dword [edx + 0x14]
call eax
mov ecx, dword [esi + 0x2c8]
mov edx, dword [ecx + 4]
add ecx, 4
push eax
mov eax, dword [edx + 0x18]
push ecx
call eax
lea ebx, [esp + 0x2c]
mov dword [esp + 0x14], eax
call fcn.00485700
mov ebx, dword [eax]
mov eax, dword [esi + 0x2c8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x14]
add eax, 4
push ebx
push eax
mov dword [esp + 0x28], ebx
call edx
mov edi, eax
mov eax, dword [esi + 0x2c8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x18]
add eax, 4
push edi
push eax
call edx
cmp ebx, eax
mov byte [esp + 0x1f], 0
jg 0x486e2c
mov eax, dword [esp + 0x14]
cmp eax, ebx
jne 0x486e7f
mov eax, dword [esi + 0x2c8]
mov ecx, dword [eax + 4]
add eax, 4
lea edx, [edi + 1]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ebx, eax
mov eax, dword [esi + 0x2c8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
add eax, 4
push eax
mov dword [esp + 0x24], ebx
call edx
cmp ebx, eax
jne 0x486e7a
mov eax, dword [esi + 0x2c8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x14]
add eax, 4
push ebx
push eax
call edx
mov byte [esp + 0x1f], 1
cmp eax, edi
je 0x486e7f
mov byte [esp + 0x1f], 0
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x486e90
cmp dword [ebp + 8], edi
jl 0x487512
mov eax, dword [esi + 0x2c8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
add eax, 4
push eax
call edx
cmp ebx, eax
jne 0x486eb0
cmp dword [ebp + 8], 0
jg 0x487512
cmp edi, ebx
je 0x487512
mov eax, dword [esi + 0x2c8]
lea edi, [eax + 0x4c]
mov dword [esp + 0x38], eax
mov byte [esp + 0x3c], 1
mov dword [esp + 0x34], edi
call fcn.004a5900
cmp dword [ebp + 8], 0
mov dword [esp + 0x78], 0
jle 0x486fc8
mov eax, dword [esi + 0x2c8]
mov ecx, dword [eax + 0x70]
mov ecx, dword [ecx + 8]
mov edx, dword [eax + 4]
add eax, 4
add ecx, 0xfffffffe
push ecx
push eax
mov eax, dword [edx + 0x18]
call eax
cmp ebx, eax
jne 0x486fc8
mov ebx, dword [esp + 0x20]
mov eax, dword [esi + 0x2c8]
dec ebx
mov dword [esp + 0x18], eax
test ebx, ebx
jg 0x486f23
xor eax, eax
jmp 0x486fa7
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
lea edi, [eax + 4]
push edi
call edx
cmp ebx, eax
jl 0x486f3d
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
jmp 0x486fa7
mov esi, dword [esp + 0x18]
lea edi, [ebx - 1]
mov dword [esp + 0x10], edi
call fcn.0049d7d0
test al, al
je 0x486f55
mov eax, edi
jmp 0x486fa3
mov eax, dword [esi + 0x1ec]
test eax, eax
je 0x486fa1
cmp eax, 0xfde9
jne 0x487030
lea ecx, [esi + 0x10]
mov eax, ebx
call fcn.004a5c10
movzx eax, al
add eax, 0xffffff80
cmp eax, 0x3f
ja 0x486fa1
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x14]
push eax
push ebx
mov edi, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
call fcn.0049d8f0
test al, al
je 0x486fa1
mov ebx, dword [esp + 0x10]
mov eax, ebx
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push edx
push eax
push esi
call fcn.00485f10
push 0
push esi
call fcn.0048a640
mov edi, esi
call fcn.00485670
mov dword [esp + 0x20], eax
mov ebx, eax
mov edi, dword [esp + 0x14]
xor eax, eax
push eax
push ebx
xor ecx, ecx
push ecx
push edi
mov eax, esi
call fcn.00485ca0
xor eax, eax
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], eax
mov byte [esp + 0x44], al
mov byte [esp + 0x5c], al
mov byte [esp + 0x5d], al
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
push eax
lea eax, [esp + 0x44]
push eax
mov ecx, esi
mov byte [esp + 0x80], 1
call fcn.00490ac0
cmp ebx, edi
je 0x487134
setg al
test al, al
je 0x487134
sub ebx, edi
mov dword [esp + 0x10], ebx
jmp 0x48713a
mov edi, dword [esi + 4]
mov ecx, dword [edi + 0x14]
add esi, 4
push ebx
push esi
call ecx
mov edx, dword [edi + 0x18]
push eax
push esi
call edx
mov dword [esp + 0x28], eax
cmp ebx, eax
je 0x486fa1
mov esi, ebx
jle 0x486fa1
mov edi, dword [esp + 0x10]
lea esp, [esp]
mov eax, dword [esp + 0x18]
cmp edi, dword [eax + 0x1c]
jge 0x48707c
test edi, edi
jge 0x487074
mov byte [esp + 0x10], 0
jmp 0x487097
mov eax, dword [eax + 0x10]
mov cl, byte [edi + eax]
jmp 0x487093
cmp edi, dword [eax + 0x18]
jl 0x487088
mov byte [esp + 0x10], 0
jmp 0x487097
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x10]
add edx, edi
mov cl, byte [edx + eax]
mov byte [esp + 0x10], cl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x48]
add eax, 4
push ecx
push eax
call edx
test al, al
je 0x4870b8
dec esi
dec edi
cmp esi, dword [esp + 0x28]
jg 0x487060
cmp esi, ebx
jge 0x486fa1
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 0x1c]
jge 0x4870dc
test esi, esi
jge 0x4870d4
mov byte [esp + 0x10], 0
jmp 0x4870f7
mov eax, dword [eax + 0x10]
mov cl, byte [esi + eax]
jmp 0x4870f3
cmp esi, dword [eax + 0x18]
jl 0x4870e8
mov byte [esp + 0x10], 0
jmp 0x4870f7
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x10]
add edx, esi
mov cl, byte [edx + eax]
mov byte [esp + 0x10], cl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x48]
add eax, 4
push ecx
push eax
call edx
xor ecx, ecx
test al, al
setne cl
inc ecx
mov eax, ecx
add eax, esi
cmp eax, ebx
je 0x486fa1
jg 0x48712d
mov esi, eax
cmp esi, ebx
jl 0x4870c0
jmp 0x486fa1
mov eax, esi
jmp 0x486fa3
sub edi, ebx
mov dword [esp + 0x10], edi
mov ecx, dword [esi + 0x260]
sub ecx, dword [esi + 0x25c]
mov ebx, dword [esi + 0x290]
sar ecx, 4
cmp ebx, ecx
jb 0x487158
call fcn.00501daa
mov edx, dword [esi + 0x25c]
xor eax, eax
push eax
shl ebx, 4
mov ebx, dword [ebx + edx]
push ebx
lea eax, [esp + 0x34]
push eax
mov ecx, esi
call fcn.00484d60
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push ecx
push edx
mov eax, esi
call fcn.004850d0
cmp byte [esp + 0x1f], 0
mov dword [esp + 0x2c], eax
je 0x487353
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x2c8]
dec ebx
mov dword [esp + 0x18], eax
test ebx, ebx
jg 0x4871ae
xor ebx, ebx
jmp 0x487340
lea edi, [eax + 4]
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
cmp ebx, eax
jl 0x4871cc
mov edx, dword [edi]
mov eax, dword [edx + 8]
push edi
call eax
mov ebx, eax
jmp 0x487340
mov esi, dword [esp + 0x18]
lea edi, [ebx - 1]
mov dword [esp + 0x14], edi
call fcn.0049d7d0
test al, al
je 0x4871e7
mov ebx, edi
jmp 0x48733c
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x1ec]
test eax, eax
je 0x48733c
cmp eax, 0xfde9
jne 0x487246
add ecx, 0x10
mov eax, ebx
call fcn.004a5c10
movzx eax, al
add eax, 0xffffff80
cmp eax, 0x3f
ja 0x48733c
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x18]
push eax
push ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], ebx
call fcn.0049d8f0
test al, al
je 0x48733c
mov ebx, dword [esp + 0x14]
jmp 0x48733c
mov esi, dword [esp + 0x18]
mov edi, dword [esi + 4]
mov ecx, dword [edi + 0x14]
add esi, 4
push ebx
push esi
call ecx
mov edx, dword [edi + 0x18]
push eax
push esi
call edx
mov dword [esp + 0x28], eax
cmp ebx, eax
je 0x48733c
mov esi, ebx
jle 0x48733c
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp edi, dword [eax + 0x1c]
jge 0x487292
test edi, edi
jge 0x48728a
mov byte [esp + 0x14], 0
jmp 0x4872ad
mov eax, dword [eax + 0x10]
mov cl, byte [edi + eax]
jmp 0x4872a9
cmp edi, dword [eax + 0x18]
jl 0x48729e
mov byte [esp + 0x14], 0
jmp 0x4872ad
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x10]
add edx, edi
mov cl, byte [edx + eax]
mov byte [esp + 0x14], cl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x48]
add eax, 4
push ecx
push eax
call edx
test al, al
je 0x4872ce
dec esi
dec edi
cmp esi, dword [esp + 0x28]
jg 0x487276
cmp esi, ebx
jge 0x48733c
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 0x1c]
jge 0x4872f2
test esi, esi
jge 0x4872e6
mov byte [esp + 0x14], 0
jmp 0x48730b
mov eax, dword [eax + 0x10]
mov cl, byte [esi + eax]
mov byte [esp + 0x14], cl
jmp 0x48730b
cmp esi, dword [eax + 0x18]
jl 0x4872fe
mov byte [esp + 0x14], 0
jmp 0x48730b
mov edx, dword [eax + 0x20]
add edx, dword [eax + 0x10]
mov al, byte [edx + esi]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 4]
add eax, 4
push edx
push eax
mov eax, dword [ecx + 0x48]
call eax
xor ecx, ecx
test al, al
setne cl
inc ecx
mov eax, ecx
add eax, esi
cmp eax, ebx
je 0x48733c
jg 0x48733a
mov esi, eax
cmp esi, ebx
jl 0x4872d2
jmp 0x48733c
mov ebx, esi
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
xor eax, eax
push eax
push edx
xor ecx, ecx
push ecx
push ebx
mov eax, esi
call fcn.00485ca0
push 0
push esi
call fcn.0048a640
mov eax, dword [esi + 0x2c8]
mov ecx, dword [eax + 0x1e8]
test ecx, ecx
jne 0x487376
mov edx, 0x554864
mov dword [esp + 0x20], edx
jmp 0x48738f
mov dword [esp + 0x20], 0x554c64
cmp ecx, 1
je 0x48738b
mov dword [esp + 0x20], 0x54f6f8
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x2c]
add edi, ecx
dec eax
cmp edi, eax
jl 0x4873dc
test edx, edx
je 0x4873bb
mov eax, edx
lea ebx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4873b0
sub eax, ebx
jmp 0x4873bd
xor eax, eax
mov ecx, dword [esi + 0x2c8]
push eax
add ecx, 4
push edx
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push ecx
call eax
mov ebx, dword [esi + 0x2c8]
push eax
call fcn.0049e360
mov ecx, edi
mov eax, esi
call fcn.00490850
cmp dword [esp + 0x58], 0x10
mov edi, dword [esp + 0x44]
jae 0x4873f4
lea edi, [esp + 0x44]
mov ecx, dword [esi + 0x260]
sub ecx, dword [esi + 0x25c]
mov ebx, dword [esi + 0x290]
sar ecx, 4
cmp ebx, ecx
jb 0x487412
call fcn.00501daa
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x25c]
push eax
shl ebx, 4
mov ebx, dword [ebx + edx]
push edi
push ebx
mov ebx, dword [esi + 0x2c8]
call fcn.0049e360
cmp byte [esp + 0x1f], 0
mov dword [esp + 0x10], eax
je 0x487472
mov edx, dword [esp + 0x20]
test edx, edx
je 0x487453
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x487448
sub eax, edi
jmp 0x487455
xor eax, eax
push eax
push edx
mov edi, esi
call fcn.00485670
add eax, dword [esp + 0x18]
mov ebx, dword [esi + 0x2c8]
push eax
call fcn.0049e360
add dword [esp + 0x10], eax
mov ecx, dword [esi + 0x260]
sub ecx, dword [esi + 0x25c]
mov edi, dword [esi + 0x290]
sar ecx, 4
cmp edi, ecx
jb 0x487490
call fcn.00501daa
mov edx, dword [esi + 0x25c]
mov eax, dword [esi + 0x260]
shl edi, 4
mov ebx, dword [edi + edx]
mov edi, dword [esi + 0x290]
sub eax, edx
sar eax, 4
cmp edi, eax
jb 0x4874b6
call fcn.00501daa
mov ecx, dword [esi + 0x25c]
mov edx, dword [esp + 0x10]
shl edi, 4
mov edi, dword [edi + ecx]
lea eax, [ebx + edx]
xor ecx, ecx
push ecx
push eax
xor edx, edx
push edx
push edi
mov eax, esi
call fcn.00485ca0
cmp dword [esp + 0x58], 0x10
jb 0x4874ec
mov eax, dword [esp + 0x44]
push eax
call fcn.00501b8f
add esp, 4
mov edi, dword [esp + 0x34]
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], 0
mov byte [esp + 0x44], 0
mov dword [esp + 0x78], 0xffffffff
call fcn.004a5960
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.00501b9a
mov esp, ebp
pop ebp
ret 4