Function at 0x100512a1
Capabilities:
Create process on windows
Get common file path
Get system information on windows
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008868d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5ac
push esi
movzx eax, byte [ebp + 0x28]
test eax, eax
je 0x10052b34
mov dword [ebp - 0x4b4], 2
mov dword [ebp - 0x4cc], 1
mov dword [ebp - 0x4d4], 0xb457102d
mov dword [ebp - 0x4dc], 0x6748f69f
mov dword [ebp - 0x4e4], 0x14b733c6
mov dword [ebp - 0x4ec], 0x6b6eb6b9
mov dword [ebp - 0x4f4], 0xaa29c146
mov dword [ebp - 0x4fc], 0xfffffff6
mov dword [ebp - 0x504], 0x182abbf9
mov dword [ebp - 0x50c], 0xffffffff
mov dword [ebp - 0x1a4], 0x5a519d81
mov dword [ebp - 0xf4], 0
jmp 0x10051353
mov eax, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 2
jge 0x1005136f
mov eax, dword [ebp - 0xf4]
mov dword [ebp + eax*4 - 0x4a4], 0x865b49d5
jmp 0x10051346
mov eax, dword [ebp - 0x1a4]
dec eax
mov dword [ebp - 0x1a4], eax
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x4a4], 0x4145c174
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x12c], 0xcd53bc6e
mov dword [ebp - 0x9c], 0xffff
push 2
lea ecx, [ebp - 0x474]
call fcn.1001b841
and dword [ebp - 4], 0
mov dword [ebp - 0x134], 0xffffffff
mov dword [ebp - 0x178], 0xfffffffe
mov dword [ebp - 0x514], 0x9e13c95
mov dword [ebp - 0xbc], 0
jmp 0x1005141a
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 2
jge 0x1005143c
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x474]
call fcn.1001b8b2
mov dword [eax], 1
jmp 0x1005140d
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x348]
mov dword [ebp - 0x328], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x328]
mov dword [ebp + eax - 0x348], ecx
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
jne 0x10051491
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
inc eax
je 0x10051655
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x154], 0x8dc5
mov dword [ebp - 0x30c], 0xb35f1971
mov byte [ebp - 0x4d], 0
movzx eax, byte [ebp - 0x4d]
test eax, eax
je 0x100514cb
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x51c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x524], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x90]
cmp dword [ebp + eax - 0x348], ecx
jne 0x10051504
mov dword [ebp - 0x31c], 1
jmp 0x1005150b
and dword [ebp - 0x31c], 0
cmp dword [ebp - 0x31c], 0x7d6b
je 0x10051523
mov dword [ebp - 0x124], 1
jmp 0x1005152a
and dword [ebp - 0x124], 0
push 0
lea ecx, [ebp - 0x474]
call fcn.1001b8b2
mov ecx, dword [ebp - 0x124]
mov dword [eax], ecx
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x348]
cmp eax, dword [ebp - 0x124]
jge 0x10051560
mov dword [ebp - 0x34c], 1
jmp 0x10051567
and dword [ebp - 0x34c], 0
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x55c], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x3bc]
cmp dword [ebp + eax - 0x348], ecx
jge 0x10051593
mov dword [ebp - 0x144], 1
jmp 0x1005159a
and dword [ebp - 0x144], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x144]
mov dword [ebp + eax - 0x348], ecx
mov eax, dword [ebp - 0x90]
cmp dword [ebp - 0x144], eax
jle 0x100515cd
cmp dword [ebp - 0x154], 0
jne 0x100515cd
and dword [ebp - 0x164], 0
jmp 0x100515d7
mov dword [ebp - 0x164], 1
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
cmp dword [ebp - 0x90], eax
jg 0x1005160f
mov dword [ebp - 0x16c], 1
jmp 0x10051616
and dword [ebp - 0x16c], 0
cmp dword [ebp - 0x16c], 0x5c6a81d6
jl 0x1005162b
cmp dword [ebp - 0x154], 0
je 0x10051640
mov eax, 0x68fc
test eax, eax
je 0x10051640
mov dword [ebp - 0x314], 1
jmp 0x10051647
and dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x178], eax
jmp 0x10051669
mov byte [ebp - 0x6d], 0
movzx eax, byte [ebp - 0x6d]
test eax, eax
je 0x10051669
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x134]
imul eax, dword [ebp - 0x9c]
cmp eax, 0x7e12fd89
jge 0x10051689
mov dword [ebp - 0x320], 1
jmp 0x10051690
and dword [ebp - 0x320], 0
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x178], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x474]
call fcn.1001b8ad
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x1c], 0
push 2
lea ecx, [ebp - 0x3fc]
call fcn.1001b841
mov dword [ebp - 4], 1
mov dword [ebp - 0x1a0], 0xb0cadfb1
mov dword [ebp - 0x28], 0
jmp 0x100516f2
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x1005170e
push dword [ebp - 0x28]
lea ecx, [ebp - 0x3fc]
call fcn.1001b8b2
mov dword [eax], 0xffff
jmp 0x100516eb
mov dword [ebp - 0x28], 0
jmp 0x1005171e
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x10051734
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x58c], 0xb56cef3c
jmp 0x10051717
cmp dword [ebp - 0x1c], 0
je 0x100518aa
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
je 0x10051752
mov dword [ebp - 0x180], 1
jmp 0x10051759
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x10051773
cmp dword [ebp - 0x1c], 0
je 0x10051773
mov dword [ebp - 0x258], 1
jmp 0x1005177a
and dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x258]
cmp dword [ebp - 0x180], eax
jne 0x10051798
mov dword [ebp - 0x2c8], 1
jmp 0x1005179f
and dword [ebp - 0x2c8], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x2c8], eax
je 0x100517b6
mov dword [ebp - 0x188], 1
jmp 0x100517bd
and dword [ebp - 0x188], 0
push 0
lea ecx, [ebp - 0x3fc]
call fcn.1001b8b2
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax]
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x14c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c4]
cmp eax, dword [ebp - 0x3ec]
jge 0x10051815
mov dword [ebp - 0x260], 1
jmp 0x1005181c
and dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x260], eax
jle 0x10051839
cmp dword [ebp - 0x1c], 0
je 0x10051839
mov dword [ebp - 0x190], 1
jmp 0x10051840
and dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x190]
cmp eax, dword [ebp - 0x1c]
jne 0x1005185a
mov dword [ebp - 0x300], 1
jmp 0x10051861
and dword [ebp - 0x300], 0
cmp dword [ebp - 0x300], 1
jbe 0x1005187c
push 0
lea ecx, [ebp - 0x3fc]
call fcn.1001b8b2
cmp dword [eax], 0
jne 0x1005188e
cmp dword [ebp - 0x1c], 0
je 0x1005188e
mov dword [ebp - 0x198], 1
jmp 0x10051895
and dword [ebp - 0x198], 0
cmp dword [ebp - 0x198], 0xfffffff6
jl 0x100518aa
mov dword [ebp - 0x268], 1
jmp 0x100518b1
and dword [ebp - 0x268], 0
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x564], eax
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x58c], 0xffffffff
mov byte [ebp - 0x6f], 0
movzx eax, byte [ebp - 0x6f]
test eax, eax
je 0x100518f7
push 0x5f5
push 0x12b4
push 0
call dword [sym.imp.KERNEL32.dll_VirtualFree]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3fc]
call fcn.1001b8ad
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x380], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x18], 0x7e17f75
mov dword [ebp - 0x358], 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jle 0x10051944
cmp dword [ebp - 0x18], 0
je 0x10051956
cmp dword [ebp - 0x18], 0
je 0x10051956
mov dword [ebp - 0x2d0], 1
jmp 0x1005195d
and dword [ebp - 0x2d0], 0
cmp dword [ebp - 0x2d0], 0x87a7525d
je 0x10051975
mov dword [ebp - 0x1a8], 1
jmp 0x1005197c
and dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1a8], eax
jl 0x10051993
mov dword [ebp - 0x270], 1
jmp 0x1005199a
and dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x270]
jg 0x100519b1
mov dword [ebp - 0x1b0], 1
jmp 0x100519b8
and dword [ebp - 0x1b0], 0
cmp dword [ebp - 0x1b0], 0xce008fb0
ja 0x100519d0
mov dword [ebp - 0x318], 1
jmp 0x100519d7
and dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x318], eax
jg 0x100519ee
mov dword [ebp - 0x1b8], 1
jmp 0x100519f5
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x18], 0xffffffec
jmp 0x10051a11
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x32
jge 0x10051a39
mov byte [ebp - 0x46], 0
movzx eax, byte [ebp - 0x46]
test eax, eax
je 0x10051a37
push 0x420
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
jmp 0x10051a0a
mov dword [ebp - 0x94], 0x9fdf99ff
mov dword [ebp - 0xe0], 0
jmp 0x10051a5c
mov eax, dword [ebp - 0xe0]
inc eax
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 3
jge 0x10051a78
mov eax, dword [ebp - 0xe0]
mov dword [ebp + eax*4 - 0x598], 0x7812a3cc
jmp 0x10051a4f
mov dword [ebp - 0x94], 0
jmp 0x10051a91
mov eax, dword [ebp - 0x94]
dec eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0xffffffea
jle 0x10051cf0
mov dword [ebp - 0x4c], 1
imul eax, dword [ebp - 0x4c], 0xffff
test eax, eax
jne 0x10051b3a
cmp dword [ebp - 0x4c], 1
jge 0x10051ac6
mov dword [ebp - 0x278], 1
jmp 0x10051acd
and dword [ebp - 0x278], 0
cmp dword [ebp - 0x278], 8
jne 0x10051ae2
mov dword [ebp - 0x1c0], 1
jmp 0x10051ae9
and dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x1c0], eax
jne 0x10051b00
mov dword [ebp - 0x2d8], 1
jmp 0x10051b07
and dword [ebp - 0x2d8], 0
mov eax, dword [ebp - 0x94]
cmp dword [ebp - 0x2d8], eax
jg 0x10051b21
mov dword [ebp - 0x1c8], 1
jmp 0x10051b28
and dword [ebp - 0x1c8], 0
cmp dword [ebp - 0x1c8], 0xfffffff7
je 0x10051b3a
and dword [ebp - 0x280], 0
jmp 0x10051b44
mov dword [ebp - 0x280], 1
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x280]
mov dword [ebp + eax - 0x598], ecx
mov dword [ebp - 0x4c], 0
jmp 0x10051b67
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 7
jg 0x10051ceb
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc8], 0
jmp 0x10051b94
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 2
jg 0x10051ce6
mov dword [ebp - 0xf0], 0xffffffff
mov dword [ebp - 0xf0], 0
jmp 0x10051bc4
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 2
jg 0x10051cb8
push 1
lea ecx, [ebp - 0x3d4]
call fcn.1001b841
mov dword [ebp - 4], 2
mov dword [ebp - 0xd0], 0
jmp 0x10051bfe
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 1
jge 0x10051c1d
push dword [ebp - 0xd0]
lea ecx, [ebp - 0x3d4]
call fcn.1001b8b2
and dword [eax], 0
jmp 0x10051bf1
push 0
lea ecx, [ebp - 0x3d4]
call fcn.1001b8b2
and dword [eax], 0
jmp 0x10051c53
push 0
lea ecx, [ebp - 0x3d4]
call fcn.1001b8b2
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x1d0]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x3d4]
call fcn.1001b8b2
cmp dword [eax], 2
jg 0x10051c8e
mov byte [ebp - 0x72], 0
movzx eax, byte [ebp - 0x72]
test eax, eax
je 0x10051c8c
push 0x1804
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MapWindowPoints]
jmp 0x10051c2f
mov byte [ebp - 0x71], 0
movzx eax, byte [ebp - 0x71]
test eax, eax
je 0x10051ca4
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCommState]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3d4]
call fcn.1001b8ad
jmp 0x10051bb7
mov byte [ebp - 0x55], 0
movzx eax, byte [ebp - 0x55]
test eax, eax
je 0x10051ce1
push 0
push 0
push 0
push 0
push 0xd64
push 1
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
jmp 0x10051b87
jmp 0x10051b60
jmp 0x10051a84
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x24], 2
mov dword [ebp - 0xe8], 0x664a1160
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x468], 0x2b75
mov dword [ebp - 0x464], 0x2b75
mov dword [ebp - 0x460], 0x2b75
mov dword [ebp - 0x45c], 0x2b75
lea ecx, [ebp - 0x155]
call fcn.1000db63
push eax
lea eax, [ebp - 0x458]
push eax
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x5a0]
call fcn.1001b8c1
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x42c]
call fcn.1001b883
mov dword [ebp - 4], 3
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x10051da4
push 0
push 0x533
push 0x1962
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
push 0xfffffffffffffff6
pop eax
test eax, eax
je 0x10051dbd
cmp dword [ebp - 0x24], 0
je 0x10051dbd
mov dword [ebp - 0x36c], 1
jmp 0x10051dc4
and dword [ebp - 0x36c], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x550], eax
cmp dword [ebp - 0x24], 0
jne 0x10051de2
cmp dword [ebp - 0x24], 0
jne 0x10051de2
and dword [ebp - 0x308], 0
jmp 0x10051dec
mov dword [ebp - 0x308], 1
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
imul ecx, dword [ebp - 0x24]
add eax, ecx
cmp eax, dword [ebp - 0x308]
jge 0x10051e15
mov eax, 0x12f3ccd2
test eax, eax
je 0x10051e15
mov dword [ebp - 0x1d8], 1
jmp 0x10051e1c
and dword [ebp - 0x1d8], 0
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x4b8], eax
cmp dword [ebp - 0x24], 0
jne 0x10051e43
mov eax, 0xb4709ba8
test eax, eax
je 0x10051e58
mov eax, 0xb5d1cb6a
test eax, eax
je 0x10051e58
mov dword [ebp - 0x288], 1
jmp 0x10051e5f
and dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0xe8], 0
je 0x10051e86
mov eax, 0x5f40e13f
test eax, eax
je 0x10051e86
mov dword [ebp - 0x1e0], 1
jmp 0x10051e8d
and dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x1e0], eax
jne 0x10051eaa
cmp dword [ebp - 0x54], 0
je 0x10051eaa
mov dword [ebp - 0x2e0], 1
jmp 0x10051eb1
and dword [ebp - 0x2e0], 0
cmp dword [ebp - 0x2e0], 0xfffffffb
ja 0x10051fbd
mov dword [ebp - 0x13c], 0xf69a
mov dword [ebp - 0x11c], 0x40c8
cmp dword [ebp - 0xe8], 0
jne 0x10051eee
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x49c], eax
cmp dword [ebp - 0x13c], 0
or eax, 0xffffffff
cmp eax, 0xffffffff
jae 0x10051f02
mov dword [ebp - 0x1e8], 1
jmp 0x10051f09
and dword [ebp - 0x1e8], 0
push 1
lea ecx, [ebp - 0x42c]
call fcn.1001b8b2
mov ecx, dword [ebp - 0x1e8]
sub ecx, dword [ebp - 0x13c]
cmp dword [eax], ecx
jne 0x10051f32
mov dword [ebp - 0x3e8], 1
jmp 0x10051f39
and dword [ebp - 0x3e8], 0
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x4b0], eax
cmp dword [ebp - 0x11c], 0x379a1d12
jne 0x10051f5d
mov dword [ebp - 0x290], 1
jmp 0x10051f64
and dword [ebp - 0x290], 0
push 2
lea ecx, [ebp - 0x42c]
call fcn.1001b8b2
mov ecx, dword [ebp - 0x290]
cmp ecx, dword [eax]
jle 0x10051f87
mov dword [ebp - 0x1f0], 1
jmp 0x10051f8e
and dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0x11c]
cmp dword [ebp - 0x1f0], eax
je 0x10051fa8
mov dword [ebp - 0x32c], 1
jmp 0x10051faf
and dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x54], eax
jmp 0x100520b9
mov dword [ebp - 0x1f8], 0x320ba2c
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x54], 0
jmp 0x10051fde
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0xfffffff8
jg 0x1005206e
push 1
lea ecx, [ebp - 0x534]
call fcn.1001b841
mov byte [ebp - 4], 4
mov dword [ebp - 0x360], 0x17c927db
mov dword [ebp - 0xd8], 0
jmp 0x1005201c
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 1
jge 0x1005203e
push dword [ebp - 0xd8]
lea ecx, [ebp - 0x534]
call fcn.1001b8b2
mov dword [eax], 0xef4fc6a3
jmp 0x1005200f
mov eax, dword [ebp - 0x1f8]
inc eax
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x360], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x534]
call fcn.1001b8ad
jmp 0x10051fd7
cmp dword [ebp - 0x40], 0
je 0x1005208c
mov byte [ebp - 0x5d], 0
movzx eax, byte [ebp - 0x5d]
test eax, eax
je 0x1005208a
push 0
push 0
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
jmp 0x100520b9
mov dword [ebp - 0x40], 0
jmp 0x1005209c
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jg 0x100520b9
push dword [ebp - 0x40]
lea ecx, [ebp - 0x42c]
call fcn.1001b8b2
cmp dword [eax], 0
je 0x100520b7
jmp 0x100520b9
jmp 0x10052095
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x42c]
call fcn.1001b8ad
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x3dc], eax
mov dword [ebp - 0x20], 0xed680444
mov dword [ebp - 0x98], 7
mov dword [ebp - 0x454], 0xea4c5706
mov dword [ebp - 0x450], 0xea4c5706
mov dword [ebp - 0x44c], 0xea4c5706
mov dword [ebp - 0x448], 0xea4c5706
lea ecx, [ebp - 0x156]
call fcn.1000db63
push eax
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x5b8]
call fcn.1001b8c1
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x48c]
call fcn.1001b883
mov dword [ebp - 4], 5
mov dword [ebp - 0x98], 1
mov eax, dword [ebp - 0x98]
cmp dword [ebp - 0x20], eax
je 0x1005216a
mov dword [ebp - 0x298], 1
jmp 0x10052171
and dword [ebp - 0x298], 0
cmp dword [ebp - 0x298], 7
jb 0x10052186
mov dword [ebp - 0x200], 1
jmp 0x1005218d
and dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x200], eax
jg 0x100521a4
mov dword [ebp - 0x208], 1
jmp 0x100521ab
and dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jge 0x100521bf
mov dword [ebp - 0x2e8], 1
jmp 0x100521c6
and dword [ebp - 0x2e8], 0
cmp dword [ebp - 0x2e8], 1
ja 0x100521db
mov dword [ebp - 0x2a0], 1
jmp 0x100521e2
and dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 0x208]
cmp eax, dword [ebp - 0x2a0]
jge 0x100521fc
mov dword [ebp - 0x210], 1
jmp 0x10052203
and dword [ebp - 0x210], 0
cmp dword [ebp - 0x210], 0x977a
jge 0x1005221b
mov dword [ebp - 0x310], 1
jmp 0x10052222
and dword [ebp - 0x310], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x310], eax
jg 0x1005223a
cmp dword [ebp - 0x98], 0
je 0x1005235f
mov dword [ebp - 0xf8], 0
jmp 0x10052253
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 3
jge 0x1005226f
mov eax, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0x420], 5
jmp 0x10052246
push 4
pop eax
shl eax, 0
mov esi, dword [ebp + eax - 0x420]
push 3
lea ecx, [ebp - 0x48c]
call fcn.1001b8b2
add esi, dword [eax]
imul esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x20]
jl 0x100522a0
mov dword [ebp - 0x218], 1
jmp 0x100522a7
and dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0x218]
push 4
pop ecx
shl ecx, 0
cmp eax, dword [ebp + ecx - 0x420]
je 0x100522ce
mov dword [ebp - 0x2a8], 1
jmp 0x100522d5
and dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x2a8]
add eax, 0xebf3
cmp eax, 0x1355fff8
jge 0x10052303
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x420], 0
je 0x10052303
mov dword [ebp - 0x220], 1
jmp 0x1005230a
and dword [ebp - 0x220], 0
cmp dword [ebp - 0x220], 0xffff
jb 0x10052322
mov dword [ebp - 0x2f0], 1
jmp 0x10052329
and dword [ebp - 0x2f0], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x420]
cmp eax, dword [ebp - 0x2f0]
jle 0x1005234a
mov dword [ebp - 0x228], 1
jmp 0x10052351
and dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x98], eax
jmp 0x1005238b
mov dword [ebp - 0x20], 0
jmp 0x1005236f
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x1005238b
push dword [ebp - 0x20]
lea ecx, [ebp - 0x48c]
call fcn.1001b8b2
mov dword [eax], 0xd3ed23c5
jmp 0x10052368
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48c]
call fcn.1001b8ad
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x15c], eax
push 1
lea ecx, [ebp - 0x338]
call fcn.1001b841
mov dword [ebp - 4], 6
mov dword [ebp - 0x78], 0x35c5735
mov dword [ebp - 0x3f0], 1
mov dword [ebp - 0x324], 0xc3825062
mov dword [ebp - 0x88], 2
mov dword [ebp - 0x80], 0xfffffff7
mov dword [ebp - 0x5c], 0xb8c105a8
mov dword [ebp - 0xa0], 0x5077045b
mov dword [ebp - 0x378], 0x12ef
mov dword [ebp - 0xb8], 0
jmp 0x1005241a
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 1
jge 0x1005243c
push dword [ebp - 0xb8]
lea ecx, [ebp - 0x338]
call fcn.1001b8b2
mov dword [eax], 4
jmp 0x1005240d
push 0
lea ecx, [ebp - 0x338]
call fcn.1001b8b2
cmp dword [eax], 0xa5ef
jl 0x1005245d
mov dword [ebp - 0x238], 1
jmp 0x10052464
and dword [ebp - 0x238], 0
push 0
lea ecx, [ebp - 0x338]
call fcn.1001b8b2
cmp dword [eax], 1
jg 0x10052482
mov dword [ebp - 0x2b0], 1
jmp 0x10052489
and dword [ebp - 0x2b0], 0
mov eax, dword [ebp - 0x3f0]
cmp dword [ebp - 0x2b0], eax
jge 0x100524a3
mov dword [ebp - 0x230], 1
jmp 0x100524aa
and dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x4bc], eax
push 0
lea ecx, [ebp - 0x338]
call fcn.1001b8b2
cmp dword [ebp - 0x80], 0x94b2
jg 0x100524f0
mov dword [ebp - 0x2b8], 1
jmp 0x100524f7
and dword [ebp - 0x2b8], 0
push 0
lea ecx, [ebp - 0x338]
call fcn.1001b8b2
mov eax, dword [eax]
imul eax, dword [ebp - 0x238]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x78], 0
jmp 0x10052538
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jg 0x100528a8
mov dword [ebp - 0xdc], 0x7245c2f1
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x5c], 0
jmp 0x10052569
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jg 0x100528a3
push 4
lea ecx, [ebp - 0x414]
call fcn.1001b841
mov byte [ebp - 4], 7
mov dword [ebp - 0xc4], 0
jmp 0x1005259d
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 4
jge 0x100525bf
push dword [ebp - 0xc4]
lea ecx, [ebp - 0x414]
call fcn.1001b8b2
mov dword [eax], 0xfffffff7
jmp 0x10052590
mov dword [ebp - 0x80], 0
jmp 0x100525cf
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
jg 0x1005288f
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x370], 1
mov dword [ebp - 0x88], 0
jmp 0x10052603
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jg 0x1005288a
push 3
lea ecx, [ebp - 0x408]
call fcn.1001b841
mov byte [ebp - 4], 8
mov dword [ebp - 0x3e4], 0x6f4c35c2
mov dword [ebp - 0xcc], 0
jmp 0x10052644
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 3
jge 0x10052666
push dword [ebp - 0xcc]
lea ecx, [ebp - 0x408]
call fcn.1001b8b2
mov dword [eax], 0x84725324
jmp 0x10052637
mov eax, dword [ebp - 0x7c]
add eax, 0x3a15
cmp dword [ebp - 0x7c], eax
jg 0x1005267f
mov dword [ebp - 0x240], 1
jmp 0x10052686
and dword [ebp - 0x240], 0
imul eax, dword [ebp - 0x240], 0
test eax, eax
je 0x100526c2
mov dword [ebp - 0xa0], 0
jmp 0x100526aa
mov eax, dword [ebp - 0xa0]
dec eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jl 0x100526bd
cmp dword [ebp - 0x5c], 0
je 0x100526bb
jmp 0x100526bd
jmp 0x1005269d
jmp 0x10052876
push 3
lea ecx, [ebp - 0x498]
call fcn.1001b841
mov byte [ebp - 4], 9
mov dword [ebp - 0xd4], 0
jmp 0x100526ec
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 3
jge 0x1005270b
push dword [ebp - 0xd4]
lea ecx, [ebp - 0x498]
call fcn.1001b8b2
or dword [eax], 0xffffffff
jmp 0x100526df
mov dword [ebp - 0x7c], 0
jmp 0x1005271b
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jg 0x10052867
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x4c4], eax
mov eax, 0x369029ef
test eax, eax
je 0x10052825
push 1
lea ecx, [ebp - 0x408]
call fcn.1001b8b2
mov eax, dword [eax]
add eax, 0x5dda
imul eax, dword [ebp - 0xdc]
test eax, eax
jne 0x10052778
push 0
lea ecx, [ebp - 0x338]
call fcn.1001b8b2
cmp dword [eax], 0
jne 0x10052778
and dword [ebp - 0x2f8], 0
jmp 0x10052782
mov dword [ebp - 0x2f8], 1
push 0
lea ecx, [ebp - 0x414]
call fcn.1001b8b2
mov ecx, dword [ebp - 0x2f8]
cmp ecx, dword [eax]
je 0x100527a5
mov dword [ebp - 0x248], 1
jmp 0x100527ac
and dword [ebp - 0x248], 0
cmp dword [ebp - 0x248], 0
je 0x100527c1
mov dword [ebp - 0x2c0], 1
jmp 0x100527c8
and dword [ebp - 0x2c0], 0
mov eax, dword [ebp - 0x370]
cmp dword [ebp - 0x2c0], eax
jne 0x100527e2
mov dword [ebp - 0x3b8], 1
jmp 0x100527e9
and dword [ebp - 0x3b8], 0
push 0
lea ecx, [ebp - 0x414]
call fcn.1001b8b2
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x554], eax
push 2
lea ecx, [ebp - 0x498]
call fcn.1001b8b2
imul eax, dword [eax], 0xffff
test eax, eax
je 0x10052825
mov dword [ebp - 0x250], 1
jmp 0x1005282c
and dword [ebp - 0x250], 0
push 1
lea ecx, [ebp - 0x408]
call fcn.1001b8b2
mov ecx, dword [ebp - 0x250]
cmp ecx, dword [eax]
jne 0x1005284f
mov dword [ebp - 0x170], 1
jmp 0x10052856
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x3e4], eax
jmp 0x10052714
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x498]
call fcn.1001b8ad
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x408]
call fcn.1001b8ad
jmp 0x100525f6
jmp 0x100525c8
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x414]
call fcn.1001b8ad
jmp 0x10052562
jmp 0x10052531
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x338]
call fcn.1001b8ad
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x388], eax
mov dword [ebp - 0xac], 0x52cb1363
mov dword [ebp - 0x4c0], 0xffffffff
mov dword [ebp - 0x518], 0x6312
mov dword [ebp - 0x4c8], 0xffffffff
push 2
lea ecx, [ebp - 0x544]
call fcn.1001b841
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x2c], 0
jmp 0x10052918
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x1005292e
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x5b0], 0x342e
jmp 0x10052911
mov dword [ebp - 0x2c], 0
jmp 0x1005293e
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x1005295a
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x544]
call fcn.1001b8b2
mov dword [eax], 1
jmp 0x10052937
mov dword [ebp - 0xac], 1
jmp 0x10052973
mov eax, dword [ebp - 0xac]
dec eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
jl 0x100529b9
mov dword [ebp - 0x570], 0xec7516a2
mov dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x174]
dec eax
mov dword [ebp - 0x174], eax
mov byte [ebp - 0x6e], 0
movzx eax, byte [ebp - 0x6e]
test eax, eax
je 0x100529b7
push 0
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
jmp 0x10052966
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x544]
call fcn.1001b8ad
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp - 0x3c]
cmp dword [eax], 0
jne 0x100529ec
mov eax, dword [ebp - 0x3c]
cmp dword [eax], 0
jne 0x100529ec
and dword [ebp - 0x17c], 0
jmp 0x100529f6
mov dword [ebp - 0x17c], 1
cmp dword [ebp - 0x17c], 0xfffa
jbe 0x10052a0e
mov dword [ebp - 0x184], 1
jmp 0x10052a15
and dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x520], eax
mov eax, dword [ebp - 0x388]
mov dword [eax], 0xaee5
cmp dword [ebp - 0x184], 0xaee5
jg 0x10052a44
mov dword [ebp - 0x18c], 1
jmp 0x10052a4b
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp dword [ebp - 0x18c], eax
jl 0x10052a64
mov dword [ebp - 0x194], 1
jmp 0x10052a6b
and dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
cmp dword [ebp - 0x194], eax
je 0x10052a84
mov dword [ebp - 0x19c], 1
jmp 0x10052a8b
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x19c]
dec eax
mov ecx, dword [ebp - 0x3c]
imul eax, dword [ecx]
test eax, eax
jne 0x10052aaa
or eax, 0xffffffff
jne 0x10052aaa
and dword [ebp - 0x120], 0
jmp 0x10052ab4
mov dword [ebp - 0x120], 1
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x120]
mov dword [eax], ecx
cmp dword [ebp - 0x120], 0
je 0x10052ae2
mov eax, dword [ebp - 0x15c]
cmp dword [eax], 0
je 0x10052ae2
mov dword [ebp - 0x1ac], 1
jmp 0x10052ae9
and dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x50608375
cmp eax, 0x32e3
je 0x10052b07
mov dword [ebp - 0x128], 1
jmp 0x10052b0e
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x128]
mov dword [eax], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
add eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x390]
mov dword [ecx], eax
jmp 0x100538f0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3a8], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x4d8], 0
mov dword [ebp - 0x3c8], 1
push 4
lea ecx, [ebp - 0x108]
call fcn.1001b841
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x1cc], 2
mov dword [ebp - 0x3e0], 1
mov dword [ebp - 0x38], 0
jmp 0x10052b92
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 4
jge 0x10052bae
push dword [ebp - 0x38]
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
mov dword [eax], 4
jmp 0x10052b8b
mov dword [ebp - 0x38], 0
jmp 0x10052bbe
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 2
jge 0x10052bd4
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x4ac], 0x5f84255e
jmp 0x10052bb7
mov dword [ebp - 0x3c8], 0
push 2
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
mov esi, dword [ebp - 0x1cc]
push 2
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
cmp esi, dword [eax]
je 0x10052c0e
mov dword [ebp - 0x1b4], 1
jmp 0x10052c15
and dword [ebp - 0x1b4], 0
push 0
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
mov esi, dword [eax]
add esi, dword [ebp - 0x1b4]
push 2
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
cmp esi, dword [eax]
jne 0x10052c4d
mov eax, 0xd06b
test eax, eax
jne 0x10052c4d
and dword [ebp - 0x1bc], 0
jmp 0x10052c57
mov dword [ebp - 0x1bc], 1
push 2
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
mov ecx, dword [ebp - 0x1bc]
cmp ecx, dword [eax]
jne 0x10052c7a
mov dword [ebp - 0x1c4], 1
jmp 0x10052c81
and dword [ebp - 0x1c4], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x1c4]
sub ecx, dword [ebp + eax - 0x4ac]
cmp ecx, 0x1e707165
jge 0x10052cae
cmp dword [ebp - 0x1cc], 0
jne 0x10052cae
and dword [ebp - 0x398], 0
jmp 0x10052cb8
mov dword [ebp - 0x398], 1
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x558], eax
push 2
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
push 2
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
push 1
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
mov esi, eax
push 2
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
mov ecx, dword [esi]
cmp ecx, dword [eax]
je 0x10052d0c
mov dword [ebp - 0x1d4], 1
jmp 0x10052d13
and dword [ebp - 0x1d4], 0
push 2
lea ecx, [ebp - 0x108]
call fcn.1001b8b2
mov ecx, dword [ebp - 0x1d4]
mov dword [eax], ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x108]
call fcn.1001b8ad
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x10], 0x19d29be1
mov dword [ebp - 0xa4], 0xffffffff
mov dword [ebp - 0xa8], 0x142c78ef
mov dword [ebp - 0x23c], 0xffffffff
imul eax, dword [ebp - 0x10], 0x25b0
test eax, eax
je 0x10052f59
mov dword [ebp - 0x3a0], 0x23b4709b
mov dword [ebp - 0x130], 0xffffffff
mov dword [ebp - 0xe4], 0
jmp 0x10052da1
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 1
jge 0x10052dbd
mov eax, dword [ebp - 0xe4]
mov dword [ebp + eax*4 - 0x1fc], 0xffffffff
jmp 0x10052d94
cmp dword [ebp - 0x10], 0
jne 0x10052eeb
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jl 0x10052ddb
mov dword [ebp - 0x1dc], 1
jmp 0x10052de2
and dword [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x1dc]
sub eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x3a0]
jge 0x10052dff
mov dword [ebp - 0x3d8], 1
jmp 0x10052e06
and dword [ebp - 0x3d8], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x4e0], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x1fc], 0x7a5e
jge 0x10052e2e
mov dword [ebp - 0x1e4], 1
jmp 0x10052e35
and dword [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x10], eax
jne 0x10052e50
cmp dword [ebp - 0x10], 0
cmp dword [ebp - 0x130], 0x46c2
jle 0x10052e68
mov dword [ebp - 0x1ec], 1
jmp 0x10052e6f
and dword [ebp - 0x1ec], 0
mov eax, dword [ebp - 0x1ec]
neg eax
cmp eax, 3
jle 0x10052e88
mov dword [ebp - 0x1f4], 1
jmp 0x10052e8f
and dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1f4], eax
je 0x10052ea6
mov dword [ebp - 0x204], 1
jmp 0x10052ead
and dword [ebp - 0x204], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1fc]
cmp dword [ebp - 0x204], eax
jle 0x10052ece
mov dword [ebp - 0x20c], 1
jmp 0x10052ed5
and dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x20c]
sub eax, 0xea0a
jne 0x10052eeb
and dword [ebp - 0x214], 0
jmp 0x10052ef5
mov dword [ebp - 0x214], 1
cmp dword [ebp - 0x214], 5
jne 0x10052f10
cmp dword [ebp - 0x10], 0
je 0x10052f10
mov dword [ebp - 0x21c], 1
jmp 0x10052f17
and dword [ebp - 0x21c], 0
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10052f38
cmp dword [ebp - 0x10], 0
je 0x10052f38
mov dword [ebp - 0x224], 1
jmp 0x10052f3f
and dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa8], eax
jmp 0x10052f72
mov byte [ebp - 0x65], 0
movzx eax, byte [ebp - 0x65]
test eax, eax
je 0x10052f72
push 0
push 0x1e52
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x528], eax
mov eax, dword [ebp - 0xa8]
cmp dword [ebp - 0xa8], eax
jg 0x10052f98
mov dword [ebp - 0x22c], 1
jmp 0x10052f9f
and dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x22c]
jge 0x10052fb6
mov dword [ebp - 0x244], 1
jmp 0x10052fbd
and dword [ebp - 0x244], 0
cmp dword [ebp - 0xa8], 0
jne 0x10052fd8
mov eax, 0xe0c0a103
test eax, eax
jne 0x10052fd8
and dword [ebp - 0x234], 0
jmp 0x10052fe2
mov dword [ebp - 0x234], 1
mov eax, dword [ebp - 0xa4]
imul eax, dword [ebp - 0x234]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
imul eax, dword [ebp - 0x244]
cmp eax, dword [ebp - 0xa8]
jge 0x10053016
mov dword [ebp - 0x24c], 1
jmp 0x1005301d
and dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0x24c]
neg eax
sub eax, dword [ebp - 0xa4]
jne 0x10053078
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x568], 0x9a1d127a
mov dword [ebp - 0x4f0], 9
mov dword [ebp - 0x538], 0xfffffffd
mov dword [ebp - 0x4f8], 6
mov dword [ebp - 0x254], 1
mov eax, dword [ebp - 0x254]
dec eax
mov dword [ebp - 0x254], eax
jmp 0x1005309d
mov byte [ebp - 0x42], 0
movzx eax, byte [ebp - 0x42]
test eax, eax
je 0x1005309d
push 0
push 0
push 0
push 0
push 0
push 0
push 0x1878
push 0
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x394], eax
mov dword [ebp - 0xec], 1
mov dword [ebp - 0xec], 0
jmp 0x100530c9
mov eax, dword [ebp - 0xec]
dec eax
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0xfffffff6
jle 0x1005314a
mov dword [ebp - 0xb0], 8
mov dword [ebp - 0xb0], 0xf
jmp 0x100530f5
mov eax, dword [ebp - 0xb0]
dec eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 8
jle 0x10053145
mov dword [ebp - 0xb4], 0xffffffff
mov dword [ebp - 0xb4], 0
jmp 0x10053121
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0x12
je 0x10053143
mov dword [ebp - 0x25c], 1
mov eax, dword [ebp - 0x25c]
dec eax
mov dword [ebp - 0x25c], eax
jmp 0x10053114
jmp 0x100530e8
jmp 0x100530bc
mov eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x118], 0xffff
mov dword [ebp - 0x114], 0xffff
mov dword [ebp - 0x110], 0xffff
mov dword [ebp - 0x10c], 0xffff
mov dword [ebp - 0x30], 0x2c36544d
mov dword [ebp - 0x34], 0x19a6fdd8
mov dword [ebp - 0x64], 0x790660d6
mov dword [ebp - 0x384], 0xbdccb4f7
xor eax, eax
jne 0x1005329f
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x118], 0
jne 0x1005326a
push 4
pop eax
shl eax, 0
push 4
pop ecx
shl ecx, 1
mov ecx, dword [ebp + ecx - 0x118]
cmp dword [ebp + eax - 0x118], ecx
je 0x100531f4
mov dword [ebp - 0x264], 1
jmp 0x100531fb
and dword [ebp - 0x264], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x118]
cmp dword [ebp - 0x264], eax
jl 0x1005321c
mov dword [ebp - 0x26c], 1
jmp 0x10053223
and dword [ebp - 0x26c], 0
cmp dword [ebp - 0x26c], 0x5ed7
jle 0x1005323b
mov dword [ebp - 0x364], 1
jmp 0x10053242
and dword [ebp - 0x364], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x118]
push 4
pop ecx
imul ecx, ecx, 3
imul eax, dword [ebp + ecx - 0x118]
test eax, eax
jne 0x1005326a
and dword [ebp - 0x350], 0
jmp 0x10053274
mov dword [ebp - 0x350], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x118]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x560], eax
mov eax, 0x55a63a74
test eax, eax
jne 0x1005329f
and dword [ebp - 0x274], 0
jmp 0x100532a9
mov dword [ebp - 0x274], 1
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x274]
add eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x64]
test eax, eax
je 0x100532e2
cmp dword [ebp - 0x64], 0
je 0x100532e2
mov byte [ebp - 0x43], 0
movzx eax, byte [ebp - 0x43]
test eax, eax
je 0x100532dd
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
jmp 0x100535e5
mov dword [ebp - 0x84], 5
mov dword [ebp - 0xfc], 0x4322e7c6
mov dword [ebp - 0x440], 6
mov dword [ebp - 0x43c], 6
mov dword [ebp - 0x438], 6
mov dword [ebp - 0x434], 6
lea ecx, [ebp - 0x157]
call fcn.1000db63
push eax
lea eax, [ebp - 0x430]
push eax
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x5a8]
call fcn.1001b8c1
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x480]
call fcn.1001b883
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x34], 0
jmp 0x1005336a
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jg 0x100534b4
mov dword [ebp - 0x138], 0xffffffff
mov dword [ebp - 0x30], 0
jmp 0x1005338e
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 3
jg 0x100534af
mov dword [ebp - 0x37c], 6
mov eax, dword [ebp - 0x30]
cmp dword [ebp + eax*4 - 0x118], 0
je 0x100533c6
mov byte [ebp - 0x45], 0
movzx eax, byte [ebp - 0x45]
test eax, eax
je 0x100533c1
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x100534aa
mov dword [ebp - 0x27c], 0xc8a81d5f
mov dword [ebp - 0x374], 0xe74fd574
mov byte [ebp - 0x70], 0
movzx eax, byte [ebp - 0x70]
test eax, eax
je 0x100533ee
push 0
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov dword [ebp - 0x27c], 0xa966896e
mov eax, dword [ebp - 0x374]
cmp dword [ebp - 0x27c], eax
jg 0x10053412
mov dword [ebp - 0x284], 1
jmp 0x10053419
and dword [ebp - 0x284], 0
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x548], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x508], eax
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x118]
sub eax, dword [ebp - 0x138]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x284], eax
jne 0x10053476
mov dword [ebp - 0x28c], 1
jmp 0x1005347d
and dword [ebp - 0x28c], 0
mov eax, dword [ebp - 0xfc]
cmp dword [ebp - 0x28c], eax
je 0x10053497
mov dword [ebp - 0x294], 1
jmp 0x1005349e
and dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x37c], eax
jmp 0x10053387
jmp 0x10053363
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x30], eax
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x118]
cmp dword [ebp - 0x30], eax
jl 0x100534d5
cmp dword [ebp - 0x84], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x64]
cmp dword [ebp + eax - 0x118], ecx
jg 0x100534f3
mov dword [ebp - 0x140], 1
jmp 0x100534fa
and dword [ebp - 0x140], 0
push 2
lea ecx, [ebp - 0x480]
call fcn.1001b8b2
mov ecx, dword [ebp - 0x140]
mov dword [eax], ecx
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x140]
jge 0x10053526
mov dword [ebp - 0x29c], 1
jmp 0x1005352d
and dword [ebp - 0x29c], 0
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x64], eax
je 0x1005354d
mov dword [ebp - 0x2a4], 1
jmp 0x10053554
and dword [ebp - 0x2a4], 0
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x2a4], eax
jg 0x10053574
cmp dword [ebp - 0x384], 0
jne 0x10053574
and dword [ebp - 0x38c], 0
jmp 0x1005357e
mov dword [ebp - 0x38c], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x118]
mov dword [ebp - 0x54c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x510], eax
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x34], eax
jl 0x100535c0
push 3
lea ecx, [ebp - 0x480]
call fcn.1001b8b2
cmp dword [eax], 0
jne 0x100535c0
and dword [ebp - 0x2ac], 0
jmp 0x100535ca
mov dword [ebp - 0x2ac], 1
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0xfc], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x480]
call fcn.1001b8ad
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x8c], 0xb9f9b319
mov dword [ebp - 0x148], 0xed99ea7
mov dword [ebp - 0x8c], 0xffffffe8
jmp 0x1005361e
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0xffffffee
jl 0x100537a0
mov dword [ebp - 0x6c], 0xfe5f36f6
mov dword [ebp - 0xc0], 0
jmp 0x1005364b
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 4
jge 0x10053667
mov eax, dword [ebp - 0xc0]
mov dword [ebp + eax*4 - 0x580], 0xfffffff8
jmp 0x1005363e
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x580]
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jne 0x10053688
mov dword [ebp - 0x2dc], 1
jmp 0x1005368f
and dword [ebp - 0x2dc], 0
cmp dword [ebp - 0x6c], 0
jne 0x100536aa
mov eax, 0x1510
test eax, eax
je 0x100536aa
mov dword [ebp - 0x2b4], 1
jmp 0x100536b1
and dword [ebp - 0x2b4], 0
cmp dword [ebp - 0x2b4], 0xbd13d8c5
ja 0x100536c9
mov dword [ebp - 0x2bc], 1
jmp 0x100536d0
and dword [ebp - 0x2bc], 0
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x148], eax
imul eax, dword [ebp - 0x148], 0x8e13
cmp dword [ebp - 0x8c], eax
jg 0x10053706
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x580], 0
jne 0x10053706
and dword [ebp - 0x2c4], 0
jmp 0x10053710
mov dword [ebp - 0x2c4], 1
imul eax, dword [ebp - 0x2c4], 0x11c3
cmp eax, dword [ebp - 0x8c]
jl 0x1005372e
mov dword [ebp - 0x2cc], 1
jmp 0x10053735
and dword [ebp - 0x2cc], 0
cmp dword [ebp - 0x2cc], 0x42bb
jne 0x1005374d
mov dword [ebp - 0x2d4], 1
jmp 0x10053754
and dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x2d4]
dec eax
cmp dword [ebp - 0x2dc], eax
jne 0x10053787
mov dword [ebp - 0x6c], 3
jmp 0x10053773
mov eax, dword [ebp - 0x6c]
dec eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jl 0x10053785
mov dword [ebp - 0x148], 0x617a9413
jmp 0x1005376c
jmp 0x1005379b
mov byte [ebp - 0x44], 0
movzx eax, byte [ebp - 0x44]
test eax, eax
je 0x1005379b
push 0
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x10053611
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0xffffffff
jl 0x100537b4
mov dword [ebp - 0x2f4], 1
jmp 0x100537bb
and dword [ebp - 0x2f4], 0
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2e4]
cmp dword [eax], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
cmp dword [eax], ecx
je 0x100537e9
mov dword [ebp - 0x150], 1
jmp 0x100537f0
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x150]
mov dword [eax], ecx
cmp dword [ebp - 0x150], 0
jne 0x10053819
mov eax, 0x2aff
test eax, eax
jne 0x10053819
and dword [ebp - 0x2ec], 0
jmp 0x10053823
mov dword [ebp - 0x2ec], 1
imul eax, dword [ebp - 0x2ec], 0xfffffff6
cmp dword [ebp - 0x2f4], eax
jl 0x1005383e
mov dword [ebp - 0x2fc], 1
jmp 0x10053845
and dword [ebp - 0x2fc], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
sub eax, dword [ebp - 0x2fc]
cmp eax, 1
jg 0x10053869
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
je 0x10053869
mov dword [ebp - 0x3a4], 1
jmp 0x10053870
and dword [ebp - 0x3a4], 0
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0xffffffff
je 0x10053884
mov dword [ebp - 0x304], 1
jmp 0x1005388b
and dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
imul eax, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx]
jle 0x100538aa
mov dword [ebp - 0x160], 1
jmp 0x100538b1
and dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
add eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx]
jne 0x100538cf
mov dword [ebp - 0x168], 1
jmp 0x100538d6
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
imul eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x14]
imul eax, dword [ecx]
mov ecx, dword [ebp - 0x3ac]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret