Function at 0x1000a036
Capabilities:
Authenticate hmac
Check os version
Get common file path
Get disk information
Get keyboard layout
Get system information on windows
Set thread local storage value
Terminate process

Disassembly:
mov eax, 0x100717f5
call fcn.10070f08
sub esp, 0xbf4
push ebx
push esi
push edi
push 4
pop edi
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x330]
push edi
mov byte [ebp - 0x65], dl
call fcn.1001a500
xor eax, eax
lea ecx, [ebp - 0x184]
inc eax
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.1001a500
xor edx, edx
inc edx
mov byte [ebp - 4], dl
mov dword [ebp - 0x24], 0x5cefd06
mov dword [ebp - 0x18], ebx
jmp 0x1000a097
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x330]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1000a084
mov dword [ebp - 0x18], ebx
jmp 0x1000a0b4
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 0x2ba39464
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000a0a1
push 3
pop ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ecx
jge 0x1000a0d9
push 7
pop esi
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xab0], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1000a0c7
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
jmp 0x1000a0e9
xor edx, edx
push 3
inc edx
pop ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], 0xf6cbcb1a
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x10], ebx
jmp 0x1000a1dd
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp eax, edx
push 3
setl cl
xor eax, eax
cmp ecx, 0xdfe0
mov ecx, dword [ebp - 0x330]
setg al
cmp eax, 0xe008fb0b
mov eax, dword [ebp - 0x184]
sbb esi, esi
xor edx, edx
neg esi
sub esi, dword [ecx]
mov eax, dword [eax]
dec esi
cmp esi, dword [ecx + eax*4]
mov eax, dword [ebp - 0x24]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x184]
setge bl
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x330]
cmp dword [eax + ecx*4], ebx
pop ecx
setg dl
xor ebx, ebx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x24], ebx
jmp 0x1000a1d5
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x14], 0x7f59ec13
mov dword [ebp - 0x44], 0xa34071e9
cmp dword [eax], 0x8461
jg 0x1000a190
inc dword [ebp - 0x14]
jmp 0x1000a1cb
xor eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 0x7656540f
mov eax, dword [ebp - 0xaac]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x184]
push 3
cmp dword [eax], ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 5
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
pop ecx
mov dword [ebp - 0x44], 0x23cb8e00
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x1000a16f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1000a0fe
mov eax, dword [ebp - 0x184]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x330]
cmp dword [eax + ecx*4], ebx
je 0x1000a277
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000a217
push 0xa96
push 0x1d50
push 0xbb0
call dword [sym.imp.GDI32.dll_LineTo]
xor esi, esi
inc esi
mov eax, dword [ebp - 0x184]
dec dword [eax]
jns 0x1000a0e3
lea ecx, [ebp - 0x184]
call fcn.1001b003
or eax, 0xffffffff
lea ecx, [ebp - 0x330]
mov dword [ebp - 4], eax
call fcn.1001b003
push edi
lea ecx, [ebp - 0x3a0]
call fcn.1001a500
push 2
pop edi
push esi
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 4], edi
call fcn.1001a500
push 3
pop eax
mov byte [ebp - 4], al
mov dword [ebp - 0x24], 0x5cefd06
mov dword [ebp - 0x18], ebx
jmp 0x1000a311
push edi
lea ecx, [ebp - 0x4fc]
call fcn.1001a500
xor esi, esi
mov dword [ebp - 0x34], ebx
inc esi
cmp dword [ebp - 0x34], edi
jge 0x1000a29f
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4fc]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x34]
jmp 0x1000a289
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000a2b4
push ebx
push 0x827
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ecx, dword [ebp - 0x4fc]
mov dword [ebp - 0x14], esi
cmp dword [ecx], 0xeb256cd2
sbb eax, eax
xor edx, edx
inc eax
cmp dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4fc]
setg cl
add ecx, dword [eax]
je 0x1000a2e9
mov eax, esi
cmp dword [ebp - 0x40], ebx
jne 0x1000a2eb
mov eax, ebx
lea ecx, [ebp - 0x4fc]
mov dword [ebp - 0x10], eax
call fcn.1001b003
jmp 0x1000a21a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3a0]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1000a2fe
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x1000a332
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1b4]
mov dword [eax + ecx*4], 0x2ba39464
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000a31f
push 3
pop ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ecx
jge 0x1000a357
push 7
pop esi
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa5c], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1000a345
mov eax, dword [ebp - 0x1b4]
mov dword [eax], ecx
mov dword [ebp - 0x10], 4
mov dword [ebp - 0x14], 0xf6cbcb1a
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x10], ebx
jmp 0x1000a457
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp eax, edx
push 3
setl cl
xor eax, eax
cmp ecx, 0xdfe0
mov ecx, dword [ebp - 0x3a0]
setg al
cmp eax, 0xe008fb0b
mov eax, dword [ebp - 0x1b4]
sbb esi, esi
xor edx, edx
neg esi
sub esi, dword [ecx]
mov eax, dword [eax]
dec esi
cmp esi, dword [ecx + eax*4]
mov eax, dword [ebp - 0x24]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1b4]
setge bl
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x3a0]
cmp dword [eax + ecx*4], ebx
pop ecx
setg dl
xor ebx, ebx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x24], ebx
jmp 0x1000a44f
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x14], 0x7f59ec13
mov dword [ebp - 0x44], 0xa34071e9
cmp dword [eax], 0x8461
jg 0x1000a40a
inc dword [ebp - 0x14]
jmp 0x1000a445
xor eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 0x7656540f
mov eax, dword [ebp - 0xa58]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1b4]
push 3
cmp dword [eax], ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 5
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
pop ecx
mov dword [ebp - 0x44], 0x23cb8e00
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x1000a3e9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1000a378
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x3a0]
cmp dword [eax + ecx*4], ebx
je 0x1000a49a
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000a51e
push 0xa96
push 0x1d50
push 0xbb0
call dword [sym.imp.GDI32.dll_LineTo]
jmp 0x1000a51e
push 4
lea ecx, [ebp - 0x514]
call fcn.1001a500
xor esi, esi
mov dword [ebp - 0x34], ebx
inc esi
cmp dword [ebp - 0x34], 4
jge 0x1000a4c4
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x514]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x34]
jmp 0x1000a4ad
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000a4d9
push ebx
push 0x827
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x14], esi
cmp dword [ecx], 0xeb256cd2
sbb eax, eax
xor edx, edx
inc eax
cmp dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x514]
setg cl
add ecx, dword [eax]
je 0x1000a50e
mov eax, esi
cmp dword [ebp - 0x40], ebx
jne 0x1000a510
mov eax, ebx
lea ecx, [ebp - 0x514]
mov dword [ebp - 0x10], eax
call fcn.1001b003
mov eax, dword [ebp - 0x1b4]
push 1
pop edx
push 3
dec dword [eax]
pop ecx
jns 0x1000a35f
lea ecx, [ebp - 0x1b4]
call fcn.1001b003
or esi, 0xffffffff
lea ecx, [ebp - 0x3a0]
mov dword [ebp - 4], esi
call fcn.1001b003
push edi
lea ecx, [ebp - 0x644]
call fcn.1001a500
mov dword [ebp - 0x54], 0xd7953644
xor edx, edx
mov dword [ebp - 0x54], 0x25cbd945
inc edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x54], 0x378f1e0c
mov dword [ebp - 0x54], 0xab9737e0
mov dword [ebp - 0x54], esi
push 7
pop eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x54], 0xfffffffc
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x54], 0xfffffffa
mov dword [ebp - 0x54], 0xfff6
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x34], ebx
jmp 0x1000a5bd
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x644]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x1000a5ae
mov eax, dword [ebp - 0x644]
lea ecx, [ebp - 0x644]
mov dword [ebp - 4], esi
mov dword [eax + 4], 5
call fcn.1001b003
xor ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], ebx
jmp 0x1000a5f5
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x868], ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x1000a5e8
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000a619
push 0xa5f
push 0x9fa
push ebx
push 0x1ebb
call dword [sym.imp.USER32.dll_DrawFrameControl]
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], ebx
jl 0x1000a663
mov dword [ebp - 0x14], 0xebb6748f
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x1000a649
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000a644
push 0x2de
call dword [sym.imp.USER32.dll_DrawMenuBar]
dec dword [ebp - 0x14]
jns 0x1000a630
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000a65e
push 0x1348
push ebx
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
dec dword [ebp - 0x30]
jns 0x1000a621
push 4
lea ecx, [ebp - 0x348]
call fcn.1001a500
push 6
pop eax
push edi
lea ecx, [ebp - 0x95c]
mov dword [ebp - 4], eax
call fcn.1001a500
push 7
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0xa00]
movdqa xmm0, xmmword [0x10008830]
lea eax, [ebp - 0x9f0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0xa8c]
movdqu xmmword [ebp - 0xa00], xmm0
call fcn.1001a591
push 6
mov dword [ebp - 0x54], 0xcb03629a
pop eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x40], 0x1078
mov dword [ebp - 0x34], ebx
jmp 0x1000a6de
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x95c]
mov dword [eax + ecx*4], 0x3d06ce12
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x1000a6cb
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000a6f2
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
inc dword [ebp - 0x40]
lea ecx, [ebp - 0xa8c]
call fcn.1001b003
push 6
pop eax
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], al
call fcn.1001b003
xor esi, esi
lea ecx, [ebp - 0x190]
inc esi
push esi
call fcn.1001a500
mov byte [ebp - 4], 8
mov edi, 0x106646f0
mov dword [ebp - 0x14], 0x3838a1f9
mov dword [ebp - 0x40], 0x9272
mov dword [ebp - 0x24], 0x1fd9d089
mov dword [ebp - 0x44], 0x19e3
cmp dword [ebp - 0x44], 0xb5b
jge 0x1000a8f5
push ebx
push ebx
lea ecx, [ebp - 0x478]
mov dword [ebp - 0x468], ebx
mov dword [ebp - 0x464], ebx
call fcn.1001acce
lea edx, [ebp - 0x478]
mov byte [ebp - 4], 9
mov ecx, edi
call fcn.1001eb79
push ebx
push ebx
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x1f4], ebx
call fcn.1001acce
lea edx, [ebp - 0x208]
mov byte [ebp - 4], 0xa
mov ecx, edi
call fcn.1001eb79
cmp dword [ebp - 0x468], 0
mov edi, ebx
mov edx, ebx
jbe 0x1000a7dc
cmp dword [ebp - 0x464], 0x10
lea ecx, [ebp - 0x478]
cmovae ecx, dword [ebp - 0x478]
or eax, 0xffffffff
cmp byte [edx + ecx], 0x2b
cmove eax, esi
add edi, eax
inc edx
cmp edx, dword [ebp - 0x468]
jb 0x1000a7b3
cmp dword [ebp - 0x1f8], 0
mov edx, ebx
mov esi, ebx
mov ecx, ebx
jbe 0x1000a849
cmp dword [ebp - 0x1f4], 0x10
lea eax, [ebp - 0x208]
cmovae eax, dword [ebp - 0x208]
cmp byte [ecx + eax], 0x2b
jne 0x1000a808
inc edx
jmp 0x1000a840
cmp dword [ebp - 0x1f4], 0x10
lea eax, [ebp - 0x208]
cmovae eax, dword [ebp - 0x208]
cmp byte [ecx + eax], 0x2d
jne 0x1000a825
dec edx
jmp 0x1000a840
cmp dword [ebp - 0x1f4], 0x10
lea eax, [ebp - 0x208]
cmovae eax, dword [ebp - 0x208]
cmp byte [ecx + eax], 0x3f
jne 0x1000a840
inc esi
inc ecx
cmp ecx, dword [ebp - 0x1f8]
jb 0x1000a7eb
sub edi, edx
push edi
call fcn.10059357
pop ecx
cmp eax, esi
jg 0x1000a8c9
mov edx, eax
and edx, 0x80000001
jns 0x1000a865
dec edx
or edx, 0xfffffffe
inc edx
mov ecx, esi
and ecx, 0x80000001
jns 0x1000a874
dec ecx
or ecx, 0xfffffffe
inc ecx
cmp edx, ecx
jne 0x1000a8c9
add eax, esi
mov ecx, esi
cdq
sub eax, edx
mov edx, eax
sar edx, 1
call fcn.10009eb3
mov ecx, edx
movapd xmm2, xmm0
call fcn.10009eb3
mov ecx, esi
sub ecx, edx
divsd xmm2, xmm0
call fcn.10009eb3
divsd xmm2, xmm0
test esi, esi
jle 0x1000a8b3
mulsd xmm2, qword [0x100087a0]
dec esi
jne 0x1000a8a8
push ecx
push ecx
movsd qword [esp], xmm2
push 0x100080a0
call fcn.1005889b
add esp, 0xc
jmp 0x1000a8d4
push 0x10008098
call fcn.100591b7
pop ecx
xor esi, esi
lea ecx, [ebp - 0x208]
push ebx
inc esi
push esi
call fcn.1001acce
push ebx
push esi
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 8
call fcn.1001acce
mov dword [ebp - 0x10], 0xb6917ab6
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], 0x22abf7c2
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x40]
sub edx, 0x8637
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x10]
cmp ecx, 0xd067
jg 0x1000a93f
mov edx, esi
cmp dword [ebp - 0x14], ebx
jne 0x1000a941
mov edx, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x1000a956
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x14], eax
jge 0x1000a97d
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000a9e3
push ebx
push 0x928
push 0x1107
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
jmp 0x1000a9e3
mov dword [ebp - 0x34], 0xfffffffa
xor ecx, ecx
mov dword [ebp - 0x30], 0x1cc0c7fd
inc ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x14]
jne 0x1000a9d0
cmp dword [ebp - 0x34], ebx
jne 0x1000a9d0
xor esi, esi
mov ecx, ebx
inc esi
jmp 0x1000a9d5
xor esi, esi
inc esi
mov ecx, esi
xor eax, eax
cmp ecx, 0xfff9
sete al
mov dword [ebp - 0x24], eax
mov edi, 0x5cefd06
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 0x34], edi
push 4
call fcn.1001a500
push esi
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0xb
call fcn.1001a500
mov byte [ebp - 4], 0xc
push 4
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x1000aa2a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3b0]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1000aa17
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x1000aa4a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1a8]
mov dword [eax + ecx*4], 0x2ba39464
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000aa37
push 3
pop ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ecx
jge 0x1000aa6f
push 7
pop edi
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xac8], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1000aa5d
mov eax, dword [ebp - 0x1a8]
mov dword [eax], ecx
jmp 0x1000aa7f
xor edx, edx
push 3
inc edx
pop ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], 0xf6cbcb1a
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ecx
jg 0x1000ab83
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp eax, edx
push 3
setl cl
xor eax, eax
cmp ecx, 0xdfe0
mov ecx, dword [ebp - 0x3b0]
setg al
cmp eax, 0xe008fb0b
mov eax, dword [ebp - 0x1a8]
sbb esi, esi
xor edx, edx
neg esi
sub esi, dword [ecx]
mov eax, dword [eax]
dec esi
cmp esi, dword [ecx + eax*4]
mov eax, dword [ebp - 0x24]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1a8]
setge bl
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x3b0]
cmp dword [eax + ecx*4], ebx
pop ecx
setg dl
xor ebx, ebx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x24], ebx
jmp 0x1000ab6f
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x14], 0x7f59ec13
mov dword [ebp - 0x44], 0xa34071e9
cmp dword [eax], 0x8461
jg 0x1000ab2a
inc dword [ebp - 0x14]
jmp 0x1000ab65
xor eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], 0x7656540f
mov eax, dword [ebp - 0xac4]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1a8]
push 3
cmp dword [eax], ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 5
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
pop ecx
mov dword [ebp - 0x44], 0x23cb8e00
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x1000ab09
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1000aa98
push 4
pop esi
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x3b0]
cmp dword [eax + ecx*4], ebx
je 0x1000abf6
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000abb4
push 0xa96
push 0x1d50
push 0xbb0
call dword [sym.imp.GDI32.dll_LineTo]
xor edi, edi
inc edi
mov eax, dword [ebp - 0x1a8]
dec dword [eax]
jns 0x1000aa79
lea ecx, [ebp - 0x1a8]
call fcn.1001b003
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 8
call fcn.1001b003
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
push 3
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], ebx
pop ecx
jmp 0x1000ac8a
push esi
lea ecx, [ebp - 0x52c]
call fcn.1001a500
xor edi, edi
mov dword [ebp - 0x10], ebx
inc edi
cmp dword [ebp - 0x10], esi
jge 0x1000ac1e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x52c]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x10]
jmp 0x1000ac08
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000ac33
push ebx
push 0x827
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ecx, dword [ebp - 0x52c]
mov dword [ebp - 0x14], edi
cmp dword [ecx], 0xeb256cd2
sbb eax, eax
xor edx, edx
inc eax
cmp dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x52c]
setg cl
add ecx, dword [eax]
je 0x1000ac68
mov eax, edi
cmp dword [ebp - 0x40], ebx
jne 0x1000ac6a
mov eax, ebx
lea ecx, [ebp - 0x52c]
mov dword [ebp - 0x10], eax
call fcn.1001b003
jmp 0x1000abb7
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x33c], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1000ac7d
push 2
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x1000adef
mov dword [ebp - 0x10], 9
xor edx, edx
mov dword [ebp - 0x14], 0xe3051ebf
mov esi, ebx
mov dword [ebp - 0x44], 0x84c6a37d
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x33c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x334]
cmp ecx, eax
mov ecx, dword [ebp - 0x24]
setne dl
sub esi, edx
push 7
lea eax, [esi - 0xacd7]
add ecx, eax
pop eax
push 2
pop esi
cmp ecx, eax
jge 0x1000ad1f
mov dword [ebp - 0x1c], ebx
jmp 0x1000ad15
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000ad12
push 0x73d
push 0x2152
push ebx
call dword [sym.imp.GDI32.dll_OffsetRgn]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x1000acf8
jmp 0x1000adb9
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x10], ebx
jmp 0x1000adb0
mov dword [ebp - 0x24], ebx
jmp 0x1000ad44
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x9cc], 0xfffffff7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1000ad33
mov dword [ebp - 0x24], ebx
jmp 0x1000ad6c
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000ad62
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
mov dword [ebp - 0x44], 0x43e2f7c6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1000ad4e
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x33c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x33c]
imul eax, dword [ebp - 0x1c], 0xdc50
add ecx, eax
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x33c]
imul eax, dword [ebp - 0x40]
sub eax, 0xfffffff9
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x9cc], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1000ad2e
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, edi
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
xor edx, edx
cmp ecx, 0x2afe2499
setge dl
xor eax, eax
cmp edx, 0xf45b
setle al
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1000ac9a
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000ae32
push ebx
push 0x152f
push 0x126e
push 0x1ae4
push 0x7b4
push 0x37f
push 0x2245
push 0x847
push 0xd79
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
push 3
pop eax
mov dword [ebp - 0x14], 0xfffffffa
lea ecx, [ebp - 0x9d8]
mov dword [ebp - 0x54], 0xfffffff6
push eax
call fcn.1001a500
mov byte [ebp - 4], 0xd
xor ecx, ecx
mov dword [ebp - 0x24], ebx
inc ecx
mov dword [ebp - 0x40], 0x3d88
mov dword [ebp - 0x18], ebx
jmp 0x1000ae76
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x878], 0xf1124f01
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1000ae65
push 3
pop edx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edx
jge 0x1000ae9b
push 7
pop edi
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb6c], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000ae89
mov dword [ebp - 0x18], ebx
or edi, 0xffffffff
cmp dword [ebp - 0x18], edx
jge 0x1000aebd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x9d8]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000aea6
xor ecx, ecx
inc ecx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x1000af1f
jmp 0x1000aeca
xor ecx, ecx
inc ecx
push ecx
mov dword [ebp - 0x54], ebx
lea ecx, [ebp - 0x83c]
mov dword [ebp - 0x54], edi
call fcn.1001a500
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x1000aef7
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x83c]
mov dword [eax + ecx*4], 0xc25fcc58
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1000aee4
dec dword [ebp - 0x24]
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000af0f
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea ecx, [ebp - 0x83c]
call fcn.1001b003
dec dword [ebp - 0x14]
jns 0x1000aec7
mov dword [ebp - 0x24], ebx
jmp 0x1000afd9
mov dword [ebp - 0x54], 0x8376fbfc
mov dword [ebp - 0x44], 0x2133
cmp dword [ebp - 0x44], 0xb65
jge 0x1000af9a
lea eax, [ebp - 0x3dc]
push eax
push 0x10008090
call fcn.1005803b
mov eax, dword [ebp - 0x3dc]
mov esi, ebx
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 0x44], eax
inc ecx
lea edx, [eax - 1]
mov edi, ecx
cmp edx, ecx
jle 0x1000af86
mov ebx, edx
mov ecx, edi
call fcn.10009ed4
xor ecx, ecx
inc ecx
cmp eax, ecx
cmove esi, edi
inc edi
dec ebx
mov edx, ebx
cmp edi, ebx
jl 0x1000af6a
mov eax, dword [ebp - 0x44]
xor ebx, ebx
sub eax, esi
push eax
push esi
push 0x100080a8
call fcn.1005889b
add esp, 0xc
push 2
pop esi
mov dword [ebp - 0x54], 9
mov dword [ebp - 0x54], 0x93dd61fb
mov dword [ebp - 0x10], ebx
jmp 0x1000afbe
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xaec], 0xfffffff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1000afad
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000afd3
push ebx
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
inc dword [ebp - 0x40]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1000af27
lea ecx, [ebp - 0x9d8]
mov byte [ebp - 4], 8
call fcn.1001b003
mov dword [ebp - 0x18], ebx
jmp 0x1000b009
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x348]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1000aff6
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x1000b02a
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x190]
mov dword [eax + ecx*4], 0x2ba39464
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000b017
mov dword [ebp - 0x24], 0xadf86095
mov dword [ebp - 0x14], 0x63abefa0
mov dword [ebp - 0x18], edx
push 3
mov dword [ebp - 0x1c], 0x59cadfd6
mov dword [ebp - 0x24], ebx
pop ecx
jmp 0x1000b060
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xb4], 0xfffffff8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1000b04f
mov dword [ebp - 0xb4], ebx
jmp 0x1000b0e7
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x44], edx
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0xb4]
setne dl
imul edx, eax
mov eax, dword [ebp - 0x10]
imul eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
dec eax
neg eax
sbb eax, eax
neg eax
add eax, dword [ebp - 0x10]
je 0x1000b0d8
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x10]
xor edx, edx
inc edx
mov dword [ebp - 0x44], edx
inc dword [ebp - 0xb4]
cmp dword [ebp - 0xb4], 0xe
jge 0x1000b06d
mov dword [ebp - 0x24], 0xfffffff7
cmp dword [ebp - 0x24], ebx
je 0x1000b17a
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xac]
cmp eax, 3
push 0
setne cl
xor eax, eax
cmp ecx, 0x43772679
mov ecx, dword [ebp - 0xb4]
setl al
sub ecx, eax
neg ecx
pop eax
sbb ecx, ecx
inc ecx
setns al
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, 0xb639
setle cl
imul eax, ecx, 9
test eax, eax
je 0x1000b157
cmp dword [ebp - 0x1c], ebx
jne 0x1000b159
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setl cl
xor edx, edx
cmp ecx, esi
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb4]
neg eax
push 3
mov dword [ebp - 0xac], eax
pop edx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], edx
jge 0x1000b1ae
push 7
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa68], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000b19c
mov dword [ebp - 0x10], 0xec2e0cf5
xor ecx, ecx
mov dword [ebp - 0x44], 0x4c7af5af
inc ecx
mov dword [ebp - 0x54], 0x8b9dbea5
mov dword [ebp - 0x10], 0xffffffec
cmp dword [ebp - 0x10], 0xffffffea
jle 0x1000b20a