Function at 0x1000f3b0
Capabilities:
Access peb ldr_data
Check os version
Get number of processors
Get process filename
Identify system language via api
Parse pe header
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x320
rdtscp
xor ecx, ecx
mov esi, 0x989680
cmp esi, eax
sbb ecx, edx
mov eax, 0xbbae388
jb 0x1000f3e5
rdtscp
push edx
push eax
push 0
push 0x989680
call fcn.100227e0
mov dword [esp + 0x24], eax
rdtscp
mov ecx, 0x3e7f
mul ecx
push 0
push 0x5f
push edx
push eax
call fcn.10022850
mov dword [esp + 0xdc], eax
lea edi, [eax + 3]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount64]
call ebx
mov dword [esp + 0x30], eax
mov esi, edx
call ebx
mov ebx, eax
mov ecx, dword [esp + 0x24]
lea eax, [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], edi
cmp ecx, edi
jle 0x1000f51e
mov ebx, ecx
mov esi, dword [esp + 0x2c]
jmp 0x1000f443
add esi, 0xffffffff
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
call edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], edx
call edi
movzx ecx, word [esi]
cmp ecx, 0x5a4d
jne 0x1000f440
mov edi, dword [esi + 0x3c]
lea ecx, [edi - 0x40]
cmp ecx, 0x3bf
ja 0x1000f440
cmp dword [esi + edi], 0x4550
jne 0x1000f440
push 0
push 0x2710
push dword [esp + 0x18]
push dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], edx
call fcn.100227e0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x2e8], xmm1
fild qword [esp + 0x2e8]
fstp qword [esp + 0x2e0]
pxor xmm0, xmm0
mulsd xmm0, qword [esp + 0x2e0]
movsd qword [esp + 0x30], xmm0
push 0
push 0x2710
push dword [esp + 0x58]
push dword [esp + 0x1c]
call fcn.100227e0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x2d8], xmm1
fild qword [esp + 0x2d8]
fstp qword [esp + 0x2d0]
movsd xmm0, qword [esp + 0x2d0]
mulsd xmm0, qword [0x1004b000]
addsd xmm0, qword [esp + 0x30]
add edi, esi
jmp 0x1000f5e2
push 0
push 0x2710
push esi
push dword [esp + 0x3c]
mov esi, edx
call fcn.100227e0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x310], xmm1
fild qword [esp + 0x310]
fstp qword [esp + 0x308]
pxor xmm0, xmm0
mulsd xmm0, qword [esp + 0x308]
movsd qword [esp + 0x30], xmm0
push 0
push 0x2710
push esi
push ebx
call fcn.100227e0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x300], xmm1
fild qword [esp + 0x300]
fstp qword [esp + 0x2f8]
movsd xmm0, qword [esp + 0x2f8]
mulsd xmm0, qword [0x1004b000]
addsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x10], xmm0
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
push 0x4c
call fcn.1000efa0
movsd xmm0, qword [esp + 0x14]
add esp, 4
fstp qword [esp + 0x2f0]
cvttsd2si ebx, qword [esp + 0x2f0]
add bl, 0x98
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x68], edi
mov dword [esp + 0x2c], esi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1000fe9f
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
xor edx, edx
movsd qword [esp + 0x10], xmm0
jmp 0x1000f63a
mov eax, dword [eax]
test eax, eax
je 0x1001133b
mov ecx, dword [eax + 0x28]
movzx esi, word [eax + 0x24]
test si, si
je 0x1000fe3f
mov dword [esp + 0x94], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], esi
lea eax, [esi - 1]
movzx eax, ax
mov dword [esp + 0x20], eax
xor esi, esi
mov dword [esp + 0xc], ecx
jmp 0x1000f691
cmp edx, dword [esp + 0x1c]
jle 0x1001010a
add esi, eax
add ecx, 1
mov eax, dword [esp + 0x48]
add ax, 0xffff
mov dword [esp + 0x48], eax
je 0x1000f7a0
mov dword [esp + 0x50], ecx
rdtscp
mov dword [esp + 0x30], 0x7c73ce
mov ecx, 0x989680
cmp ecx, eax
mov eax, 0
sbb eax, edx
jb 0x1000f6c5
rdtscp
push edx
push eax
push 0
push 0x989680
call fcn.100227e0
mov dword [esp + 0x30], eax
rdtscp
mov ecx, 0x2179
mul ecx
push 0
push 0x5f
push edx
push eax
call fcn.10022850
add eax, 3
cmp dword [esp + 0x30], eax
jle 0x1000f6f0
rol esi, 0x13
mov eax, esi
jmp 0x1000f774
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movss xmm0, dword [0x1004b018]
nop
movss dword [esp + 0x120], xmm0
fld dword [esp + 0x120]
fnstcw word [esp + 0x8a]
movzx eax, word [esp + 0x8a]
or eax, 0xc00
mov word [esp + 0xbe], ax
fldcw word [esp + 0xbe]
fistp qword [esp + 0x120]
fldcw word [esp + 0x8a]
push dword [esp + 0x124]
push dword [esp + 0x124]
call fcn.1000f2d0
add esp, 8
fstp dword [esp + 0x17c]
movss xmm0, dword [esp + 0x17c]
ucomiss xmm0, dword [0x1004b01c]
jne 0x1000f700
jp 0x1000f700
xor eax, eax
mov edx, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x10]
mov ecx, dword [esp + 0x50]
movzx esi, byte [ecx]
cmp esi, 0x60
jbe 0x1000f670
cmp edx, dword [esp + 0x1c]
jle 0x100101c2
add esi, 0xffffffe0
jmp 0x1000f67a
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
add eax, ecx
add eax, 1
mov dword [esp + 0xc], eax
cmp esi, 0x6a4abc5b
jne 0x1000fe30
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + 0x3c]
mov esi, dword [eax + ecx + 0x78]
mov eax, dword [esi + ecx + 0x24]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, esi
mov dword [esp + 0x144], esi
mov eax, dword [esi + ecx + 0x20]
mov dword [esp + 0x28], ecx
add eax, ecx
mov dword [esp + 0x48], eax
mov si, 3
jmp 0x1000f813
add dword [esp + 0x48], 4
add dword [esp + 0x20], 2
test si, si
je 0x1000fe30
cmp edx, dword [esp + 0x1c]
jle 0x1000f860
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov edx, dword [esp + 0x28]
mov cl, byte [eax + edx]
add eax, edx
add eax, 1
xor edi, edi
nop dword [eax]
mov edx, edi
rol edx, 0x13
movsx edi, cl
add edi, edx
movzx ecx, byte [eax]
add eax, 1
test cl, cl
jne 0x1000f830
mov edx, dword [esp + 0x24]
cmp edi, 0x91afca54
jne 0x1000f9ad
jmp 0x1000f9c1
cmp bl, 0x20
jg 0x1000f920
call dword [sym.imp.KERNEL32.dll_IsSystemResumeAutomatic]
push 0x60
call fcn.1000efa0
add esp, 4
fstp qword [esp + 0x138]
fld qword [esp + 0x138]
fnstcw word [esp + 0x86]
movzx eax, word [esp + 0x86]
or eax, 0xc00
mov word [esp + 0xba], ax
fldcw word [esp + 0xba]
fistp qword [esp + 0x138]
fldcw word [esp + 0x86]
movsd xmm0, qword [esp + 0x138]
movaps xmmword [esp + 0x30], xmm0
push 0
push 0xd4
call fcn.1000ec80
add esp, 8
movsx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movaps xmm1, xmmword [esp + 0x30]
movlps qword [esp + 0x2b0], xmm1
fild qword [esp + 0x2b0]
fstp dword [esp + 0x170]
movss xmm1, dword [esp + 0x170]
divss xmm1, xmm0
cvtss2sd xmm1, xmm1
movsd xmm0, qword [0x1004b028]
subsd xmm0, xmm1
jmp 0x1000f997
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push 0x42c00000
call fcn.1000f160
add esp, 4
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x2c8], xmm1
fild qword [esp + 0x2c8]
fstp dword [esp + 0x174]
movss xmm0, dword [esp + 0x174]
addss xmm0, dword [0x1004b024]
movq qword [esp + 0x2c0], xmm1
fild qword [esp + 0x2c0]
fstp qword [esp + 0x2b8]
movsd xmm1, qword [0x1004afd8]
subsd xmm1, qword [esp + 0x2b8]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si ebx, xmm0
mov edx, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x10]
cmp edi, 0x91afca54
je 0x1000f9c1
cmp edi, 0x7c0dfcaa
je 0x1000f9c1
cmp edi, 0xec0e4e8e
jne 0x1000fdc3
cmp edx, dword [esp + 0x1c]
jne 0x1000fab0
mov dword [esp + 0x148], edi
mov dword [esp + 0x9c], esi
mov al, 0x19
mov edx, 0x2e
mov bl, 0x2e
nop word cs:[eax + eax]
nop dword [eax]
add bl, al
push edx
mov edi, eax
call fcn.1000efa0
add esp, 4
fstp qword [esp + 0x130]
fld qword [esp + 0x130]
fnstcw word [esp + 0x84]
movzx eax, word [esp + 0x84]
or eax, 0xc00
mov word [esp + 0xb8], ax
fldcw word [esp + 0xb8]
fistp qword [esp + 0x130]
fldcw word [esp + 0x84]
mov esi, dword [esp + 0x130]
mov eax, edi
movsx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
sub esp, 4
movss dword [esp], xmm0
call fcn.1000f160
mov edx, esi
add esp, 4
movzx ecx, bl
imul ecx, esi
add ecx, eax
shl ecx, 0x18
mov ebx, edx
cmp ecx, 0x27000000
jg 0x1000f9f0
cmp ecx, 0x2000001
jl 0x1000fb19
call dword [sym.imp.USER32.dll_GetCapture]
push 0x42600000
call fcn.1000f160
add esp, 4
mov ecx, eax
imul ebx, eax, 0x38
mov eax, 0x1458
xor edx, edx
idiv ebx
add eax, ecx
jmp 0x1000fb7f
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x144]
mov eax, dword [ecx + eax + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x20]
movzx ecx, word [ecx]
lea eax, [eax + ecx*4]
mov dword [esp + 0x98], eax
cmp edi, 0x7c0dfcaa
je 0x1000fd8e
cmp edi, 0xec0e4e8e
je 0x1000fda4
cmp edi, 0x91afca54
jne 0x1000fdc0
cmp edx, dword [esp + 0x1c]
jle 0x1000fdc0
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
add eax, dword [esp + 0x28]
mov dword [esp + 0x94], eax
jmp 0x1000fdc0
call dword [sym.imp.KERNEL32.dll_GetErrorMode]
push 0x57
call fcn.1000efa0
add esp, 4
fstp qword [esp + 0x110]
fld qword [esp + 0x110]
fnstcw word [esp + 0x82]
movzx eax, word [esp + 0x82]
or eax, 0xc00
mov word [esp + 0xb6], ax
fldcw word [esp + 0xb6]
fistp qword [esp + 0x110]
fldcw word [esp + 0x82]
push 0
push 0x38
push dword [esp + 0x11c]
push dword [esp + 0x11c]
call fcn.10022730
cmp al, 0x6a
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x148]
jg 0x1000fc4d
movsd xmm0, qword [0x1004b038]
movsd xmm1, qword [0x1004b030]
nop word cs:[eax + eax]
nop
subsd xmm0, xmm1
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x108], xmm0
fld qword [esp + 0x108]
fnstcw word [esp + 0x80]
movzx eax, word [esp + 0x80]
or eax, 0xc00
mov word [esp + 0xb4], ax
fldcw word [esp + 0xb4]
subsd xmm0, xmm0
movapd xmmword [esp + 0x50], xmm0
fistp qword [esp + 0x108]
fldcw word [esp + 0x80]
push dword [esp + 0x10c]
push dword [esp + 0x10c]
call fcn.1000ec80
add esp, 8
movsx eax, al
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
cvttpd2dq xmm1, xmmword [esp + 0x50]
cvtdq2pd xmm1, xmm1
movsd xmm2, qword [esp + 0x30]
addsd xmm1, xmm2
addsd xmm1, xmm0
cvttsd2si eax, xmm1
movapd xmm1, xmm2
cmp al, 0x6b
jl 0x1000fbb0
xor ecx, ecx
mov eax, 0x77
movss xmm0, dword [0x1004b040]
movss dword [esp + 0x30], xmm0
nop word cs:[eax + eax]
nop dword [eax]
push ecx
push eax
call fcn.1000e920
add esp, 8
fstp dword [esp + 0x168]
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x100], xmm0
fld dword [esp + 0x100]
fnstcw word [esp + 0x7e]
movzx eax, word [esp + 0x7e]
or eax, 0xc00
mov word [esp + 0xb2], ax
fldcw word [esp + 0xb2]
fistp qword [esp + 0x100]
fldcw word [esp + 0x7e]
push dword [esp + 0x104]
push dword [esp + 0x104]
call fcn.1000ec80
add esp, 8
movsx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss dword [esp + 0x30], xmm0
push eax
call fcn.1000efa0
add esp, 4
fstp qword [esp + 0xd0]
fld qword [esp + 0xd0]
fnstcw word [esp + 0x7c]
movzx eax, word [esp + 0x7c]
or eax, 0xc00
mov word [esp + 0xb0], ax
fldcw word [esp + 0xb0]
fistp qword [esp + 0xd0]
fldcw word [esp + 0x7c]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
movsd xmm0, qword [esp + 0xd0]
movlps qword [esp + 0x2a8], xmm0
fild qword [esp + 0x2a8]
fstp dword [esp + 0x16c]
movss xmm0, dword [esp + 0x16c]
mulss xmm0, dword [esp + 0x30]
addss xmm0, dword [esp + 0x168]
cvttss2si edx, xmm0
cmp dl, 5
jne 0x1000fc70
mov bl, 5
mov edx, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x10]
cmp edi, 0x7c0dfcaa
jne 0x1000fade
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
add eax, dword [esp + 0x28]
mov dword [esp + 0x90], eax
jmp 0x1000fdc0
cmp edx, dword [esp + 0x1c]
jle 0x1000fdc0
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
add eax, dword [esp + 0x28]
mov dword [esp + 0x8c], eax
nop
add esi, 0xffffffff
cmp edx, dword [esp + 0x1c]
jne 0x1000f800
cmp bl, 0x1d
je 0x1000fe0f
cmp bl, 0x43
jl 0x1000f80a
call dword [sym.imp.USER32.dll_GetCursor]
push 0
push 0xb24
call fcn.1000ec80
movsd xmm0, qword [esp + 0x18]
mov edx, dword [esp + 0x2c]
add esp, 8
mul al
movzx eax, al
shl eax, 4
lea ebx, [eax + eax*4]
neg ebx
add bl, 0x24
jmp 0x1000f80a
push 0x42880000
call fcn.1000f160
movsd xmm0, qword [esp + 0x14]
mov edx, dword [esp + 0x28]
add esp, 4
mov bl, 0xff
jmp 0x1000f80a
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x94]
test edx, edx
je 0x1000f630
cmp dword [esp + 0x90], 0
je 0x1000f630
cmp dword [esp + 0x8c], 0
je 0x1000f630
mov dword [esp + 0xc], ecx
mov dword [esp + 0x44], eax
push 0x91afca54
push 0x6a4abc5b
call fcn.100113d0
add esp, 8
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx + 0x50]
add ecx, 0xc
push 0x40
push 0x3000
push ecx
push 0
call eax
movsd xmm0, qword [esp + 0x10]
mov dword [esp + 0x28], eax
jmp 0x1000fec1
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mulsd xmm0, qword [0x1004b008]
divsd xmm0, qword [0x1004b010]
movsd xmm3, qword [0x1004b048]
mov esi, 0xbf21e9a
movsd xmm2, qword [0x1004b050]
movsd xmm1, qword [0x1004b008]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
nop word cs:[eax + eax]
nop
movsd qword [esp + 0x30], xmm3
movsd qword [esp + 0x10], xmm0
addsd xmm3, xmm2
mulsd xmm3, xmm1
addsd xmm3, qword [0x1004b0c8]
movsd qword [esp + 0x50], xmm3
call edi
push 0
push 0x2710
push edx
push eax
call fcn.100227e0
movsd xmm3, qword [0x1004b058]
movsd xmm2, qword [0x1004b050]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movsd xmm0, qword [esp + 0x10]
movq qword [esp + 0x2a0], xmm1
movsd xmm1, qword [0x1004b008]
fild qword [esp + 0x2a0]
fstp qword [esp + 0x298]
movsd xmm4, qword [esp + 0x50]
mulsd xmm4, qword [esp + 0x298]
mulsd xmm4, xmm3
movsd xmm3, qword [esp + 0x30]
addsd xmm0, xmm4
addsd xmm3, qword [0x1004b048]
add esi, 0xffffffff
jne 0x1000ff00
xor ecx, ecx
mov edi, dword [esp + 0x24]
cmp edi, dword [esp + 0x1c]
jle 0x1001020d
lea eax, [edi + edi]
cmp eax, dword [esp + 0x1c]
jge 0x100101f0
cmp bl, 0xe
jg 0x1000ffcf
push 0
push 0x31
call fcn.1000ec80
add esp, 8
mov edi, 0x76
movsd xmm2, qword [0x1004b0b8]
mov esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
nop word cs:[eax + eax]
nop dword [eax]
movsd qword [esp + 0x30], xmm2
call esi
xorps xmm0, xmm0
cvtsi2sd xmm0, edi
movapd xmm1, xmm0
subsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x30], xmm1
addsd xmm0, xmm1
movsd qword [esp + 0xe8], xmm1
fld qword [esp + 0xe8]
fnstcw word [esp + 0x7a]
movzx eax, word [esp + 0x7a]
or eax, 0xc00
mov word [esp + 0xae], ax
fldcw word [esp + 0xae]
cvttsd2si ebx, xmm0
fistp qword [esp + 0xe8]
fldcw word [esp + 0x7a]
push dword [esp + 0xec]
push dword [esp + 0xec]
call fcn.1000e920
add esp, 8
fstp dword [esp + 0x14c]
movss xmm0, dword [esp + 0x14c]
cvttss2si edi, xmm0
movsx eax, bl
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
movsd xmm2, qword [esp + 0x30]
addsd xmm1, xmm2
cvttps2dq xmm0, xmm0
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
cvttsd2si eax, xmm1
cmp al, 0x51
je 0x1000fff0
movss xmm0, dword [0x1004b0c0]
nop dword [eax]
movss dword [esp + 0xe0], xmm0
fld dword [esp + 0xe0]
fnstcw word [esp + 0x78]
movzx eax, word [esp + 0x78]
or eax, 0xc00
mov word [esp + 0xac], ax
fldcw word [esp + 0xac]
fistp qword [esp + 0xe0]
fldcw word [esp + 0x78]
push dword [esp + 0xe4]
push dword [esp + 0xe4]
call fcn.1000ec80
add esp, 8
movsx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
jmp 0x100100b0
mov esi, dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
mov edi, dword [sym.imp.KERNEL32.dll_GetErrorMode]
nop word cs:[eax + eax]
cmp bl, 0x79
je 0x1001012b
test bl, bl
js 0x10010120
jmp 0x1001012d
call edi
movss xmm0, dword [0x1004b020]
nop word cs:[eax + eax]
nop
movss dword [esp + 0x30], xmm0
call esi
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x118], xmm0
fld dword [esp + 0x118]
fnstcw word [esp + 0x88]
movzx eax, word [esp + 0x88]
or eax, 0xc00
mov word [esp + 0xbc], ax
fldcw word [esp + 0xbc]
fistp qword [esp + 0x118]
fldcw word [esp + 0x88]
push dword [esp + 0x11c]
push dword [esp + 0x11c]
call fcn.1000e920
add esp, 8
fstp dword [esp + 0x178]
movss xmm0, dword [esp + 0x178]
cvttss2si ebx, xmm0
test bl, bl
jns 0x10010140
jmp 0x10010120
mov esi, dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
cmp bl, 0x66
jle 0x100101e5
nop dword [eax]
push 0
push 0
call fcn.1000e920
fstp st(0)
add esp, 8
mov bl, 0x14
cmp bl, 0x66
jg 0x100101d0
call esi
mov bl, 2
cmp bl, 0x66
jle 0x100101e5
jmp 0x100101d0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ecx + eax + 0x54]
mov dword [esp + 0x44], edx
add ecx, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x44]
test esi, esi
je 0x100102d0
mov eax, ecx
nop dword [eax + eax]
mov dword [esp + 0x30], eax
movsd qword [esp + 0x10], xmm0
cmp edi, dword [esp + 0xdc]
cmovl edi, dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push 0
push 0x2710
push edx
push eax
call fcn.100227e0
movd xmm0, edx
mov edx, dword [esp + 0xc]
lea ecx, [edx + 1]
mov dword [esp + 0x50], ecx
movd xmm1, eax
mov ecx, dword [esp + 0x30]
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
punpckldq xmm1, xmm0
movq qword [esp + 0x290], xmm1
fild qword [esp + 0x290]
fstp qword [esp + 0x288]
movsd xmm0, qword [esp + 0x288]
mulsd xmm0, qword [0x1004b060]
mulsd xmm0, qword [0x1004b058]
movsd xmm1, qword [esp + 0x10]
addsd xmm1, xmm0
movsd qword [esp + 0x10], xmm1
movsd xmm0, qword [esp + 0x10]
movzx eax, byte [edx]
mov edx, dword [esp + 0x50]
mov byte [ecx], al
mov ecx, dword [esp + 0x20]
mov eax, ecx
mov dword [esp + 0xc], edx
add esi, 0xffffffff
jne 0x10010220
jmp 0x100102d4
mov edx, dword [esp + 0xc]
mov dword [esp + 0x50], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
movsd xmm2, qword [0x1004b048]
mov esi, 0xbf21e99
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
nop word cs:[eax + eax]
nop dword [eax]
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x10], xmm0
mulsd xmm2, qword [0x1004b008]
addsd xmm2, qword [0x1004b0c8]
movsd qword [esp + 0x48], xmm2
call edi
push 0
push 0x2710
push edx
push eax
call fcn.100227e0
movsd xmm2, qword [0x1004b068]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movsd xmm0, qword [esp + 0x10]
movq qword [esp + 0x280], xmm1
fild qword [esp + 0x280]
fstp qword [esp + 0x278]
movsd xmm1, qword [esp + 0x48]
mulsd xmm1, qword [esp + 0x278]
mulsd xmm1, xmm2
movsd xmm2, qword [esp + 0x30]
addsd xmm0, xmm1
addsd xmm2, qword [0x1004b048]
add esi, 0xffffffff
jne 0x10010300
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x24], eax
jge 0x1001056f
movsd qword [esp + 0x10], xmm0
test bl, bl
jns 0x100103c9
call dword [sym.imp.USER32.dll_DestroyCaret]
push 0
push 0x13
call fcn.1000ec80
add esp, 8
movzx eax, al
lea eax, [eax + eax*2]
test al, al
js 0x1001045e
movsd xmm2, qword [0x1004b078]
movsd xmm0, qword [0x1004b080]
nop dword [eax]
movsd qword [esp + 0xf8], xmm0
fld qword [esp + 0xf8]
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
or eax, 0xc00
mov word [esp + 0xaa], ax
fldcw word [esp + 0xaa]
mulsd xmm2, xmm0
movsd qword [esp + 0x30], xmm2
fistp qword [esp + 0xf8]
fldcw word [esp + 0x76]
push dword [esp + 0xfc]
push dword [esp + 0xfc]
call fcn.1000e920
movsd xmm2, qword [esp + 0x38]
add esp, 8
fstp qword [esp + 0x250]
movsd xmm0, qword [esp + 0x250]
movapd xmm1, xmm2
divsd xmm1, xmm0
cvttsd2si eax, xmm1
test al, al
jns 0x100103e0
xor esi, esi
mov edi, 9
movsd xmm0, qword [0x1004b088]
nop dword [eax]
cvtsd2ss xmm0, xmm0
sub esp, 4
movss dword [esp], xmm0
call fcn.1000f160
add esp, 4
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x248], xmm1
fild qword [esp + 0x248]
fstp qword [esp + 0x240]
movsd xmm0, qword [esp + 0x240]
movd xmm1, edi
movd xmm2, esi
punpckldq xmm1, xmm2
movq qword [esp + 0x238], xmm1
fild qword [esp + 0x238]
fstp qword [esp + 0x230]
movapd xmm1, xmm0
subsd xmm1, qword [esp + 0x230]
movsd qword [esp + 0xc8], xmm1
fld qword [esp + 0xc8]
fnstcw word [esp + 0x74]
movzx eax, word [esp + 0x74]
or eax, 0xc00
mov word [esp + 0xa8], ax
fldcw word [esp + 0xa8]
fistp qword [esp + 0xc8]
fldcw word [esp + 0x74]
mov edi, dword [esp + 0xc8]
mov esi, dword [esp + 0xcc]
movsd xmm1, qword [esp + 0xc8]
movlps qword [esp + 0x228], xmm1
fild qword [esp + 0x228]
fstp qword [esp + 0x220]
movapd xmm1, xmm0
divsd xmm1, qword [esp + 0x220]
cvttsd2si ebx, xmm1
cmp bl, 1
je 0x10010470
mov esi, 0xffffffff
movsd xmm0, qword [esp + 0x10]
jmp 0x100106fa
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
call edi
push 0
push 0x2710
push edx
push eax
call fcn.100227e0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x270], xmm1
fild qword [esp + 0x270]
fstp qword [esp + 0x268]
pxor xmm0, xmm0
mulsd xmm0, qword [esp + 0x268]
movsd qword [esp + 0x30], xmm0
call edi
push 0
push 0x2710
push edx
push eax
call fcn.100227e0
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x260], xmm1
fild qword [esp + 0x260]
fstp qword [esp + 0x258]
movsd xmm0, qword [esp + 0x258]
mulsd xmm0, qword [0x1004b000]
addsd xmm0, qword [esp + 0x30]
mulsd xmm0, qword [0x1004b008]
divsd xmm0, qword [0x1004b070]
mov ecx, dword [esp + 0x68]
movzx eax, word [ecx + 0x14]
lea esi, [ecx + eax]
add esi, 0x18
movzx edx, word [ecx + 6]
test edx, edx
je 0x100106fa
mov edi, dword [esp + 0x28]
jmp 0x1001064f
mov esi, dword [esp + 0xc]
add esi, 0x28
test edx, edx
je 0x100106f2
add edx, 0xffffffff
mov eax, dword [esi + 0xc]
add eax, edi
mov ecx, dword [esi + 0x14]
add ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], esi
mov esi, dword [esi + 0x10]
test esi, esi
je 0x10010640
mov dword [esp + 0x10], edx
lea edx, [esi - 1]
mov dword [esp + 0x48], edx
mov edx, esi
and edx, 3
mov dword [esp + 0x30], edx
je 0x100106b2
xor edi, edi
mov dword [esp + 0x50], eax
nop word cs:[eax + eax]
nop
movzx eax, byte [ecx + edi]
mov edx, dword [esp + 0x50]
mov byte [edx + edi], al
add edi, 1
cmp dword [esp + 0x30], edi
jne 0x10010690
sub esi, edi
add ecx, edi
mov eax, dword [esp + 0x50]
add eax, edi
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 3
jb 0x10010640
nop dword [eax]
mov edx, ecx
movzx ecx, byte [ecx]
mov byte [eax], cl
movzx ecx, byte [edx + 1]
mov byte [eax + 1], cl
movzx ecx, byte [edx + 2]
mov byte [eax + 2], cl
movzx ecx, byte [edx + 3]
add edx, 4
mov byte [eax + 3], cl
mov ecx, edx
add eax, 4
add esi, 0xfffffffc
jne 0x100106c0
mov edx, dword [esp + 0x10]
jmp 0x10010640
mov dword [esp + 0x50], eax
mov dword [esp + 0x20], ecx
movsd xmm2, qword [0x1004b048]
mov edi, 0xbf21e9a
nop word [eax + eax]
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x10], xmm0
addsd xmm2, qword [0x1004b050]
mulsd xmm2, qword [0x1004b008]
addsd xmm2, qword [0x1004b0c8]
movsd qword [esp + 0x48], xmm2
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push 0
push 0x2710
push edx
push eax
call fcn.100227e0
movsd xmm2, qword [esp + 0x30]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movsd xmm0, qword [esp + 0x10]
movq qword [esp + 0x218], xmm1
fild qword [esp + 0x218]
fstp qword [esp + 0x210]
movsd xmm1, qword [esp + 0x48]
mulsd xmm1, qword [esp + 0x210]
mulsd xmm1, qword [0x1004b058]
addsd xmm0, xmm1
addsd xmm2, qword [0x1004b048]
add edi, 0xffffffff
jne 0x10010710
mov eax, dword [esp + 0x24]
add eax, eax
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x9c], eax
cmp eax, edx
movsd qword [esp + 0x10], xmm0
mov dword [esp + 0xc], esi
jge 0x100107d5
cmp bl, 0x53
jne 0x100107f0
call dword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
jmp 0x100107f5
mov eax, dword [esp + 0x68]
lea esi, [eax + 0x80]
mov ecx, dword [eax + 0x80]
mov edi, dword [esp + 0x28]
add ecx, edi
jmp 0x100108e8
cmp bl, 0x23
jg 0x10010807
mov esi, dword [sym.imp.KERNEL32.dll_SwitchToThread]
call esi
call esi
call esi
call esi
call esi
call esi
mov edi, 7
mov ebx, 0x67
nop word cs:[eax + eax]
nop dword [eax + eax]
call dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
add edi, edi
push ebx
call fcn.1000efa0
add esp, 4
fstp qword [esp + 0x208]
cvttsd2si ebx, qword [esp + 0x208]
mov eax, edi
sar eax, 0x1f
push eax
push edi
call fcn.1000ec80
add esp, 8
mov ecx, eax
mov eax, edi
cdq
idiv ebx
add al, cl
cmp al, 0x22
jg 0x10010820
cmp al, 0xa
jg 0x100108d4
call dword [sym.imp.USER32.dll_IsWow64Message]
push 0x40000000
call fcn.1000f160
add esp, 4
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x200], xmm1
fild qword [esp + 0x200]
fstp dword [esp + 0x164]
movss xmm0, dword [esp + 0x164]
movss xmm1, dword [0x1004b090]
addss xmm1, xmm0
movss xmm2, dword [0x1004b094]
subss xmm2, xmm0
cvttss2si eax, xmm2
movsx eax, al
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
divss xmm0, xmm1
mulss xmm2, xmm0
cvttss2si ebx, xmm2
jmp 0x100108d6
xor ebx, ebx
mov edi, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x50]
mov eax, dword [ecx + 0xc]
test eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x50], esi
je 0x10010cdb
cmp dword [esi], 0
je 0x10010cdb
nop word cs:[eax + eax]
nop
add eax, edi
push eax
call dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 0x10]
mov eax, edi
mov edi, dword [esi + edi]
add esi, eax
test edi, edi
je 0x10010ca0
mov edx, dword [ecx]
add edx, eax
mov dword [esp + 0x48], esi
mov ecx, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x10]
jmp 0x1001099a
mov ecx, dword [esp + 0x28]
lea eax, [edi + ecx]
add eax, 2
add edi, ecx
push eax
push dword [esp + 0x30]
call dword [esp + 0x98]
movsd xmm0, qword [esp + 0x10]
mov dword [esi], eax
mov dword [esp + 0x50], edi
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x48]
lea esi, [ecx + 4]
lea eax, [edx + 4]
test edx, edx
cmovne edx, eax
mov edi, dword [ecx + 4]
mov dword [esp + 0x48], esi
test edi, edi
mov ecx, dword [esp + 0x24]
je 0x10010caa
test edx, edx
mov dword [esp + 0xc], edx
je 0x100109ac
mov eax, dword [edx]
test eax, eax
js 0x10010b60
mov eax, dword [esp + 0x9c]
cmp eax, dword [esp + 0x1c]
jge 0x10010950
cmp bl, 0x65
mov esi, dword [sym.imp.USER32.dll_SetProcessDPIAware]
jl 0x10010a23
mov ebx, 7
nop dword [eax]
call esi
add ebx, ebx
push ebx
call fcn.1000efa0
add esp, 4
fstp qword [esp + 0x128]
fld qword [esp + 0x128]
fnstcw word [esp + 0x72]
movzx eax, word [esp + 0x72]
or eax, 0xc00
mov word [esp + 0xa6], ax
fldcw word [esp + 0xa6]
fistp qword [esp + 0x128]
fldcw word [esp + 0x72]
mov eax, dword [esp + 0x128]
sub ebx, eax
cmp bl, 0x64
mov ebx, eax
jg 0x100109d0
push 0
push 0x34
call fcn.1000ec80
add esp, 8
mov ebx, eax
push 0x18
call fcn.1000efa0
add esp, 4
movsx eax, bl
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
fstp dword [esp + 0x15c]
divss xmm0, dword [esp + 0x15c]
addss xmm0, dword [0x1004b098]
cvttss2si ebx, xmm0
cmp bl, 0x35
jl 0x10010c90
xor esi, esi
mov edi, 0x12
movss xmm3, dword [0x1004b09c]
nop dword [eax]
movss dword [esp + 0x30], xmm3
call dword [sym.imp.ole32.dll_CoFreeUnusedLibraries]
movss xmm3, dword [esp + 0x30]
movd xmm0, edi
movd xmm1, esi
punpckldq xmm0, xmm1
movq qword [esp + 0x1f0], xmm0
fild qword [esp + 0x1f0]
fstp dword [esp + 0x158]
mulss xmm3, dword [esp + 0x158]
movss xmm2, dword [0x1004b0a0]
movaps xmm0, xmm2
divss xmm0, xmm3
movss dword [esp + 0xc0], xmm0
fld dword [esp + 0xc0]
fnstcw word [esp + 0x70]
movzx eax, word [esp + 0x70]
or eax, 0xc00
mov word [esp + 0xa4], ax
fldcw word [esp + 0xa4]
fistp qword [esp + 0xc0]
fldcw word [esp + 0x70]
mov edi, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
movsd xmm0, qword [esp + 0xc0]
movaps xmm1, xmm3
addss xmm1, xmm2
movlps qword [esp + 0x1e8], xmm0
fild qword [esp + 0x1e8]
fstp dword [esp + 0x154]
addss xmm1, dword [esp + 0x154]
cvttss2si ebx, xmm1
cmp bl, 0x34
jg 0x10010a80
jmp 0x10010c90
cmp ecx, dword [esp + 0x1c]
jle 0x10010b8a
mov edi, dword [esp + 0x2c]
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
mov edx, dword [ecx + edi + 0x1c]
movzx eax, ax
sub eax, dword [ecx + edi + 0x10]
add edx, edi
mov eax, dword [edx + eax*4]
add eax, edi
mov dword [esi], eax
jmp 0x10010974
cmp bl, 0x44
jg 0x10010be0
push 0
push 0x56
call fcn.1000e920
add esp, 8
fstp dword [esp + 0x160]
cvttss2si ebx, dword [esp + 0x160]
push 0x54
call fcn.1000efa0
add esp, 4
fstp qword [esp + 0x1f8]
cvttsd2si eax, qword [esp + 0x1f8]
add al, bl
add al, 1
cmp al, 0x28
jg 0x10010be0
call dword [sym.imp.USER32.dll_SetProcessDPIAware]
push 0x42be0000
call fcn.1000f160
add esp, 4
mov esi, dword [sym.imp.USER32.dll_CountClipboardFormats]
call esi
call esi
call esi
xor edi, edi
mov esi, 0x27
mov al, 0xa
nop word cs:[eax + eax]
nop
movsx ebx, al
mov eax, ebx
sar eax, 0x1f
push edi
push esi
push eax
push ebx
call fcn.10022730
mov esi, eax
mov edi, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
sub esp, 4
movss dword [esp], xmm0
call fcn.1000f160
add esp, 4
mov ecx, eax
add ecx, esi
cmp cl, 0x56
jl 0x10010c00
cmp cl, 0x61
jne 0x10010c69
call dword [sym.imp.USER32.dll_GetKBCodePage]
push 0x42d80000
call fcn.1000f160
add esp, 4
movsx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
sub esp, 4
movss dword [esp], xmm0
call fcn.1000f160
add esp, 4
jmp 0x10010c90
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
push 0x3f800000
call fcn.1000f160
add esp, 4
mov ebx, eax
add bl, 0xdd
nop word cs:[eax + eax]
nop dword [eax + eax]
movsd xmm0, qword [esp + 0x10]
jmp 0x10010974
mov ecx, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x10]
cmp ecx, dword [esp + 0x1c]
jle 0x10010e50
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x20]
add ecx, 0x14
test eax, eax
mov dword [esp + 0x20], ecx
je 0x10010cdb
mov ecx, dword [esp + 0x50]
cmp dword [ecx], 0
mov edi, dword [esp + 0x28]
jne 0x10010910
movsd xmm2, qword [0x1004b048]
mov edi, 0xbf21e99
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
nop
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x10], xmm0
mulsd xmm2, qword [0x1004b008]
addsd xmm2, qword [0x1004b0c8]
movsd qword [esp + 0x48], xmm2
call esi
push 0
push 0x2710
push edx
push eax
call fcn.100227e0
movsd xmm2, qword [esp + 0x30]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movsd xmm0, qword [esp + 0x10]
movq qword [esp + 0x1e0], xmm1
fild qword [esp + 0x1e0]
fstp qword [esp + 0x1d8]
movsd xmm1, qword [esp + 0x48]
mulsd xmm1, qword [esp + 0x1d8]
mulsd xmm1, qword [0x1004b068]
addsd xmm0, xmm1
addsd xmm2, qword [0x1004b048]
add edi, 0xffffffff
jne 0x10010cf0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x50]
jle 0x10010da8
mov ecx, edi
mov edx, dword [esp + 0x68]
sub ecx, dword [edx + 0x34]
mov dword [esp + 0x2c], ecx
lea esi, [edx + 0xa0]
mov ecx, dword [esp + 0x1c]
cmp dword [esi + 4], 0
je 0x10010eb0
cmp eax, ecx
movsd qword [esp + 0x10], xmm0
jne 0x10010eb9
cmp bl, 0x49
jne 0x10010ec2
push 0
push 0x50
call fcn.1000ec80
add esp, 8
mov ebx, eax
push 0
push 0x4b
call fcn.1000e920
add esp, 8
fst qword [esp + 0x1d0]
sub esp, 4
fstp dword [esp]
call fcn.1000f160
add esp, 4
movsx ecx, bl
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
movsx eax, al
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
mulsd xmm1, qword [esp + 0x1d0]
subsd xmm0, xmm1
cvttsd2si eax, xmm0
cmp al, 0x44
jl 0x10010ec8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0x43660000
call fcn.1000f160
add esp, 4
cmp al, 0x85
jne 0x10010ec8
jmp 0x10010eec
cmp bl, 9
jg 0x10010e99
mov al, 0x72
movss xmm1, dword [0x1004b0a4]
nop
movss dword [esp + 0x30], xmm1
movsx eax, al
mov ecx, eax
sar ecx, 0x1f
push ecx
push eax
call fcn.1000ec80
movss xmm1, dword [esp + 0x38]
add esp, 8
movsx ecx, al
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
addss xmm1, xmm0
addss xmm0, xmm1
cvttss2si ebx, xmm0
cmp bl, 0xa
jl 0x10010e60
cmp bl, 0x5d
mov bl, 0x5d
je 0x10010e50
push 0x15
call fcn.1000efa0
fstp st(0)
add esp, 4
xor ebx, ebx
jmp 0x10010e50
mov esi, dword [esp + 0xc]
jmp 0x100111ab
mov ecx, dword [esi]
add ecx, edi
jmp 0x1001108d
call dword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
call dword [sym.imp.USER32.dll_CloseClipboard]
push 0x39
call fcn.1000efa0
add esp, 4
fstp qword [esp + 0x1c8]
cvttsd2si eax, qword [esp + 0x1c8]
cmp al, 4
jl 0x10010ef6
mov esi, dword [sym.imp.ole32.dll_OleUninitialize]
call esi
call esi
call dword [sym.imp.USER32.dll_AnyPopup]
push 0x422c0000
call fcn.1000f160
add esp, 4
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x30], xmm1
movq qword [esp + 0x1c0], xmm1
fild qword [esp + 0x1c0]
fstp dword [esp + 0x150]
movss xmm0, dword [esp + 0x150]
sub esp, 4
movss dword [esp], xmm0
call fcn.1000f160
add esp, 4
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movaps xmm0, xmmword [esp + 0x30]
movlps qword [esp + 0x1b8], xmm0
fild qword [esp + 0x1b8]
fstp qword [esp + 0x1b0]
movsd xmm0, qword [esp + 0x1b0]
movq qword [esp + 0x1a8], xmm1
fild qword [esp + 0x1a8]
fstp qword [esp + 0x1a0]
mulsd xmm0, qword [esp + 0x1a0]
cvttsd2si ebx, xmm0
cmp bl, 0x47
jg 0x10011083
movsd xmm0, qword [0x1004b0a8]
mov edi, 0x18
mov esi, dword [esp + 0xc]
nop dword [eax]
movsd qword [esp + 0xf0], xmm0
fld qword [esp + 0xf0]
fnstcw word [esp + 0x6e]
movzx eax, word [esp + 0x6e]
or eax, 0xc00
mov word [esp + 0xa2], ax
fldcw word [esp + 0xa2]
fistp qword [esp + 0xf0]
fldcw word [esp + 0x6e]
push dword [esp + 0xf4]
push dword [esp + 0xf4]
call fcn.1000ec80
add esp, 8
movsx eax, al
mov ecx, eax
sar ecx, 0x1f
mov edx, edi
sar edx, 0x1f
sub edi, eax
sbb edx, ecx
movd xmm0, edi
movd xmm1, edx
punpckldq xmm0, xmm1
movq qword [esp + 0x198], xmm0
fild qword [esp + 0x198]
fstp qword [esp + 0x190]
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x190]
addsd xmm1, xmm0
cvttsd2si edi, xmm1
cvttpd2dq xmm2, xmm1
cvtdq2pd xmm2, xmm2
addsd xmm2, xmm1
cvttsd2si ebx, xmm2
cmp bl, 0x48
jl 0x10010fc0
mov edi, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x10]
mov ecx, dword [esp + 0x20]
jmp 0x10011091
movsd xmm0, qword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
je 0x100111ab
lea edx, [ecx + 4]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x2c]
shr edx, 0x10
mov dword [esp + 0x30], edx
jmp 0x100110d0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x50]
add ecx, dword [eax]
lea eax, [ecx + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 4]
test eax, eax
mov edi, dword [esp + 0x28]
je 0x100111ab
mov dword [esp + 0x20], ecx
mov esi, dword [ecx]
add esi, edi
add eax, 0xfffffff8
shr eax, 1
je 0x10011150
mov ecx, dword [esp + 0x20]
add ecx, 8
jmp 0x10011105
and edi, 0xfff
mov edx, dword [esp + 0x2c]
add word [esi + edi], dx
add ecx, 2
test eax, eax
je 0x10011150
add eax, 0xffffffff
movzx edi, word [ecx]
mov edx, edi
shr edx, 0xc
add edx, 0xffffffff
cmp dx, 9
ja case.0x1001111c.3
movzx edx, dx
jmp dword [edx*4 + 0x1004b0d0]
and edi, 0xfff
mov edx, dword [esp + 0x2c]
add dword [esi + edi], edx
jmp case.0x1001111c.3
and edi, 0xfff
mov edx, dword [esp + 0x30]
jmp 0x100110fa
mov eax, ebx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
cmp ecx, edx
mov edi, dword [esp + 0xdc]
jg 0x10011176
jmp 0x100111a2
xor eax, eax
cmp ecx, edx
jl 0x100111a0
cmp ecx, edi
jge 0x100110b0
cmp al, 1
je 0x10011170
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov edx, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x10]
mov ecx, dword [esp + 0x24]
jmp 0x10011170
xor ebx, ebx
mov ecx, dword [esp + 0x20]
jmp 0x100110ba
movsd xmm2, qword [0x1004b048]
mov edi, 0xbf21e99
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount64]
nop
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x10], xmm0
mulsd xmm2, qword [0x1004b008]
addsd xmm2, qword [0x1004b0c8]
movsd qword [esp + 0x50], xmm2
call ebx
push 0
push 0x2710
push edx
push eax
call fcn.100227e0
movsd xmm2, qword [esp + 0x30]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movsd xmm0, qword [esp + 0x10]
movq qword [esp + 0x188], xmm1
fild qword [esp + 0x188]
fstp qword [esp + 0x180]
movsd xmm1, qword [esp + 0x50]
mulsd xmm1, qword [esp + 0x180]
mulsd xmm1, qword [0x1004b068]
addsd xmm0, xmm1
addsd xmm2, qword [0x1004b048]
add edi, 0xffffffff
jne 0x100111c0
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x24], eax
mov edx, dword [esp + 0x28]
jle 0x1001126a
mov eax, dword [esp + 0x68]
mov esi, dword [eax + 0x28]
add esi, edx
mov dword [0x1005e750], edx
movsd qword [esp + 0x10], xmm0
lea ecx, [ebp + 8]
cmp byte [ecx + 4], 0
mov dword [esp + 0xc], esi
je 0x100112c0
push 0
push 1
push dword [ecx + 0x24]
call esi
movsd xmm0, qword [0x1004b0b0]
movsd xmm2, qword [esp + 0x10]
movapd xmm1, xmm2
subsd xmm1, xmm0
cvttsd2si eax, xmm1
xor eax, 0x80000000
cvttsd2si ecx, xmm2
ucomisd xmm2, xmm0
cmovae ecx, eax
mov eax, dword [esp + 0xc]
add eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x34
mov eax, dword [edx + 0x3c]
mov esi, dword [eax + edx + 0x78]
test esi, esi
je 0x10011286
mov eax, dword [esi + edx + 0x1c]
add eax, edx
mov ebx, dword [esi + edx + 0x24]
add ebx, edx
cmp dword [esi + edx + 0x18], 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], ebx
je 0x1001134c
mov eax, dword [ecx + 8]
mov dword [esp + 0x30], eax
mov eax, dword [edx + esi + 0x20]
add eax, edx
mov dword [esp + 0x50], eax
mov ebx, edx
xor edi, edi
mov dword [esp + 0x24], esi
nop
mov eax, dword [esp + 0x50]
mov esi, dword [eax + edi*4]
add esi, ebx
push dword [esp + 0x30]
call fcn.1000e750
add esp, 4
push eax
push dword [esp + 0x34]
push esi
call fcn.1000e8c0
add esp, 0xc
test eax, eax
je 0x1001134e
add edi, 1
add dword [esp + 0x1c], 2
mov esi, dword [esp + 0x24]
cmp edi, dword [ebx + esi + 0x18]
jb 0x10011300
jmp 0x1001134e
mov dword [esp + 0xc], ecx
mov dword [esp + 0x44], 0
jmp 0x1000fec1
mov ebx, edx
mov eax, dword [esp + 0x1c]
movzx eax, word [eax]
test eax, eax
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + eax*4]
cmove eax, ecx
mov edi, dword [eax]
add edi, ebx
lea esi, [ebp + 8]
je 0x10011286
cmp byte [esi + 0x20], 0
je 0x1001139c
mov eax, dword [esi + 0x24]
test eax, eax
je 0x100113a1
mov ecx, dword fs:[0x30]
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx + 0x14]
add edx, 0x14
cmp ecx, edx
je 0x100113ac
cmp dword [ecx + 0x10], eax
je 0x100113a5
mov ecx, dword [ecx]
cmp ecx, edx
jne 0x1001138f
jmp 0x100113ac
mov eax, dword [esi + 0x24]
jmp 0x100113af
xor eax, eax
jmp 0x100113ac
mov edx, dword [esp + 0x28]
mov dword [ecx + 0x10], edx
lea esi, [ebp + 8]
push 0
push 1
push eax
call dword [esp + 0x18]
movupd xmm0, xmmword [esi + 0x10]
sub esp, 0x10
movupd xmmword [esp], xmm0
call edi
jmp 0x100112b6