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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x64d08f
sub esp, 0x84
mov ebx, dword [esp + 0x88]
mov ebp, dword [ebx + 0x24]
mov esi, dword [ebx + 0x20]
test ebp, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
seta al
cmp esi, 0x20
setae cl
and edi, ecx
or eax, edi
test al, al
je 0x64cd81
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], esi
mov edi, dword [ebx + 4]
mov dword [esp + 0x34], edi
mov eax, dword [ebx]
mov dword [esp + 0x30], eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], ecx
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x2c], edx
mov ebp, dword [ebx + 0x10]
mov dword [esp + 0x24], ebp
mov esi, dword [ebx + 0x14]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x1c], ebp
mov ebx, dword [ebx + 0x1c]
mov dword [esp + 0x20], ebx
shl edi, 1
shl eax, 1
mov ebx, dword [esp + 0x30]
shr ebx, 0x1f
or edi, ebx
mov dword [esp + 0x78], edi
mov ebx, dword [esp + 0x34]
shr ebx, 0x1f
or eax, ebx
mov dword [esp + 0x74], eax
mov ebx, edx
shl edx, 7
shl ecx, 7
mov edi, dword [esp + 0x28]
shr edi, 0x19
or edx, edi
mov dword [esp + 0x70], edx
shr ebx, 0x19
or ecx, ebx
mov ebx, esi
shl esi, 0xc
mov edi, dword [esp + 0x24]
shl edi, 0xc
mov ebp, dword [esp + 0x24]
shr ebp, 0x14
or ebp, esi
mov dword [esp + 0x6c], ebp
mov esi, ebx
shr ebx, 0x14
or ebx, edi
mov dword [esp + 0x68], ebx
mov edi, dword [esp + 0x1c]
shr edi, 0xe
mov ebp, dword [esp + 0x20]
shl ebp, 0x12
or edi, ebp
mov dword [esp + 0x64], edi
mov ebp, dword [esp + 0x1c]
shl ebp, 0x12
mov edi, dword [esp + 0x20]
shr edi, 0xe
or edi, ebp
mov dword [esp + 0x60], edi
mov eax, 0x27d4eb4f
mov edi, dword [esp + 0x30]
mul edi
imul edi, edi, 0xc2b2ae3d
add edi, edx
mov ebx, dword [esp + 0x34]
imul ebx, ebx, 0x27d4eb4f
add ebx, edi
mov dword [esp + 0x5c], ebx
mov edi, eax
mov eax, 0x27d4eb4f
mov ebp, dword [esp + 0x28]
mul ebp
imul ebp, ebp, 0xc2b2ae3d
add ebp, edx
mov ebx, dword [esp + 0x2c]
imul ebx, ebx, 0x27d4eb4f
add ebx, ebp
mov dword [esp + 0x58], ebx
mov ebp, eax
mov eax, 0x27d4eb4f
mov ebx, dword [esp + 0x24]
mul ebx
mov dword [esp + 0x54], eax
imul ebx, ebx, 0xc2b2ae3d
add ebx, edx
imul esi, esi, 0x27d4eb4f
add ebx, esi
mov dword [esp + 0x50], ebx
mov eax, 0x27d4eb4f
mov esi, dword [esp + 0x1c]
mul esi
mov dword [esp + 0x4c], eax
imul esi, esi, 0xc2b2ae3d
add esi, edx
mov ebx, dword [esp + 0x20]
imul ebx, ebx, 0x27d4eb4f
add ebx, esi
mov dword [esp + 0x48], ebx
mov esi, edi
shr edi, 1
mov ebx, dword [esp + 0x5c]
shl ebx, 0x1f
or edi, ebx
imul ebx, edi, 0x85ebca87
shl esi, 0x1f
mov edi, dword [esp + 0x5c]
shr edi, 1
or edi, esi
mov eax, edi
mov esi, 0x85ebca87
mul esi
imul edi, edi, 0x9e3779b1
add edi, edx
add ebx, edi
mov dword [esp + 0x18], ebx
mov edi, ebp
shr ebp, 1
mov ebx, dword [esp + 0x58]
shl ebx, 0x1f
or ebp, ebx
imul ebx, ebp, 0x85ebca87
shl edi, 0x1f
mov ebp, dword [esp + 0x58]
shr ebp, 1
or ebp, edi
mov edi, eax
mov eax, ebp
mul esi
mov dword [esp + 0xc], eax
add ebx, edx
imul ebp, ebp, 0x9e3779b1
add ebx, ebp
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x54]
mov edx, ebp
shr ebp, 1
mov ebx, dword [esp + 0x50]
shl ebx, 0x1f
or ebp, ebx
imul ebx, ebp, 0x85ebca87
shl edx, 0x1f
mov ebp, dword [esp + 0x50]
shr ebp, 1
or ebp, edx
mov eax, ebp
mul esi
mov dword [esp + 8], eax
add ebx, edx
imul ebp, ebp, 0x9e3779b1
add ebx, ebp
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x4c]
mov edx, ebp
shr ebp, 1
mov ebx, dword [esp + 0x48]
shl ebx, 0x1f
or ebp, ebx
imul ebx, ebp, 0x85ebca87
shl edx, 0x1f
mov ebp, dword [esp + 0x48]
shr ebp, 1
or ebp, edx
mov eax, ebp
mul esi
add ebx, edx
imul ebp, ebp, 0x9e3779b1
add ebx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [esp + 0x74]
add ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
adc ebx, esi
mov esi, dword [esp + 0x68]
add ebp, esi
mov esi, dword [esp + 0x6c]
adc ebx, esi
mov esi, dword [esp + 0x60]
add esi, ebp
mov ebp, dword [esp + 0x64]
adc ebp, ebx
xor esi, edi
mov ebx, dword [esp + 0x18]
xor ebp, ebx
mov edx, eax
mov eax, 0x85ebca87
mov ebx, edx
mul esi
imul ebp, ebp, 0x85ebca87
add ebp, edx
imul esi, esi, 0x9e3779b1
add ebp, esi
add eax, 0xc2b2ae63
adc ebp, 0x85ebca77
mov esi, dword [esp + 0xc]
xor eax, esi
mov esi, dword [esp + 0x14]
xor ebp, esi
mov esi, 0x85ebca87
mov edi, eax
mul esi
imul ebp, ebp, 0x85ebca87
add ebp, edx
imul edi, edi, 0x9e3779b1
add ebp, edi
add eax, 0xc2b2ae63
adc ebp, 0x85ebca77
mov edi, dword [esp + 8]
xor eax, edi
mov edi, dword [esp + 0x10]
xor edi, ebp
mov ebp, eax
mul esi
imul edi, edi, 0x85ebca87
add edi, edx
imul ebp, ebp, 0x9e3779b1
add ebp, edi
add eax, 0xc2b2ae63
adc ebp, 0x85ebca77
xor eax, ebx
xor ecx, ebp
mov ebx, eax
mul esi
imul ebp, ecx, 0x85ebca87
add ebp, edx
imul ebx, ebx, 0x9e3779b1
add ebx, ebp
add eax, 0xc2b2ae63
adc ebx, 0x85ebca77
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov edi, ebx
mov ebx, dword [esp + 0x88]
jmp 0x64cd92
mov eax, dword [ebx + 0x10]
mov edi, dword [ebx + 0x14]
add eax, 0x165667c5
adc edi, 0x27d4eb2f
mov ecx, dword [ebx + 0x48]
mov dword [esp + 0x3c], ecx
add esi, eax
adc ebp, edi
xor eax, eax
jmp 0x64ced7
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], ebp
lea edx, [eax - 0x20]
neg edx
neg edx
sar edx, 0x1f
and eax, edx
mov dword [esp + 0x40], eax
movzx edx, byte [ebx + eax + 0x28]
movzx ecx, byte [ebx + eax + 0x29]
mov dword [esp + 0x80], ecx
shl ecx, 8
or ecx, edx
mov edi, dword [esp + 0x80]
shr edi, 0x18
movzx edx, byte [ebx + eax + 0x2a]
mov dword [esp + 0x80], edx
shl edx, 0x10
or edx, ecx
mov ecx, edi
mov edi, dword [esp + 0x80]
shr edi, 0x10
or edi, ecx
movzx ecx, byte [ebx + eax + 0x2b]
mov dword [esp + 0x80], ecx
shr ecx, 8
or ecx, edi
mov edi, dword [esp + 0x80]
shl edi, 0x18
or edi, edx
mov eax, 0x27d4eb4f
mul edi
imul edi, edi, 0xc2b2ae3d
add edi, edx
mov edx, edi
mov edi, dword [esp + 0x40]
movzx ebp, byte [ebx + edi + 0x2c]
or ebp, ecx
movzx ecx, byte [ebx + edi + 0x2d]
shl ecx, 8
or ebp, ecx
movzx ecx, byte [ebx + edi + 0x2e]
shl ecx, 0x10
or ecx, ebp
movzx edi, byte [ebx + edi + 0x2f]
shl edi, 0x18
or edi, ecx
imul edi, edi, 0x27d4eb4f
add edi, edx
mov ecx, eax
shr ecx, 1
mov edx, edi
shl edi, 0x1f
or ecx, edi
imul edi, ecx, 0x85ebca87
shl eax, 0x1f
shr edx, 1
or eax, edx
mov ecx, edi
mov edi, 0x85ebca87
mov ebp, eax
mul edi
xor esi, eax
lea eax, [edx + ecx]
imul ecx, ebp, 0x9e3779b1
add eax, ecx
mov edi, dword [esp + 0x38]
xor edi, eax
mov eax, esi
shr esi, 5
mov ecx, edi
shl edi, 0x1b
or esi, edi
imul edi, esi, 0x85ebca87
shl eax, 0x1b
shr ecx, 5
or ecx, eax
mov eax, 0x85ebca87
mul ecx
add edi, edx
imul ecx, ecx, 0x9e3779b1
lea ebp, [ecx + edi]
nop
nop
nop
nop
add eax, 0xc2b2ae63
adc ebp, 0x85ebca77
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x44]
mov esi, eax
mov eax, edi
lea edi, [eax + 8]
cmp ecx, edi
jl 0x64cef4
cmp edi, 0x20
ja 0x64d082
cmp eax, edi
jbe 0x64cda4
jmp 0x64d07b
lea edi, [eax + 4]
cmp ecx, edi
jl 0x64cf81
cmp edi, 0x20
ja 0x64d06f
cmp eax, edi
ja 0x64d068
lea edx, [eax - 0x20]
neg edx
neg edx
sar edx, 0x1f
and eax, edx
mov eax, dword [ebx + eax + 0x28]
mov dword [esp + 0x80], eax
mov edx, 0x85ebca87
mul edx
xor eax, esi
mov esi, ebx
mov ebx, dword [esp + 0x80]
imul ebx, ebx, 0x9e3779b1
add edx, ebx
xor ebp, edx
mov edx, eax
shr eax, 9
mov ebx, ebp
shl ebp, 0x17
or eax, ebp
imul eax, eax, 0x27d4eb4f
shl edx, 0x17
shr ebx, 9
or ebx, edx
mov edx, eax
mov eax, 0x27d4eb4f
mov ebp, edx
mul ebx
imul ebx, ebx, 0xc2b2ae3d
add edx, ebx
add ebp, edx
nop
nop
add eax, 0x9e3779f9
adc ebp, 0x165667b1
jmp 0x64cfef
mov edi, eax
mov eax, esi
mov esi, ebx
jmp 0x64cfef
movzx edx, byte [edi + esi + 0x28]
mov dword [esp + 0x80], edx
mov ebx, eax
mov eax, 0x165667c5
mul edx
xor eax, ebx
mov ebx, dword [esp + 0x80]
imul ebx, ebx, 0x27d4eb2f
add edx, ebx
xor edx, ebp
mov ebx, edx
shl edx, 0xb
mov ebp, eax
shl ebp, 0xb
shr eax, 0x15
or edx, eax
imul edx, edx, 0x85ebca87
mov dword [esp + 0x80], edx
shr ebx, 0x15
or ebp, ebx
mov eax, ebp
mov ebx, 0x85ebca87
mul ebx
mov ebx, dword [esp + 0x80]
add edx, ebx
imul ebx, ebp, 0x9e3779b1
lea ebp, [ebx + edx]
inc edi
nop
cmp edi, ecx
jge 0x64cffa
cmp edi, 0x20
jb 0x64cf89
jmp 0x64d05c
mov ecx, ebp
shr ebp, 1
xor ebp, eax
mov eax, 0x27d4eb4f
mul ebp
imul ebx, ebp, 0xc2b2ae3d
add edx, ebx
imul ecx, ecx, 0x27d4eb4f
add ecx, edx
mov edx, ecx
shl ecx, 3
mov ebx, edx
shr edx, 0x1d
xor edx, ebx
mov ebx, eax
shr eax, 0x1d
or ecx, eax
xor ecx, ebx
mov eax, 0x9e3779f9
mov ebx, edx
mul ecx
imul ebx, ebx, 0x9e3779f9
imul ecx, ecx, 0x165667b1
add ecx, edx
add ecx, ebx
mov dword [esp + 0x90], ecx
xor ecx, eax
mov dword [esp + 0x8c], ecx
add esp, 0x84
ret
mov eax, edi
mov ecx, 0x20
call fcn.004684c0
mov ecx, edi
call fcn.00468520
mov ecx, edi
mov edx, 0x20
call fcn.004684e0
mov ecx, edi
call fcn.00468520
mov ecx, edi
mov edx, 0x20
call fcn.004684e0
nop
call fcn.00467050
jmp fcn.0064ca10