Function at 0x1000ca52
Capabilities:
Accept command line arguments
Allocate thread local storage
Check for time delay via gettickcount
Check os version
Connect pipe
Delete file
Delete registry value
Get common file path
Get system information on windows
Get thread local storage value
Identify system language via api
Parse pe header
Query environment variable
Query or enumerate registry key
Query service status
Set registry value
Start service
Suspend thread
Terminate process

Disassembly:
mov eax, 0x10083fcc
call fcn.10083008
mov eax, 0x18a4
call fcn.1007f8d0
push ebx
push esi
push edi
mov dword [ebp - 0xf4], ecx
mov ebx, 0x9d29be1d
mov esi, 0x4f2887cf
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], esi
lea ecx, [ebp - 0x714]
push 2
mov byte [ebp - 0x61], dl
call fcn.1000c0a5
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x1000cac3
push dword [ebp - 0x28]
lea ecx, [ebp - 0x714]
call fcn.1000c112
mov dword [eax], 7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x1000caa4
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1000cacf
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1000cad1
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov edi, 0x800f4d4e
add eax, ecx
mov dword [ebp - 0x24], eax
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
xor eax, eax
push 0xffffffffffffffff
pop ecx
cmp dword [ebp - 0x18], eax
jl 0x1000cb6b
jmp 0x1000caf2
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x714]
mov dword [ebp - 0x48], 0x379a1d12
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
push eax
call fcn.1000c112
cmp dword [eax], 0
je 0x1000cb1c
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jne 0x1000cb39
xor eax, eax
lea ecx, [ebp - 0x714]
inc eax
push eax
call fcn.1000c112
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c], 0x15e4
push 0xffffffffffffffff
pop ecx
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x18]
jns 0x1000caf0
or ecx, ecx
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x714]
call fcn.1000c10d
push 2
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x6c0]
pop ebx
mov dword [ebp - 0x24], esi
push ebx
call fcn.1000c0a5
xor eax, eax
inc eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jge 0x1000cbc3
push dword [ebp - 0x28]
lea ecx, [ebp - 0x6c0]
call fcn.1000c112
mov dword [eax], 7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x1000cba5
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1000cbcf
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1000cbd1
mov ecx, eax
mov eax, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp - 0x24], eax
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
jl 0x1000cc61
jmp 0x1000cbea
xor eax, eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x6c0]
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0x379a1d12
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
push eax
call fcn.1000c112
cmp dword [eax], 0
je 0x1000cc17
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jne 0x1000cc34
xor eax, eax
lea ecx, [ebp - 0x6c0]
inc eax
push eax
call fcn.1000c112
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c], 0x15e4
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x18]
jns 0x1000cbe8
or eax, 0xffffffff
lea ecx, [ebp - 0x6c0]
mov dword [ebp - 4], eax
call fcn.1000c10d
movdqa xmm0, xmmword [0x10007f10]
lea eax, [ebp - 0x11f0]
push eax
lea eax, [ebp - 0x1200]
mov dword [ebp - 0x18], 0x8a61928c
mov dword [ebp - 0x40], 0x2a2b3b7b
lea ecx, [ebp - 0x16f0]
push eax
movdqu xmmword [ebp - 0x1200], xmm0
call fcn.1000c124
lea ecx, [ebp - 0x255]
mov esi, eax
call fcn.1000c121
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x7f8]
push dword [esi]
call fcn.1000c0e7
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff1
jne 0x1000ccf7
mov dword [ebp - 0x44], eax
xor edx, edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
push 0
setle dl
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x40], edx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff1
pop eax
je 0x1000ccd5
mov ebx, dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 3
mov dword [ebp - 0x40], eax
pop ecx
cmp dword [ebp - 0x40], ecx
jg 0x1000cddb
xor esi, esi
inc esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
jmp 0x1000cdc4
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], eax
jl 0x1000cdc1
push 8
pop esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x1000cd79
push dword [ebp - 0x40]
lea ecx, [ebp - 0x7f8]
call fcn.1000c112
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x7f8]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x1c]
call fcn.1000c112
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
dec dword [ebp - 0x1c]
jns 0x1000cd40
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
jl 0x1000cdb5
push dword [ebp - 0x40]
lea ecx, [ebp - 0x7f8]
call fcn.1000c112
cmp dword [eax], 0
jne 0x1000cdb0
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000cdab
push eax
call edi
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_DrawFocusRect]
dec dword [ebp - 0x28]
jns 0x1000cd81
push 3
xor eax, eax
pop ecx
dec dword [ebp - 0x3c]
jns 0x1000cd35
xor esi, esi
inc esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x1000cd20
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ecx
jle 0x1000cd15
jmp 0x1000cdde
xor esi, esi
inc esi
or eax, 0xffffffff
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 4], eax
call fcn.1000c10d
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x48], 0xfffffffe
push 3
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x1000ce21
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x149c], 0xeac8b13e
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1000ce09
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jg 0x1000cee9
xor eax, eax
mov dword [ebp - 0x44], 0x210e164c
inc eax
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
test eax, eax
mov eax, dword [ebp - 0x44]
sets cl
sub eax, ecx
jne 0x1000ce5d
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x1498], eax
jne 0x1000ce5d
mov ecx, eax
jmp 0x1000ce62
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x44]
imul eax, ecx
test eax, eax
je 0x1000ceb8
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000ced4
push 0x1ebd
push 0xf4e
push eax
push eax
push 0xf29
push 0xf26
push 0xa71
push 0x242e
push 0x4d7
push 0x22fa
push 0xbca
push 0x1ef3
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_StretchDIBits]
jmp 0x1000ced4
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000ced4
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x1000ce2e
xor esi, esi
xor eax, eax
push 3
inc esi
pop ecx
mov dword [ebp - 0x18], eax
jmp 0x1000cf5e
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x1000cf0c
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x98c], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x1000cef7
xor eax, eax
mov dword [ebp - 0x988], 0xd
jmp 0x1000cf49
mov dword [ebp - 0x28], 0xf1e283d1
mov dword [ebp - 0x28], 0xffffffe2
jmp 0x1000cf3d
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1000cf3a
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe7
jle 0x1000cf28
inc dword [ebp - 0x988]
cmp dword [ebp - 0x988], 0x11
jge 0x1000cf18
mov eax, dword [ebp - 0x48]
inc dword [ebp - 0x18]
push 0
pop eax
push 3
pop ecx
cmp dword [ebp - 0x18], 0x1c
jl 0x1000ceee
push 2
pop ebx
mov dword [ebp - 0x50], 0x9d29be1d
lea ecx, [ebp - 0x6d8]
mov dword [ebp - 0x24], 0x4f2887cf
push ebx
call fcn.1000c0a5
push 3
pop eax
or ecx, 0xffffffff
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x324]
push eax
call fcn.1000c0a5
push ebx
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 4
call fcn.1000c0a5
mov byte [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x34], 0x475678d5
mov dword [ebp - 0x20], eax
push 3
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x1000cfea
push ecx
pop esi
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x324]
call fcn.1000c112
mov dword [eax], 0x2071
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x1000cfc9
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x1000d00c
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x228]
call fcn.1000c112
mov dword [eax], esi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x1000cff2
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x1000d022
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x208], 0xde7504ed
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x1000d011
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x324]
xor eax, eax
push eax
call fcn.1000c112
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp dword [eax], ecx
setne dl
cmp edx, 0xb583
jle 0x1000d064
xor eax, eax
lea ecx, [ebp - 0x324]
push eax
call fcn.1000c112
cmp dword [eax], 0
je 0x1000d064
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1000d068
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
push eax
lea esi, [ecx - 0xa9da]
lea ecx, [ebp - 0x228]
call fcn.1000c112
lea ecx, [ebp - 0x324]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.1000c112
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp ecx, esi
push 8
setge dl
xor ecx, ecx
cmp edx, dword [eax]
pop eax
setle cl
sub ecx, 0xa167
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, eax
jge 0x1000d17a
xor eax, eax
mov dword [ebp - 0x34], 0x2a3
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x17
jl 0x1000d262
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
push 3
mov dword [ebp - 0x28], eax
pop ecx
jmp 0x1000d0fc
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1514], 0x2a04f777
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1000d0eb
xor eax, eax
lea ecx, [ebp - 0x228]
inc eax
push eax
call fcn.1000c112
cmp dword [eax], 0
jne 0x1000d260
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1000d15f
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x34]
je 0x1000d141
xor eax, eax
lea ecx, [ebp - 0x228]
inc eax
push eax
call fcn.1000c112
mov eax, dword [eax]
mov dword [ebp - 0x1510], eax
jmp 0x1000d15c
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000d15c
push eax
push 0x22cb
push 0xbf
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xe
je 0x1000d120
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x17
push 0
pop eax
jge 0x1000d0dd
jmp 0x1000d260
xor eax, eax
mov dword [ebp - 0x24], 0xfffb
mov dword [ebp - 0x18], eax
jmp 0x1000d1e5
or eax, 0xffffffff
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x34], eax
push dword [ebp - 0x18]
call fcn.1000c112
push dword [ebp - 0x18]
lea ecx, [ebp - 0x324]
mov esi, eax
call fcn.1000c112
mov ecx, dword [eax]
xor eax, eax
inc eax
mov dword [esi], ecx
push eax
lea ecx, [ebp - 0x228]
call fcn.1000c112
mov ecx, dword [esi]
mov dword [eax], ecx
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x324]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x208], eax
push dword [ebp - 0x18]
call fcn.1000c112
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1000d188
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x228]
mov eax, dword [ebp - 0x208]
neg edi
sbb edi, edi
xor eax, eax
push eax
neg edi
call fcn.1000c112
mov ecx, dword [ebp - 0x208]
xor edx, edx
imul ecx, dword [ebp - 0x54]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x228]
setle dl
xor ebx, ebx
test edx, edx
setg bl
xor eax, eax
push eax
sub ebx, 0xc7bc
call fcn.1000c112
mov ecx, dword [ebp - 0x18]
mov esi, eax
xor eax, eax
cmp ecx, ebx
mov ecx, dword [ebp - 0x24]
setl al
xor edx, edx
cmp eax, ecx
setge dl
xor ecx, ecx
cmp edi, edx
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
setne cl
xor eax, eax
cmp ecx, dword [esi]
setne al
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1000d292
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x324]
mov eax, dword [ebp - 0x208]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.1000c112
cmp dword [eax], 0
jne 0x1000d292
xor eax, eax
mov esi, eax
jmp 0x1000d297
xor eax, eax
lea esi, [eax + 1]
push eax
lea ecx, [ebp - 0x228]
call fcn.1000c112
xor ecx, ecx
cmp esi, 6
sete cl
xor ebx, ebx
neg ecx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x228]
setne bl
xor eax, eax
inc eax
push eax
call fcn.1000c112
mov ecx, dword [ebp - 0x20]
mov esi, eax
xor eax, eax
cmp ecx, ebx
mov ecx, dword [ebp - 0x54]
setl al
xor edx, edx
cmp eax, ecx
lea ecx, [ebp - 0x228]
setle dl
xor ebx, ebx
cmp edx, dword [esi]
setle bl
xor eax, eax
push eax
add ebx, 6
call fcn.1000c112
imul ecx, dword [ebp - 0x208], 0x2619
xor edx, edx
cmp ecx, ebx
setl dl
xor ecx, ecx
cmp edx, 0xf95
setge cl
add ecx, dword [eax]
mov dword [ebp - 0x208], ecx
lea ecx, [ebp - 0x228]
call fcn.1000c10d
push 3
pop eax
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], al
call fcn.1000c10d
mov dword [ebp - 0x34], 0xfffffffd
xor eax, eax
mov dword [ebp - 0x1c], 0x62d5e48d
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x14
jl 0x1000d3aa
mov dword [ebp - 0x40], 0xfffa
mov dword [ebp - 0x44], 0xedade098
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000d39f
push eax
push 0x1e3c
push 0x8e6
push eax
xor ecx, ecx
push 0x1b1b
inc ecx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x14
jge 0x1000d34a
xor eax, eax
push 2
mov dword [ebp - 0x28], eax
pop ebx
cmp dword [ebp - 0x28], ebx
jge 0x1000d3d3
push dword [ebp - 0x28]
lea ecx, [ebp - 0x6d8]
call fcn.1000c112
mov dword [eax], 7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x1000d3b5
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x1000d3df
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1000d3e1
mov ecx, eax
mov eax, dword [ebp - 0x50]
or esi, 0xffffffff
add eax, ecx
mov dword [ebp - 0x24], eax
xor eax, eax
inc eax
mov dword [ebp - 0x50], eax
xor eax, eax
cmp dword [ebp - 0x50], eax
jl 0x1000d475
jmp 0x1000d3fd
xor eax, eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x6d8]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x48], 0x379a1d12
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
push eax
call fcn.1000c112
cmp dword [eax], 0
je 0x1000d427
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x800f4d4e
jne 0x1000d448
xor eax, eax
lea ecx, [ebp - 0x6d8]
inc eax
push eax
call fcn.1000c112
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c], 0x15e4
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x50]
jns 0x1000d3fb
lea ecx, [ebp - 0x6d8]
mov dword [ebp - 4], esi
call fcn.1000c10d
push 3
pop eax
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0xbd8]
push ebx
call fcn.1000c0a5
mov dword [ebp - 4], 6
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x24], 0x1480
mov dword [ebp - 0x3c], 0xc8a81d5f
mov dword [ebp - 0x28], eax
jmp 0x1000d4cf
push dword [ebp - 0x28]
lea ecx, [ebp - 0xbd8]
call fcn.1000c112
mov dword [eax], 0x9a2f3817
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x1000d4b8
xor eax, eax
mov dword [ebp - 0x40], 0xffffffe3
inc eax
jmp 0x1000d62a
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x1c], 0x9cc25fa
mov dword [ebp - 0x48], 0x392ad588
mov dword [ebp - 0x28], 0x950b
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1000d5de
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0xbd8]
mov esi, dword [ebp - 0x1c]
xor eax, eax
push eax
call fcn.1000c112
mov dword [eax], esi
test esi, esi
jne 0x1000d552
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 0x29855eec
setge cl
inc esi
xor eax, eax
cmp ecx, esi
setle al
or esi, 0xffffffff
cmp eax, esi
je 0x1000d555
xor eax, eax
mov edx, eax
jmp 0x1000d55a
or esi, 0xffffffff
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub ecx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, esi
setge dl
xor eax, eax
cmp edx, 0x896e
setne al
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1000d5dc
mov dword [ebp - 0x44], 9
cmp dword [ebp - 0x1c], 0xfffa
jb 0x1000d5c5
cmp dword [ebp - 0x24], eax
je 0x1000d5c5
lea edx, [eax + 1]
jmp 0x1000d5c7
mov edx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, edx
setle cl
mov dword [ebp - 0x1c], ecx
jmp 0x1000d624
xor eax, eax
mov dword [ebp - 0x34], 0xaf75d592
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1000d5fb
push 0x89f
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
xor eax, eax
mov dword [ebp - 0x3c], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x3c], eax
jg 0x1000d627
mov dword [ebp - 0x38], 0x66ba0539
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x48], eax
xor eax, eax
inc dword [ebp - 0x3c]
inc eax
cmp dword [ebp - 0x3c], eax
jle 0x1000d606
xor eax, eax
inc eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], eax
jge 0x1000d4e3
lea ecx, [ebp - 0xbd8]
mov dword [ebp - 4], esi
call fcn.1000c10d
movdqa xmm0, xmmword [0x10007f10]
lea eax, [ebp - 0x1310]
push eax
lea eax, [ebp - 0x1320]
mov dword [ebp - 0x18], 0x8a61928c
mov dword [ebp - 0x40], 0x2a2b3b7b
lea ecx, [ebp - 0x1600]
push eax
movdqu xmmword [ebp - 0x1320], xmm0
call fcn.1000c124
lea ecx, [ebp - 0x1e1]
mov esi, eax
call fcn.1000c121
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x900]
push dword [esi]
call fcn.1000c0e7
xor eax, eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff1
jne 0x1000d6ca
mov dword [ebp - 0x44], eax
xor edx, edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
push 0
setle dl
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x40], edx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff1
pop eax
je 0x1000d6a8
push 3
mov dword [ebp - 0x40], eax
pop ebx
jmp 0x1000d796
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jg 0x1000d793
xor ecx, ecx
inc ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], eax
jl 0x1000d787
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x1000d73e
push dword [ebp - 0x40]
lea ecx, [ebp - 0x900]
call fcn.1000c112
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x900]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x1c]
call fcn.1000c112
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
dec dword [ebp - 0x1c]
jns 0x1000d708
xor eax, eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x1000d77b
push dword [ebp - 0x40]
lea ecx, [ebp - 0x900]
call fcn.1000c112
cmp dword [eax], 0
jne 0x1000d779
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000d774
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawFocusRect]
dec dword [ebp - 0x28]
jns 0x1000d746
xor eax, eax
dec dword [ebp - 0x3c]
jns 0x1000d6f9
xor ecx, ecx
inc ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1000d6e7
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jle 0x1000d6d5
or ebx, 0xffffffff
lea ecx, [ebp - 0x900]
mov dword [ebp - 4], ebx
call fcn.1000c10d
push 0xfffffffffffffffc
mov dword [ebp - 0x24], 0xfff8
lea ecx, [ebp - 0xbf0]
pop eax
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x40], eax
xor eax, eax
inc eax
push eax
call fcn.1000c0a5
push 8
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x4c], 0x262
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x28], eax
jmp 0x1000d804
push dword [ebp - 0x28]
lea ecx, [ebp - 0xbf0]
call fcn.1000c112
mov dword [eax], ebx
inc dword [ebp - 0x28]
xor eax, eax
inc eax
cmp dword [ebp - 0x28], eax
jl 0x1000d7f1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, 0xb8f3
jne 0x1000d831
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
jl 0x1000d831
xor ebx, ebx
xor eax, eax
inc ebx
jmp 0x1000d836
xor ebx, ebx
inc ebx
mov eax, ebx
add eax, 0xf34f
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x24]
jge 0x1000d915
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], 0x2199
mov dword [ebp - 0x48], 0xfffffffb
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 4
jl 0x1000d964
jmp 0x1000d86e
xor eax, eax
mov dword [ebp - 0x1c], 0x8ed7c3b7
mov dword [ebp - 0x48], 0xfffffff6
mov dword [ebp - 0x28], eax
jmp 0x1000d892
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x628], 0xe469209a
inc dword [ebp - 0x28]
xor eax, eax
inc eax
cmp dword [ebp - 0x28], eax
jl 0x1000d881
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x1c]
neg ecx
cmp eax, ecx
setne dl
mov dword [ebp - 0x628], edx
mov eax, dword [ebp - 0x44]
add eax, edx
je 0x1000d8c2
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x1000d8c4
lea esi, [eax + 1]
jmp 0x1000d8c6
xor eax, eax
mov esi, eax
mov eax, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setg dl
add edx, esi
sub edx, dword [ebp - 0x40]
je 0x1000d8e6
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
inc ebx
cmp eax, ebx
setle cl
xor eax, eax
cmp ecx, ebx
setle al
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], 4
jge 0x1000d86c
jmp 0x1000d964
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000d930
push eax
push eax
push 0x4e0
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x1000d95f
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jg 0x1000d95c
push dword [ebp - 0x14]
lea ecx, [ebp - 0xbf0]
call fcn.1000c112
cmp dword [eax], 0
jne 0x1000d95a
inc dword [ebp - 0x14]
xor eax, eax
cmp dword [ebp - 0x14], eax
jle 0x1000d93d
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], eax
jle 0x1000d935
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0xbf0]
mov dword [ebp - 0x58], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.1000c10d
push 3
pop eax
mov dword [ebp - 0x34], 0xfffffffa
lea ecx, [ebp - 0xf28]
mov dword [ebp - 0x28], 0xf0b96ca2
push eax
call fcn.1000c0a5
xor eax, eax
mov dword [ebp - 4], 9
mov dword [ebp - 0x28], eax
push 3
pop eax
cmp dword [ebp - 0x28], eax
jge 0x1000d9cd
push eax
pop ebx
push dword [ebp - 0x28]
lea ecx, [ebp - 0xf28]
call fcn.1000c112
mov dword [eax], 0x443250e6
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x1000d9ae
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x34]
push 2
mov dword [ebp - 0x28], eax
xor eax, eax
pop esi
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], eax
jl 0x1000da07
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1000da02
push eax
push 0xa8c
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointW]
xor eax, eax
dec dword [ebp - 0x28]
jns 0x1000d9e0
or eax, 0xffffffff
lea ecx, [ebp - 0xf28]
mov dword [ebp - 4], eax
call fcn.1000c10d
mov dword [ebp - 0x14], 0x9d29be1d
or eax, 0xffffffff
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x48], 0xfffffffe
push 3
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x1000da51
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x14b4], 0xeac8b13e
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1000da39
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], esi
jg 0x1000db18
mov dword [ebp - 0x44], 0x210e164c
xor ecx, ecx
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x50]
test eax, eax
mov eax, dword [ebp - 0x44]
sets cl
sub eax, ecx
jne 0x1000da89
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x14b0], eax
jne 0x1000da89
mov ecx, eax
jmp 0x1000da91
xor eax, eax
xor ebx, ebx
inc ebx
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x44]
imul eax, ecx
test eax, eax
je 0x1000daeb
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000db07
push 0x1ebd
push 0xf4e
push eax
push eax
push 0xf29
push 0xf26
push 0xa71
push 0x242e
push 0x4d7
push 0x22fa
push 0xbca
push 0x1ef3
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_StretchDIBits]
jmp 0x1000db07
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000db07
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], esi
jle 0x1000da5d
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x50], eax
jmp 0x1000db8d
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x1000db3b
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x96c], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x1000db26
xor eax, eax
mov dword [ebp - 0x968], 0xd
jmp 0x1000db78
mov dword [ebp - 0x28], 0xf1e283d1
mov dword [ebp - 0x28], 0xffffffe2
jmp 0x1000db6c
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1000db69
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe7
jle 0x1000db57
inc dword [ebp - 0x968]
cmp dword [ebp - 0x968], 0x11
jge 0x1000db47
mov eax, dword [ebp - 0x48]
inc dword [ebp - 0x50]
push 0
pop eax
push 3
pop ecx
cmp dword [ebp - 0x50], 0x1c
jl 0x1000db1d
or eax, 0xffffffff
mov dword [ebp - 0x54], 0x4f2887cf
push 3
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x384]
pop eax
push eax
call fcn.1000c0a5
push 2
pop edi
push edi
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], 0xa
call fcn.1000c0a5
mov byte [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x34], 0x475678d5
mov dword [ebp - 0x20], eax
push 3
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x1000dc06
push ecx
pop ebx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x384]
call fcn.1000c112
mov dword [eax], 0x2071
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x1000dbe5
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x1000dc28
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x238]
call fcn.1000c112
mov dword [eax], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x1000dc0e
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x1000dc3e
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1a8], 0xde7504ed
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x1000dc2d
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x384]
xor eax, eax
push eax
call fcn.1000c112
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp dword [eax], ecx
setne dl
cmp edx, 0xb583
jle 0x1000dc80
xor eax, eax
lea ecx, [ebp - 0x384]
push eax
call fcn.1000c112
cmp dword [eax], 0
je 0x1000dc80
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1000dc84
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
push eax
lea esi, [ecx - 0xa9da]
lea ecx, [ebp - 0x238]
call fcn.1000c112
lea ecx, [ebp - 0x384]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.1000c112
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp ecx, esi
push 8
setge dl
xor ecx, ecx
cmp edx, dword [eax]
pop eax
setle cl
sub ecx, 0xa167
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, eax
jge 0x1000dd93
xor eax, eax
mov dword [ebp - 0x34], 0x2a3
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x17
jl 0x1000de78
xor ecx, ecx
inc ecx
push 3
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], eax
pop edx
jmp 0x1000dd18
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1574], 0x2a04f777
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
jl 0x1000dd07
push ecx
lea ecx, [ebp - 0x238]
call fcn.1000c112
cmp dword [eax], 0
jne 0x1000de76
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1000dd78
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x34]
je 0x1000dd5a
xor eax, eax
lea ecx, [ebp - 0x238]
inc eax
push eax
call fcn.1000c112
mov eax, dword [eax]
mov dword [ebp - 0x1570], eax
jmp 0x1000dd75
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000dd75
push eax
push 0x22cb
push 0xbf
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xe
je 0x1000dd39
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x17
push 0
pop eax
jge 0x1000dcf9
jmp 0x1000de76
xor eax, eax
mov dword [ebp - 0x24], 0xfffb
mov dword [ebp - 0x18], eax
jmp 0x1000ddfe
or eax, 0xffffffff
lea ecx, [ebp - 0x384]
mov dword [ebp - 0x34], eax
push dword [ebp - 0x18]
call fcn.1000c112
push dword [ebp - 0x18]
lea ecx, [ebp - 0x384]
mov esi, eax
call fcn.1000c112
mov ecx, dword [eax]
xor eax, eax
inc eax
mov dword [esi], ecx
push eax
lea ecx, [ebp - 0x238]
call fcn.1000c112
mov ecx, dword [esi]
mov dword [eax], ecx
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x384]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1a8], eax
push dword [ebp - 0x18]
call fcn.1000c112
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1000dda1
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x238]
mov eax, dword [ebp - 0x1a8]
neg edi
sbb edi, edi
xor eax, eax
push eax
neg edi
call fcn.1000c112
mov ecx, dword [ebp - 0x1a8]
xor edx, edx
imul ecx, dword [ebp - 0x54]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x238]
setle dl
xor ebx, ebx
test edx, edx
setg bl
xor eax, eax
push eax
sub ebx, 0xc7bc
call fcn.1000c112
mov ecx, dword [ebp - 0x18]
mov esi, eax
xor eax, eax
cmp ecx, ebx
mov ecx, dword [ebp - 0x24]
setl al
xor edx, edx
cmp eax, ecx
push 2
setge dl
xor ecx, ecx
cmp edi, edx
pop edi
setne cl
xor eax, eax
cmp ecx, dword [esi]
setne al
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1000dea8
mov eax, dword [ebp - 0x1a8]
lea ecx, [ebp - 0x384]
mov eax, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
xor eax, eax
push eax
call fcn.1000c112
cmp dword [eax], 0
jne 0x1000dea8
xor eax, eax
mov esi, eax
jmp 0x1000dead
xor eax, eax
lea esi, [eax + 1]
push eax
lea ecx, [ebp - 0x238]
call fcn.1000c112
xor ecx, ecx
cmp esi, 6
sete cl
xor ebx, ebx
neg ecx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x238]
setne bl
xor eax, eax
inc eax
push eax
call fcn.1000c112
mov ecx, dword [ebp - 0x20]
mov esi, eax
xor eax, eax
cmp ecx, ebx
mov ecx, dword [ebp - 0x54]
setl al
xor edx, edx
cmp eax, ecx
lea ecx, [ebp - 0x238]
setle dl
xor ebx, ebx
cmp edx, dword [esi]
setle bl
xor eax, eax
push eax
add ebx, 6
call fcn.1000c112
imul ecx, dword [ebp - 0x1a8], 0x2619
xor edx, edx
cmp ecx, ebx
setl dl
xor ecx, ecx
cmp edx, 0xf95
setge cl
add ecx, dword [eax]
mov dword [ebp - 0x1a8], ecx
lea ecx, [ebp - 0x238]
call fcn.1000c10d
or esi, 0xffffffff
lea ecx, [ebp - 0x384]
mov dword [ebp - 4], esi
call fcn.1000c10d
push edi
lea ecx, [ebp - 0x720]
call fcn.1000c0a5
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x1c], 0x62d5e48d
mov dword [ebp - 0x1c], eax
jmp 0x1000dfc0
mov dword [ebp - 0x40], 0xfffa
mov dword [ebp - 0x44], 0xedade098
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000dfbd
push eax
push 0x1e3c
push 0x8e6
push eax
xor ecx, ecx
push 0x1b1b
inc ecx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x14
jge 0x1000df68
mov dword [ebp - 0x48], 0xfffffffd
lea ecx, [ebp - 0x6f0]
mov dword [ebp - 0x28], 0x8ee41b66
xor eax, eax
mov dword [ebp - 0x58], 0xe01b17d7
inc eax
mov dword [ebp - 0x1c], eax
mov eax, 0xca0becc3
mov dword [ebp - 0x24], 0x1b0cadfb
mov dword [ebp - 0x44], 0x2920
mov dword [ebp - 0x4c], 0xfffffff7
mov dword [ebp - 0x38], 0x6e3268dd
mov dword [ebp - 0x9ac], eax
mov dword [ebp - 0x9a8], eax
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x9a0], eax
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x20], 0x60abed99
push edi
call fcn.1000c0a5
xor eax, eax
mov byte [ebp - 4], 0xd
push 3
mov dword [ebp - 0x50], eax
pop ebx
cmp dword [ebp - 0x50], ebx
jge 0x1000e059
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xd84], 0
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ebx
jl 0x1000e041
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x1000e075
push dword [ebp - 0x50]
lea ecx, [ebp - 0x6f0]
call fcn.1000c112
mov dword [eax], 0x98319b20
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], edi
jl 0x1000e05e
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
xor eax, eax
cmp dword [ebp - 0x58], eax
je 0x1000e0a8
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp eax, 0x22a5
setl cl
xor eax, eax
cmp ecx, 0xe3e4
je 0x1000e0a8
cmp dword [ebp - 0x58], eax
je 0x1000e0a6
inc eax
jmp 0x1000e0a8
xor eax, eax
cmp eax, dword [ebp - 0x28]
je 0x1000e0b7
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1000e0b9
inc eax
jmp 0x1000e0b9
xor eax, eax
cmp dword [ebp - 0x28], eax
jg 0x1000e0c1
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp esi, eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1000e0e3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
xor edx, edx
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0xd80]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
lea ecx, [ebp - 0x6f0]
setl dl
xor eax, eax
inc eax
mov dword [ebp - 0x4c], edx
push eax
call fcn.1000c112
mov edx, dword [ebp - 0x28]
xor ecx, ecx
imul edx, dword [eax]
mov eax, dword [ebp - 0x9a0]
cmp edx, eax
sete cl
xor eax, eax
inc eax
push eax
lea esi, [ecx + 3]
lea ecx, [ebp - 0x6f0]
call fcn.1000c112
mov dword [eax], esi
cmp dword [ebp - 0x58], esi
jne 0x1000e140
mov eax, dword [ebp - 0xd80]
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x9a8]
imul ecx, eax
mov eax, dword [ebp - 0x58]
imul eax, ecx
lea ecx, [ebp - 0x6f0]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0xc
call fcn.1000c10d
or esi, 0xffffffff
lea ecx, [ebp - 0x11a4]
mov dword [ebp - 0x38], esi
xor eax, eax
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0xdba33992
push ebx
call fcn.1000c0a5
mov byte [ebp - 4], 0xe
xor eax, eax
mov dword [ebp - 0x38], 0x35ca
mov dword [ebp - 0x44], 0x39ec
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jge 0x1000e1db
push dword [ebp - 0x28]
lea ecx, [ebp - 0x11a4]
call fcn.1000c112
push 0xfffffffffffffffc
pop ecx
mov dword [eax], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x1000e1be
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1000e1f0
push 0x1886
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
dec dword [ebp - 0x44]
lea ecx, [ebp - 0x11a4]
mov byte [ebp - 4], 0xc
call fcn.1000c10d
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1000e220
push dword [ebp - 0x28]
lea ecx, [ebp - 0x720]
call fcn.1000c112
mov dword [eax], 7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1000e209
movdqa xmm0, xmmword [0x10007f20]
lea eax, [ebp - 0x1210]
push eax
lea eax, [ebp - 0x1220]
mov dword [ebp - 0x24], 0xcef054a2
mov dword [ebp - 0x50], esi
lea ecx, [ebp - 0x17a8]
mov dword [ebp - 0x20], 5
push eax
movdqu xmmword [ebp - 0x1220], xmm0
call fcn.1000c124
lea ecx, [ebp - 0x257]
mov esi, eax
call fcn.1000c121
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x810]
push dword [esi]
call fcn.1000c0e7
push edi
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 0xf
call fcn.1000c0a5
xor eax, eax
mov byte [ebp - 4], 0x10
inc eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x28], eax
jmp 0x1000e2bc
push dword [ebp - 0x28]
lea ecx, [ebp - 0x44c]
call fcn.1000c112
mov dword [eax], 0xa41a80d1
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1000e2a5
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x50]
inc ecx
add eax, 0x3dd7a9f7
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x50]
push edi
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x810]
mov eax, dword [ebp - 0x20]
cmp eax, 0x36dc9922
setne bl
call fcn.1000c112
lea ecx, [ebp - 0x44c]
mov dword [eax], ebx
xor eax, eax
push eax
call fcn.1000c112
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0x54]
cmp ebx, eax
setge cl
xor eax, eax
cmp ecx, dword [ebp - 0x50]
jl 0x1000e329
cmp dword [ebp - 0x50], eax
je 0x1000e329
lea ecx, [eax + 1]
jmp 0x1000e32b
mov ecx, eax
mov eax, dword [ebp - 0x50]
add eax, ecx
imul eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x54]
jne 0x1000e356
xor eax, eax
lea ecx, [ebp - 0x44c]
push eax
call fcn.1000c112
cmp dword [eax], 0
je 0x1000e356
xor eax, eax
lea ecx, [eax + 1]
jmp 0x1000e35a
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x24]
sub ecx, eax
je 0x1000e43a
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x24], 0x448afe0a
mov dword [ebp - 0x44], 0xfffffff6
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x2f
jge 0x1000e3ce
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x44c]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
call fcn.1000c112
mov ecx, dword [ebp - 0x54]
sub ecx, dword [eax]
cmp ecx, dword [ebp - 0x1c]
jl 0x1000e3bc
xor eax, eax
lea ecx, [ebp - 0x44c]
inc eax
push eax
call fcn.1000c112
xor ecx, ecx
inc ecx
mov dword [eax], ecx
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0x2f
push 0
pop eax
jl 0x1000e387
push eax
lea ecx, [ebp - 0x44c]
call fcn.1000c112
push edi
lea ecx, [ebp - 0x810]
mov esi, eax
call fcn.1000c112
mov ecx, dword [esi]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x1c]
jg 0x1000e407
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1000e407
mov ecx, eax
jmp 0x1000e40c
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jle 0x1000e41a
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x810]
mov eax, dword [ebp - 0x28]
xor eax, eax
push eax
call fcn.1000c112
xor ecx, ecx
cmp ecx, dword [eax]
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
jmp 0x1000e44b
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000e44b
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea ecx, [ebp - 0x44c]
call fcn.1000c10d
lea ecx, [ebp - 0x810]
mov byte [ebp - 4], 0xc
call fcn.1000c10d
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1000e471
lea ecx, [eax + 1]
jmp 0x1000e473
mov ecx, eax
mov eax, dword [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x28], 0x68ec0ae9
mov dword [ebp - 0x28], eax
jmp 0x1000e49b
cmp byte [ebp - 0x2d], 0
je 0x1000e498
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xb
mov byte [ebp - 0x2d], al
je 0x1000e489
cmp byte [ebp - 0x2d], 0
je 0x1000e4b5
push 0x9d7
call dword [sym.imp.KERNEL32.dll_ExitProcess]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x14], ecx
push 3
pop ebx
cmp dword [ebp - 0x14], eax
jl 0x1000e9aa
jmp 0x1000e4cb
mov dword [ebp - 0x50], 0x90c4d8e5
mov dword [ebp - 0x38], 0x44ad72d7
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jge 0x1000e4f5
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1610], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1000e4e1
xor eax, eax
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], eax
jl 0x1000e513
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1000e50e
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
xor eax, eax
dec dword [ebp - 0x50]
jns 0x1000e4fd
mov dword [ebp - 0x50], 0x15
jmp 0x1000e52c
mov dword [ebp - 0x44], 7
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x50]
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xfffffff2
jg 0x1000e51c
xor eax, eax
lea ecx, [ebp - 0x708]
mov dword [ebp - 0x24], eax
or esi, 0xffffffff
mov dword [ebp - 0x28], 0x8ee41b66
inc eax
mov dword [ebp - 0x58], 0xe01b17d7
mov dword [ebp - 0x1c], eax
mov eax, 0xca0becc3
mov dword [ebp - 0x24], 0x1b0cadfb
mov dword [ebp - 0x44], 0x2920
mov dword [ebp - 0x4c], 0xfffffff7
mov dword [ebp - 0x38], 0x6e3268dd
mov dword [ebp - 0x944], eax
mov dword [ebp - 0x940], eax
mov dword [ebp - 0x93c], eax
mov dword [ebp - 0x938], eax
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x20], 0x60abed99
push edi
call fcn.1000c0a5
xor eax, eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], ebx
jge 0x1000e5c1
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0xd9c], 0
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ebx
jl 0x1000e5a9
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x1000e5dd
push dword [ebp - 0x50]
lea ecx, [ebp - 0x708]
call fcn.1000c112
mov dword [eax], 0x98319b20
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], edi
jl 0x1000e5c6
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
xor eax, eax
cmp dword [ebp - 0x58], eax
je 0x1000e610
or esi, 0xffffffff
lea ecx, [ebp - 0x720]
mov dword [ebp - 4], esi
call fcn.1000c10d
xor eax, eax
inc eax
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], eax
xor eax, eax
mov dword [ebp - 0x1c], 0xfa017779
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000e9f4
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCommState]
xor eax, eax
cmp dword [ebp - 0x298], eax
jne 0x1000eabd
mov eax, dword [ebp - 0x298]
xor eax, eax
cmp dword [ebp - 0x298], eax
jne 0x1000ea25
mov eax, dword [ebp - 0x294]
imul eax, dword [ebp - 0x298]
test eax, eax
jne 0x1000ea25
mov ecx, eax
jmp 0x1000ea2a
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x298]
sub ecx, eax
mov eax, dword [ebp - 0x298]
sub ecx, 0x1fc9a57b
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
test eax, eax
je 0x1000ea57
xor eax, eax
cmp dword [ebp - 0x29c], eax
je 0x1000ea59
inc eax
jmp 0x1000ea59
xor eax, eax
cmp eax, dword [ebp - 0x298]
je 0x1000ea6b
xor eax, eax
cmp dword [ebp - 0x298], eax
je 0x1000ea6e
xor eax, eax
inc eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, 0x6178
jne 0x1000eabd
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000ea95
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [ebp - 0x1c], 0xffffffe9
jmp 0x1000eab5
mov dword [ebp - 0x34], 0x4ddb84c6
mov dword [ebp - 0x48], 0xc869b7d6
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x12
jne 0x1000ea9e
jmp 0x1000eac3
mov dword [ebp - 0x44], ebx
inc dword [ebp - 0x44]
mov dword [ebp - 0x40], ebx
lea ecx, [ebp - 0xc08]
push edi
call fcn.1000c0a5
mov dword [ebp - 4], 0x13
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x24], 0x1480
mov dword [ebp - 0x3c], 0xc8a81d5f
mov dword [ebp - 0x28], eax
jmp 0x1000eb0c
push dword [ebp - 0x28]
lea ecx, [ebp - 0xc08]
call fcn.1000c112
mov dword [eax], 0x9a2f3817
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1000eaf5
xor eax, eax
mov dword [ebp - 0x40], 0xffffffe3
xor ebx, ebx
inc eax
inc ebx
cmp dword [ebp - 0x40], eax
jl 0x1000ec70
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x1c], 0x9cc25fa
mov dword [ebp - 0x48], 0x392ad588
mov dword [ebp - 0x28], 0x950b
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1000ec27
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0xc08]
mov esi, dword [ebp - 0x1c]
xor eax, eax
push eax
call fcn.1000c112
mov dword [eax], esi
test esi, esi
jne 0x1000eb95
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 0x29855eec
setge cl
xor eax, eax
cmp ecx, ebx
setle al
or esi, 0xffffffff
cmp eax, esi
je 0x1000eb98
xor eax, eax
mov edx, eax
jmp 0x1000eba0
or esi, 0xffffffff
xor eax, eax
xor ebx, ebx
inc ebx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub ecx, edi
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, esi
setge dl
xor eax, eax
cmp edx, 0x896e
setne al
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1000ec25
mov dword [ebp - 0x44], 9
cmp dword [ebp - 0x1c], 0xfffa
jb 0x1000ec0b
cmp dword [ebp - 0x24], eax
je 0x1000ec0b
mov edx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, edx
setle cl
xor ebx, ebx
mov dword [ebp - 0x1c], ecx
inc ebx
jmp 0x1000ec64
xor eax, eax
mov dword [ebp - 0x34], 0xaf75d592
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1000ec44
push 0x89f
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x1000ec5f
mov dword [ebp - 0x38], 0x66ba0539
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jle 0x1000ec49
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jge 0x1000eb27
lea ecx, [ebp - 0xc08]
mov dword [ebp - 4], esi
call fcn.1000c10d
movdqa xmm0, xmmword [0x10007f10]
lea eax, [ebp - 0x1410]
push eax
lea eax, [ebp - 0x1420]
mov dword [ebp - 0x18], 0x8a61928c
mov dword [ebp - 0x40], 0x2a2b3b7b
lea ecx, [ebp - 0x1700]
push eax
movdqu xmmword [ebp - 0x1420], xmm0
call fcn.1000c124
lea ecx, [ebp - 0x259]
mov esi, eax
call fcn.1000c121
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x828]
push dword [esi]
call fcn.1000c0e7
xor eax, eax
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff1
jne 0x1000ed07
mov dword [ebp - 0x44], eax
xor edx, edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
push 0
setle dl
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x40], edx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff1
pop eax
je 0x1000ece5
push 3
mov dword [ebp - 0x40], eax
pop ecx
jmp 0x1000edd3
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
jmp 0x1000edc7
cmp dword [ebp - 0x18], ecx
jle 0x1000ed1d
cmp dword [ebp - 0x40], ecx
jle 0x1000ed12
or eax, 0xffffffff
lea ecx, [ebp - 0x828]
mov dword [ebp - 4], eax
call fcn.1000c10d
mov dword [ebp - 0x27c], ebx
xor eax, eax
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x270], ebx
mov dword [ebp - 0x1c], 0xfa017779
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1000ee23
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCommState]
xor eax, eax
cmp dword [ebp - 0x278], eax
jne 0x1000eee9