Function at 0x10084e40
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 + 0x20], ebp
mov eax, dword [ebp + 8]
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], eax
movsd xmm0, qword [ebp + 0x1c]
mov al, byte [ebp + 0x18]
mov eax, dword [ebp + 0x14]
lea eax, [ebp + 0xc]
mov dword [esi + 0x68], eax
mov eax, esp
mov dword [esi + 0xdc], eax
mov dword [esi + 0xe8], 0xffffffff
lea eax, [esi + 0xe0]
mov dword [esi + 0xe4], 0x1009a7a0
mov edx, dword fs:[0]
mov dword [esi + 0xe0], edx
mov dword fs:[0], eax
movsd qword [esi + 0xd0], xmm0
mov dword [esi + 0xcc], ecx
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x6c], eax
lea ecx, [esi + 0xb4]
call fcn.10008f70
mov ecx, dword [ebp + 0x14]
call fcn.1004c730
and eax, 0x3000
mov dword [esi + 0xa8], eax
cmp dword [esi + 0xa8], 0x2000
sete al
and al, 1
mov byte [esi + 0xa7], al
cmp dword [esi + 0xa8], 0x3000
sete al
and al, 1
mov byte [esi + 0xa6], al
test byte [esi + 0xa6], 1
je 0x10084f6b
mov eax, dword [0x10288f8c]
and eax, dword [0x10288f90]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xf24718bf
add eax, ecx
mov ecx, eax
and ecx, 0x83eb3f09
mov edx, eax
xor edx, 0x7c14c0f6
add eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xcb381761
and eax, 0x34c7e89e
shl eax, 1
sub eax, ecx
cmp eax, 0x61a73a57
jbe 0x10085349
mov edx, 0xffffffff
mov eax, edx
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], edx
jmp 0x10084f7e
mov ecx, dword [ebp + 0x14]
call fcn.1008e430
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], edx
jmp 0x10084f7e
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], eax
mov eax, dword [0x10288fac]
add eax, dword [0x10288fb0]
add eax, 0x97cba415
sub eax, 0x28450c12
mov ecx, eax
and ecx, 0xfc64a667
shl ecx, 1
xor eax, 0xfc64a667
add eax, ecx
cmp eax, 0x7c4fcb83
je 0x1008534e
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], eax
mov edi, dword [esi + 0xa8]
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x9c]
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10094330
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x90], eax
test byte [esi + 0xa7], 1
je 0x10085111
mov eax, dword [0x10288fbc]
mov edx, dword [0x10288fc0]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
xor eax, 0xd4c4bed5
imul ecx, eax, 0x44cb526c
mov eax, ecx
or eax, 0xdc8b8afb
xor eax, 0xffffffff
or ecx, 0xdc8b8afb
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x674be45b
jb 0x10085365
mov eax, dword [0x10288fc4]
xor ecx, ecx
sub ecx, dword [0x10288fc8]
sub eax, ecx
mov ecx, 0x16dc6097
xor edx, edx
div ecx
imul eax, eax, 0x7ec0c147
sub eax, 0x95e2dbc0
movsd xmm0, qword [esi + 0xd0]
movaps xmm1, xmmword [0x1022caf0]
pand xmm0, xmm1
movsd xmm1, qword [0x1022cae8]
ucomisd xmm0, xmm1
seta cl
mov byte [esi + 0x4f], cl
cmp eax, 0x862201c7
jb 0x10085365
mov al, byte [esi + 0x4f]
test al, 1
jne 0x100850b3
jmp 0x10085111
movsd xmm0, qword [esi + 0xd0]
lea eax, [esi + 0x8c]
movsd qword [esp], xmm0
mov dword [esp + 8], eax
call fcn.10205370
fstp qword [esi + 0x70]
movsd xmm0, qword [esi + 0x70]
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.10204485
imul eax, eax, 0x7597
mov ecx, 0x186a0
cdq
idiv ecx
mov edx, eax
mov eax, dword [esi + 0x90]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [esi + 0x90], eax
mov dword [esi + 0xe8], 0
mov ecx, dword [esi + 0x90]
add ecx, 0x32
mov dword [esi + 0xe8], 0
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0
lea ecx, [esi + 0xb4]
call fcn.1008f3d0
sub esp, 8
jmp 0x10085142
mov ecx, dword [0x10288fcc]
xor ecx, dword [0x10288fd0]
sub ecx, 0xec72b4d7
mov eax, ecx
and eax, 0x804312b7
xor ecx, 0x804312b7
or eax, ecx
xor eax, 0xffffffff
or eax, 0x6c430f90
xor eax, 0xffffffff
cmp eax, 0x804f31bf
jbe 0x1008536a
movsd xmm0, qword [esi + 0xd0]
movsd qword [esp], xmm0
call fcn.10094c70
and al, 1
mov byte [esi + 0x8b], al
test byte [esi + 0x8b], 1
je 0x100851b0
mov ecx, dword [ebp + 0x14]
call fcn.1004c730
mov dword [esi + 0x48], eax
jmp 0x100851d3
mov ecx, dword [ebp + 0x14]
call fcn.1004c730
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
or eax, 0x10
xor ecx, 0xffffffff
or ecx, 0x10
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x48]
mov dword [esi + 0x84], eax
movsd xmm0, qword [esi + 0xd0]
movsd qword [esi + 0x28], xmm0
mov ebx, dword [esi + 0x98]
mov edx, dword [esi + 0x84]
mov eax, esp
mov dword [eax + 0xc], edx
lea edx, [esi + 0xac]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.1008fac0
mov edi, eax
lea ecx, [esi + 0xb4]
mov dword [esi + 0x38], ecx
call fcn.10048970
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x34], eax
mov eax, esp
mov dword [eax], 0
call fcn.100887b0
sub esp, 4
movsd xmm0, qword [esi + 0x28]
mov edx, dword [esi + 0x34]
mov ecx, eax
mov eax, esp
movsd qword [eax + 0x10], xmm0
mov dword [eax + 0xc], ebx
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100882f0
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x40], eax
movzx eax, byte [esi + 0x8b]
mov dword [esi + 0x3c], eax
call fcn.10008160
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
mov edi, eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x44], edi
movsx ebx, byte [ebp + 0x18]
mov edi, dword [ebp + 0x14]
movsd xmm0, qword [eax]
movsd qword [esi + 0x78], xmm0
movsd xmm0, qword [esi + 0x78]
mov eax, esp
movsd qword [eax + 4], xmm0
and ecx, 1
mov dword [eax + 0x1c], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x18], edx
mov edx, dword [esi + 0x60]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x6c]
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov dword [eax], edx
call fcn.100917d0
sub esp, 0x20
jmp 0x100852d0
mov eax, dword [0x10288ff4]
and eax, dword [0x10288ff8]
xor eax, 0xbd4b8843
mov edx, eax
and edx, 0x52c277ad
xor eax, 0x52c277ad
or edx, eax
mov ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xe14b35f9
and edx, 0x1eb4ca06
or eax, edx
xor eax, 0xa7bbdb9f
or ecx, 0xb90f1199
xor ecx, 0xffffffff
or eax, ecx
mov dword [esi + 0x24], eax
lea ecx, [esi + 0xb4]
call fcn.10006100
mov eax, dword [esi + 0x24]
cmp eax, 0x6972de31
je 0x10085389
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0xe0]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
jmp 0x10084f59
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], eax
jmp 0x10084fbb
jmp 0x10085050
movsd xmm0, qword [esi + 0xd0]
movsd qword [esp], xmm0
call fcn.10094c70
and al, 1
mov byte [esi + 0x8b], al
jmp 0x10085179
lea ecx, [esi + 0xb4]
call fcn.10006100
jmp 0x100852d0