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

Disassembly:
push 0xffffffffffffffff
push 0x87e009
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x8ce6f4]
xor eax, esp
mov dword [esp + 0xd0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8ce6f4]
xor eax, esp
push eax
lea eax, [esp + 0xe8]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x1c], esi
fld qword [esp + 0x10c]
mov eax, dword [esp + 0xf8]
xor edi, edi
push edi
sub esp, 0x10
fstp qword [esp + 8]
add eax, 0xfffffff0
fld qword [esp + 0x118]
mov dword [esp + 0x104], edi
fstp qword [esp]
push edi
push edi
push edi
push ecx
mov dword [esp + 0x3c], esp
mov ebx, esp
push eax
call fcn.004a9b50
add eax, 0x10
add esp, 4
mov dword [ebx], eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x114], 1
call fcn.0063d210
mov byte [esp + 0x114], 2
push eax
mov ecx, esi
mov byte [esp + 0x118], 3
call fcn.0064ae90
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
mov byte [esp + 0xf0], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64b616
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0xfc]
mov dword [esi], 0x442bb4
mov dword [esi + 0x1bc], edi
mov dword [esi + 0x1c0], edi
mov dword [esi + 0x1b4], edi
mov dword [esi + 0x1b0], edi
mov dword [esi + 0x1c4], edi
cmp ecx, edi
jl 0x64b7e0
mov eax, dword [esp + 0x100]
cmp eax, edi
jl 0x64b7e0
imul eax, ecx
push eax
call fcn.007c8558
mov ebp, eax
add esp, 4
mov dword [esi + 0x1c4], ebp
cmp ebp, edi
je 0x64b7e0
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xfc]
mov al, byte [esp + 0x114]
mov dword [esi + 0x1b4], ecx
imul ecx, edx
mov byte [esi + 0x1b8], al
mov eax, dword [esp + 0x118]
push ecx
mov dword [esi + 0x1bc], eax
mov eax, dword [esp + 0x120]
push edi
push ebp
mov dword [esi + 0x1b0], edx
mov dword [esi + 0x1c0], eax
call fcn.00802690
add esp, 0xc
xor ecx, ecx
push ecx
xor eax, eax
push eax
xor edx, edx
push edi
push edx
mov ecx, esi
call fcn.0064b2d0
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x6c]
mov ebp, dword [esp + 0x11c]
mov edx, dword [esi + 0x74]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x118]
lea eax, [eax + ecx + 4]
mov ecx, dword [esi + 0x70]
lea ecx, [ecx + ebp + 4]
sar eax, 3
mov ebx, edx
sar ecx, 3
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
cmp eax, edi
jge 0x64b722
mov ebp, eax
neg ebp
add ebx, eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
xor eax, eax
cmp ecx, edi
jge 0x64b734
add dword [esp + 0x14], ecx
mov ebp, ecx
neg ebp
mov dword [esp + 0x18], ebp
xor ecx, ecx
mov edi, dword [esi + 0x1b0]
add ebx, eax
cmp ebx, edi
jle 0x64b748
mov ebx, edi
sub ebx, eax
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 0x14]
mov ebx, dword [esi + 0x1b4]
add ebp, ecx
cmp ebp, ebx
jle 0x64b75e
sub ebx, ecx
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x20]
test ebp, ebp
jle 0x64b7e0
cmp dword [esp + 0x14], 0
jle 0x64b7e0
imul edx, dword [esp + 0x18]
imul edi, ecx
add edx, dword [esp + 0x1c]
add edi, dword [esi + 0x1c4]
mov ebx, dword [esi + 0x7c]
mov ecx, dword [esp + 0x14]
lea edx, [ebx + edx*2]
add edi, eax
jmp 0x64b790
dec ecx
xor eax, eax
test ebp, ebp
jle 0x64b7a2
mov bl, byte [edx + eax*2]
mov byte [eax + edi], bl
inc eax
cmp eax, ebp
jl 0x64b797
mov eax, dword [esi + 0x74]
add edi, dword [esi + 0x1b0]
lea edx, [edx + eax*2]
test ecx, ecx
jne 0x64b790
cmp byte [esp + 0x114], cl
je 0x64b7e0
mov eax, dword [esp + 0x100]
imul eax, dword [esp + 0xfc]
mov ecx, dword [esi + 0x1c4]
test eax, eax
jle 0x64b7e0
mov dl, 0x40
sub dl, byte [ecx]
dec eax
mov byte [ecx], dl
inc ecx
test eax, eax
jg 0x64b7d4
mov eax, dword [esp + 0xf8]
add eax, 0xfffffff0
mov dword [esp + 0xf0], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x64b80e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.0080262b
add esp, 0xe0
ret 0x28