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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x64d9f0
push eax
mov dword fs:[0], esp
sub esp, 0x58
mov eax, 1
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp dword [0x6e7bc4], ebx
je 0x4b59a7
mov dword [esp + 0xc], 2
mov eax, dword [esp + 0xc]
push ebp
mov ebp, dword [esi + 0x335d2]
add eax, ebp
push edi
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x335ce]
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
call fcn.00643d62
mov eax, dword [esi + 0x2ff6]
mov edx, dword [esi + 0xd6]
xor ecx, ecx
mov dword [esp + 0x70], ebx
lea edx, [eax + edx - 1]
mov dword [esp + 0x20], ecx
test edx, edx
jle 0x4b5e27
jmp 0x4b59f0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov edi, dword [esi + 0x3042]
cmp edx, edi
jge 0x4b5e27
cmp ecx, eax
jl 0x4b5a14
mov ebp, dword [esi + 0xe2]
add ebp, ecx
mov dword [esp + 0x18], ebp
jmp 0x4b5a1a
mov dword [esp + 0x18], ecx
mov ebp, ecx
mov eax, dword [esi + 0x50600]
mov ecx, dword [eax + ebp*4]
test ecx, ecx
jge 0x4b5a31
mov eax, 0x6b5cdc
jmp 0x4b5b10
cmp ecx, 0xa7
jl 0x4b5a8a
mov eax, dword [esi + 0x4aea2]
test eax, eax
je 0x4b5a60
mov edi, dword [esi + 0x4aea6]
sub edi, eax
mov eax, 0x82082083
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
jne 0x4b5a6a
mov eax, 0x6c7010
jmp 0x4b5b10
mov eax, ecx
mov ecx, 0xa7
cdq
idiv ecx
mov edi, dword [esi + 0x4aea2]
mov eax, edx
shl eax, 6
sub eax, edx
lea eax, [eax + edi + 4]
jmp 0x4b5b10
cmp dword [esi + 0x563d0], 3
jne 0x4b5a9f
cmp ecx, 0x11
jne 0x4b5a9f
mov eax, 0x6b5cd4
jmp 0x4b5b10
cmp ecx, 0x71
je 0x4b5ae6
cmp ecx, 0x72
je 0x4b5ae6
cmp ecx, 0x79
je 0x4b5ae6
cmp ecx, 0x7c
je 0x4b5ae6
cmp ecx, 0x73
je 0x4b5ad3
cmp ecx, 0x74
je 0x4b5ad3
cmp ecx, 0x7a
je 0x4b5ad3
cmp ecx, 0x7d
je 0x4b5ad3
lea ecx, [ecx + ecx*8]
lea eax, [ecx*2 + 0x69dd68]
jmp 0x4b5b10
lea edx, [ecx + ecx*8]
mov ecx, dword [0x6e7ca8]
lea eax, [edx*2 + 0x69dd68]
push eax
jmp 0x4b5af7
lea edx, [ecx + ecx*8]
mov ecx, dword [0x6e7ca4]
lea eax, [edx*2 + 0x69dd68]
push eax
push ecx
push 0x69ac20
push 0x82c300
call dword [fcn.0065f1cc]
add esp, 0x10
mov eax, 0x82c300
push eax
lea ecx, [esp + 0x14]
call fcn.006440b6
mov edx, dword [esi + 0x50600]
mov edi, dword [edx + ebp*4]
cmp edi, 0xa7
jl 0x4b5b76
mov eax, dword [esi + 0x4aea2]
test eax, eax
je 0x4b5b52
mov ecx, dword [esi + 0x4aea6]
sub ecx, eax
mov eax, 0x82082083
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
jne 0x4b5b59
mov ebx, 1
jmp 0x4b5b88
mov eax, edi
mov ebx, 0xa7
cdq
idiv ebx
mov ecx, dword [esi + 0x4aea2]
mov eax, edx
shl eax, 6
sub eax, edx
mov ebx, dword [eax + ecx + 0x2f]
jmp 0x4b5b88
test edi, edi
je 0x4b5b86
cmp edi, 1
je 0x4b5b86
mov ebx, 1
jmp 0x4b5b88
xor ebx, ebx
cmp edi, 0xa7
jl 0x4b5bf2
mov eax, dword [esi + 0x4aea2]
test eax, eax
je 0x4b5bb7
mov ecx, dword [esi + 0x4aea6]
sub ecx, eax
mov eax, 0x82082083
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
jne 0x4b5bc3
mov ebp, dword [esi + 0x335d6]
lea edi, [ebp + ebp*8]
jmp 0x4b5c26
mov eax, edi
mov edi, 0xa7
cdq
idiv edi
mov ecx, dword [esi + 0x4aea2]
mov ebp, dword [esi + 0x335d6]
mov eax, edx
shl eax, 6
sub eax, edx
cmp word [eax + ecx + 0x2d], 0
jl 0x4b5bbd
movsx edi, word [eax + ecx + 0x2d]
imul edi, ebp
jmp 0x4b5c26
mov eax, dword [esi + 0x50608]
test eax, eax
je 0x4b5e02
test edi, edi
jl 0x4b5e02
mov ebp, dword [esi + 0x335d6]
mov dword [esp + 0x24], ebp
fild dword [esp + 0x24]
fmul dword [eax + edi*4]
fadd dword [0x66a4c0]
call fcn.00645030
mov edi, eax
cmp edi, 1
jl 0x4b5dfe
mov ecx, dword [esi + 0x3042]
mov edx, dword [esp + 0x1c]
sub ecx, dword [esi + 0x303a]
lea eax, [edi + edx]
add ecx, 3
mov dword [esp + 0x24], eax
cmp eax, ecx
jge 0x4b5d9c
mov ecx, dword [esp + 0x20]
mov eax, dword [esi + 0x2ff6]
cmp ecx, eax
jl 0x4b5c69
mov eax, dword [esi + 0xe2]
add eax, ecx
jmp 0x4b5c6b
mov eax, ecx
mov ecx, dword [esi + 0x106]
cmp ecx, eax
jne 0x4b5d48
test ecx, ecx
je 0x4b5d48
mov eax, dword [esp + 0x10]
test ebx, ebx
push eax
jne 0x4b5cf0
mov ecx, dword [0x73a9b4]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x7c]
push 0
push ecx
inc edx
push ebx
push edx
lea edx, [esp + 0x44]
push edi
push edx
push 0x732bc0
call fcn.00496440
mov ecx, eax
add esp, 0x20
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x10a]
cmp ecx, 1
mov dword [esp + 0x3c], edx
mov ecx, 0x69b784
je 0x4b5cd1
mov ecx, 0x6b5cd0
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [0x73a9b8]
push 0
push ecx
lea eax, [eax + edx - 3]
push ebx
push eax
lea ecx, [esp + 0x54]
push edi
push ecx
jmp 0x4b5d8f
mov eax, dword [0x73a9b4]
mov ecx, edi
mov ebx, dword [esp + 0x7c]
sub ecx, ebp
mov ebp, dword [esp + 0x18]
dec ecx
push ecx
push eax
push ebp
push edx
lea ecx, [esp + 0x5c]
push ebx
push ecx
push 0x732bc0
call fcn.00496440
mov eax, dword [esi + 0x10a]
add esp, 0x20
cmp eax, 1
mov eax, 0x69b784
je 0x4b5d2e
mov eax, 0x6b5cd0
mov edx, dword [0x73a9b8]
add edi, 2
push eax
mov eax, dword [esp + 0x20]
push edi
push edx
push ebp
push eax
lea ecx, [esp + 0x64]
push ebx
push ecx
jmp 0x4b5d8f
mov eax, dword [esp + 0x10]
test ebx, ebx
push eax
jne 0x4b5d71
mov ecx, dword [0x73a9b4]
mov eax, dword [esp + 0x18]
push 0
push ecx
mov ecx, dword [esp + 0x84]
add edx, 4
push eax
push edx
push ecx
lea edx, [esp + 0x70]
jmp 0x4b5d8e
mov ecx, dword [0x73a9b4]
mov eax, dword [esp + 0x18]
add edi, 0xfffffffc
push edi
push ecx
mov ecx, dword [esp + 0x84]
push eax
push edx
push ecx
lea edx, [esp + 0x78]
push edx
push 0x732bc0
call fcn.00496440
add esp, 0x20
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x300e]
test eax, eax
je 0x4b5dfe
push 0x6a094c
lea ecx, [esp + 0x30]
call fcn.00643d2c
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x2c]
push ecx
push edx
mov byte [esp + 0x7c], 1
call fcn.00644050
push eax
lea ecx, [esi + 0x300a]
mov byte [esp + 0x74], 2
call fcn.00643d38
lea ecx, [esp + 0x28]
mov byte [esp + 0x70], 1
call fcn.00643d26
lea ecx, [esp + 0x2c]
mov byte [esp + 0x70], 0
call fcn.00643d26
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0x2ff6]
mov ecx, dword [esi + 0xd6]
mov ebx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x20], edx
lea edx, [eax + ecx - 1]
cmp ebp, edx
jl 0x4b59ec
mov eax, dword [esi + 0x300e]
test eax, eax
je 0x4b5e74
lea edi, [esi + 0x300a]
push 0x69ac1c
lea eax, [esp + 0x7c]
push edi
push eax
call fcn.00643ea6
mov ecx, dword [esi + 0x300e]
mov eax, dword [eax]
push eax
mov byte [esp + 0x74], 3
mov edx, dword [ecx]
call dword [edx + 0x5c]
lea ecx, [esp + 0x78]
mov byte [esp + 0x70], 0
call fcn.00643d26
push 0x6c7010
mov ecx, edi
call fcn.006440b6
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3042]
pop edi
cmp eax, ecx
pop ebp
jle 0x4b5e96
mov ecx, dword [esi + 0xe2]
mov eax, dword [esi + 0x2ff6]
sub ebx, ecx
sub ebx, eax
jmp 0x4b5ea7
mov edx, dword [esi + 0xe2]
mov ecx, dword [esi + 0x2ff6]
sub ebx, edx
sub ebx, ecx
inc ebx
mov eax, ebx
mov dword [esi + 0xee], ebx
test eax, eax
jge 0x4b5ebd
mov dword [esi + 0xee], 0
lea ecx, [esp + 8]
mov dword [esp + 0x68], 0xffffffff
call fcn.00643d26
mov ecx, dword [esp + 0x60]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x64
ret 4