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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf0
mov esi, esp
mov dword [esi + 4], ebp
mov dword [esi + 0xa4], ecx
mov eax, dword [ebp + 8]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], eax
movsd xmm0, qword [ebp + 0x1c]
movsd qword [esi + 0xb0], xmm0
mov al, byte [ebp + 0x18]
mov byte [esi + 0xbf], al
mov eax, dword [ebp + 0x14]
mov dword [esi + 0xc0], eax
lea eax, [ebp + 0xc]
mov dword [esi + 0xc4], eax
mov eax, esp
mov dword [esi + 0xdc], eax
mov dword [esi + 0xe8], 0xffffffff
lea eax, [esi + 0xe0]
mov dword [esi + 0xe4], 0x10096a70
mov ecx, dword fs:[0]
mov dword [esi + 0xe0], ecx
mov dword fs:[0], eax
mov ebx, dword [esi + 0xc0]
movsd xmm0, qword [esi + 0xb0]
push eax
mov ecx, esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x84], eax
mov esp, eax
push eax
mov eax, esp
mov dword [esi + 0x88], eax
push eax
mov edi, esp
mov dword [esi + 0x94], edi
push eax
mov eax, esp
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x8c], edx
sub esp, 8
mov edx, esp
mov dword [esi + 0x60], edx
push eax
mov edx, esp
mov dword [esi + 0x9c], edx
push eax
mov edx, esp
mov dword [esi + 0x98], edx
push eax
mov edx, esp
mov dword [esi + 0xa0], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x64], edx
mov esp, edx
push eax
mov edx, esp
mov dword [esi + 0x68], edx
push eax
mov edx, esp
mov dword [esi + 0x6c], edx
push eax
mov edx, esp
mov dword [esi + 0x70], edx
push eax
mov edx, esp
mov dword [esi + 0x74], edx
push eax
mov edx, esp
mov dword [esi + 0x78], edx
push eax
mov edx, esp
mov dword [esi + 0x7c], edx
sub esp, 8
mov edx, esp
mov dword [esi + 0x80], edx
mov edx, dword [esi + 0xa8]
mov dword [ecx], edx
mov dl, byte [esi + 0xbf]
mov ecx, dword [esi + 0x84]
movsd qword [ecx], xmm0
mov ecx, dword [esi + 0x88]
mov byte [ecx], dl
mov edx, dword [esi + 0xa4]
mov ecx, dword [esi + 0x8c]
mov dword [edi], ebx
mov dword [eax], edx
mov eax, dword [eax]
mov dword [esi + 0x90], eax
call fcn.10009080
mov eax, dword [esi + 0x94]
mov ecx, dword [eax]
call fcn.1004a3a0
mov edx, dword [esi + 0x98]
mov ecx, dword [esi + 0x9c]
mov edi, eax
mov eax, dword [esi + 0xa0]
and edi, 0x3000
mov dword [ecx], edi
cmp dword [ecx], 0x2000
sete bl
and bl, 1
mov byte [edx], bl
cmp dword [ecx], 0x3000
sete cl
and cl, 1
mov byte [eax], cl
test byte [eax], 1
je 0x10080843
mov edx, 0xffffffff
mov eax, edx
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], edx
jmp 0x1008089e
mov eax, dword [esi + 0x94]
mov edx, dword [0x10283e14]
mov ecx, dword [0x10283e18]
and edx, ecx
and edx, 0xc393ac52
xor edx, 0x739500c
mov ecx, edx
xor ecx, 0xbeb15aed
and ecx, edx
mov dword [esi + 0x4c], ecx
mov ecx, dword [eax]
call fcn.10089e90
mov ecx, eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], edx
cmp eax, 0x82c30bb4
jae 0x10080dea
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
jmp 0x1008089e
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x44], ecx
mov dword [esi + 0x48], eax
mov eax, dword [0x10283e1c]
mov ecx, dword [str._tB_b]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
imul eax, eax, 0xcf0b5288
add eax, 0xd466d7b0
add eax, 0xa3ef46fc
sub eax, 0xd466d7b0
mov edx, eax
and edx, 0xf83e5971
mov ecx, eax
or ecx, 0xf83e5971
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7c1a68e
or eax, 0x7c1a68e
imul eax, edx
add eax, ecx
cmp eax, 0xb85e0794
ja 0x10080dfc
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x48]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edi, dword [ecx]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10089f90
mov edx, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
add esp, 0xc
mov edi, eax
mov eax, dword [esi + 0x98]
mov dword [edx], edi
mov edx, dword [edx]
mov dword [ecx], edx
test byte [eax], 1
je 0x10080aa4
jmp 0x10080957
mov ecx, dword [esi + 0x84]
mov edx, dword [0x10283e34]
or edx, dword [0x10283e38]
mov edi, edx
and edi, 0x8b39971a
mov eax, edx
or eax, 0x8b39971a
xor eax, 0xffffffff
imul eax, edi
mov edi, edx
and edi, 0x74c668e5
or edx, 0x74c668e5
imul edx, edi
add edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x24e84e5b
and edx, 0xdb17b1a4
or eax, edx
sub eax, 0xa6ccd81e
sub eax, 0x3154db4e
add eax, 0xa6ccd81e
movsd xmm0, qword [ecx]
movaps xmm1, xmmword [0x10227af0]
pand xmm0, xmm1
movsd xmm1, qword [0x10227ae8]
ucomisd xmm0, xmm1
seta cl
mov byte [esi + 0x43], cl
cmp eax, 0x516bcf72
je 0x10080957
mov al, byte [esi + 0x43]
test al, 1
jne 0x100809ee
jmp 0x10080aa4
mov eax, dword [str.Z_JNGl]
and eax, dword [0x10283e40]
xor eax, 0xfc9289a6
mov ecx, eax
and ecx, 0x6b923bc8
shl ecx, 1
xor eax, 0x6b923bc8
add eax, ecx
xor eax, 0xc4a0b1c0
cmp eax, 0x2784a37f
jb 0x10080e0f
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x84]
movsd xmm0, qword [ecx]
sub esp, 0xc
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call fcn.1008aaf0
mov eax, dword [esi + 0x70]
add esp, 0xc
fstp qword [esi + 0xc8]
movsd xmm0, qword [esi + 0xc8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.101ffe65
add esp, 4
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7597
mov ecx, eax
and ecx, 0xffff8a68
imul ecx, edx
mov edx, eax
and edx, 0x7597
or eax, 0x7597
imul eax, edx
add eax, ecx
mov ecx, 0x186a0
cdq
idiv ecx
mov ecx, eax
mov eax, dword [esi + 0x6c]
add ecx, dword [eax]
mov dword [eax], ecx
mov dword [esi + 0xe8], 0
mov ecx, dword [esi + 0x8c]
mov eax, dword [esi + 0x6c]
mov edx, dword [eax]
add edx, 0x32
mov dword [esi + 0xe8], 0
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], 0
call fcn.1008ab30
jmp 0x10080ad4
jmp 0x10080ad9
mov eax, dword [esi + 0x84]
mov edx, dword [0x10283e54]
mov ecx, dword [0x10283e58]
sub edx, 0xdf871e1e
sub edx, ecx
add edx, 0xdf871e1e
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x60264627
and edx, 0x9fd9b9d8
or ecx, edx
add ecx, 0xa9da797a
sub ecx, 0x512b48ce
mov dword [esi + 0x3c], ecx
movsd xmm0, qword [eax]
sub esp, 8
movsd qword [esp], xmm0
call fcn.1008ae30
mov ecx, dword [esi + 0x74]
add esp, 8
mov dl, al
mov eax, dword [esi + 0x3c]
and dl, 1
mov byte [ecx], dl
mov cl, byte [ecx]
mov byte [esi + 0x42], cl
cmp eax, 0x74667101
je 0x10080ad9
mov al, byte [esi + 0x42]
test al, 1
jne 0x10080b5c
jmp 0x10080b71
mov eax, dword [esi + 0x94]
mov ecx, dword [eax]
call fcn.1004a3a0
mov dword [esi + 0x38], eax
jmp 0x10080b84
mov eax, dword [esi + 0x94]
mov ecx, dword [eax]
call fcn.1004a3a0
and eax, 0xffffffef
mov dword [esi + 0x38], eax
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0x78]
mov edi, dword [esi + 0x64]
mov ebx, dword [esi + 0x84]
mov ecx, dword [esi + 0x38]
mov dword [eax], ecx
mov ecx, dword [esi + 0x60]
movsd xmm0, qword [ebx]
movsd qword [esi + 0x28], xmm0
mov edi, dword [edi]
mov dword [esi + 0x30], edi
mov eax, dword [eax]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x4c
mov dword [esp + 0xc], eax
call fcn.1008afd0
add esp, 0x10
mov dword [esi + 0x34], eax
mov eax, dword [0x10283e64]
mov edi, dword [0x10283e68]
mov edx, eax
xor edx, 0xffffffff
mov ecx, edi
and ecx, edx
mov ebx, edi
xor ebx, 0xffffffff
mov edx, eax
and edx, ebx
mov ebx, dword [esi + 0x88]
imul edx, ecx
mov ecx, eax
and ecx, edi
or eax, edi
mov edi, dword [esi + 0x94]
imul eax, ecx
mov ecx, dword [esi + 0x8c]
add eax, edx
or eax, 0x112311c4
add eax, 0xb683265
add eax, 1
mov edx, eax
xor edx, 0x90b89732
xor edx, 0xffffffff
and edx, 0x90b89732
shl edx, 1
sub edx, 0x90b89732
sub eax, edx
mov dword [esi + 0x18], eax
call fcn.10046ff0
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0xc], eax
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100846f0
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x34]
movsd xmm0, qword [esi + 0x28]
sub esp, 0x18
mov dword [esp], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
movsd qword [esp + 0x10], xmm0
call fcn.10084090
mov edx, dword [esi + 0x74]
add esp, 0x18
mov ecx, eax
mov eax, dword [esi + 0x7c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x8c]
mov dl, byte [edx]
mov byte [esi + 0x13], dl
mov eax, dword [eax]
mov dword [esi + 0x14], eax
call fcn.10008340
mov edx, dword [esi + 0xc4]
mov ecx, eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x80]
mov bl, byte [ebx]
mov byte [esi + 0x23], bl
mov edi, dword [edi]
mov dword [esi + 0x24], edi
mov edi, dword [edx]
mov dword [ecx], edi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0x35e87282
jbe 0x10080bcf
mov edx, dword [esi + 0xa8]
mov edi, dword [esi + 0x24]
mov bl, byte [esi + 0x23]
mov cl, byte [esi + 0x13]
mov eax, dword [esi + 0x80]
mov dword [esi + 0xe8], 0
sub esp, 0x20
movsd xmm0, qword [eax]
mov eax, esp
movsd qword [eax + 4], xmm0
movzx ecx, cl
and ecx, 1
mov dword [eax + 0x1c], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x90]
movsx ebx, bl
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax], edx
call fcn.1008c730
jmp 0x10080d33
mov eax, dword [0x10283e6c]
xor edx, edx
div dword [0x10283e70]
or eax, 0x3ccefbb1
and eax, 0x9a41e859
mov edx, eax
and edx, 0x84a2bdf5
mov ecx, eax
or ecx, 0x84a2bdf5
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7b5d420a
or eax, 0x7b5d420a
imul eax, edx
add eax, ecx
cmp eax, 0x448ac0bc
jae 0x10080e73
mov ecx, dword [esi + 0x8c]
mov eax, dword [0x10283e74]
mov edx, dword [0x10283e78]
sub eax, 0xc81de521
sub eax, edx
add eax, 0xc81de521
add eax, 0x30a149d3
mov edi, 0x8c3d5d01
xor edx, edx
div edi
sub eax, 0xe5b8bc00
sub eax, 0xb7cad813
add eax, 0xe5b8bc00
mov dword [esi + 8], eax
call fcn.100061b0
mov eax, dword [esi + 8]
cmp eax, 0x7fe6dde4
jae 0x10080e73
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xe0]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
mov eax, dword [esi + 0x94]
mov ecx, dword [eax]
call fcn.10089e90
jmp 0x10080843
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
mov dword [eax], edx
mov dword [eax + 4], ecx
jmp 0x10080905
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x84]
movsd xmm0, qword [ecx]
sub esp, 0xc
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call fcn.1008aaf0
mov eax, dword [esi + 0x70]
add esp, 0xc
fstp qword [esi + 0xd0]
movsd xmm0, qword [esi + 0xd0]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.101ffe65
add esp, 4
imul eax, eax, 0x7597
mov ecx, 0x186a0
cdq
idiv ecx
mov edi, eax
mov eax, dword [esi + 0x6c]
mov ecx, dword [eax]
xor edx, edx
sub edx, edi
sub ecx, edx
mov dword [eax], ecx
jmp 0x10080a1f
mov ecx, dword [esi + 0x8c]
call fcn.100061b0
jmp 0x10080d7d