Function at 0x10018d57
Capabilities:
Extract resource via kernel32 functions
Get graphical window text
Query or enumerate registry value
Read .ini file
Resolve function by parsing pe exports
Resume thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008014f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xc], ebx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x14], 5
push 2
mov dword [esp + 0xb8], edx
call fcn.10016f46
push 2
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], ebx
pop esi
jmp 0x10018dc8
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xdc]
mov dword [eax + ecx*4], 0x8530de9b
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10018db2
mov dword [esp + 0xc], 0xfffffff6
cmp dword [esp + 0xc], 0x1a
push 1
pop eax
jge 0x10018e1e
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x24], 0x38bea122
jle 0x10018df6
mov edx, eax
cmp dword [esp + 0xc], ebx
jne 0x10018df8
mov edx, ebx
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x14], ebx
jne 0x10018e1b
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x1a
push 1
pop eax
jl 0x10018de0
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], ebx
jl 0x10018ea1
mov dword [esp + 0x1c], ebx
jmp 0x10018e41
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x1a0], 0xadfb1af9
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x10018e2e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xdc]
mov eax, dword [edx + eax*4]
cmp eax, dword [edx + ecx*4]
je 0x10018e8c
cmp dword [edx], ebx
jne 0x10018e77
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xdc]
cmp dword [edx + eax*4], ebx
jne 0x10018e77
mov eax, ebx
jmp 0x10018e7a
xor eax, eax
inc eax
neg eax
cmp eax, dword [edx]
je 0x10018e84
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x1a0]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
dec dword [esp + 0x14]
jns 0x10018e28
lea ecx, [esp + 0xdc]
call fcn.100177a1
mov dword [esp + 0x28], 4
xor ecx, ecx
mov dword [esp + 0x20], 0x7cd95da2
inc ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 0xfffffffb
mov dword [esp + 0xc], 0xfffffff7
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0xfffffffc
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], ebx
jmp 0x10018efd
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1b8], 0x4e8fe752
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10018eea
mov dword [esp + 0x14], ebx
jmp 0x10018f1d
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x84], 0x8d20
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10018f0a
mov eax, dword [esp + 0x28]
dec dword [esp + 0x84]
mov eax, dword [esp + 0x84]
cmp dword [esp + 0x28], eax
je 0x10018f63
cmp dword [esp + 0x24], 0x498b94be
je 0x10018f4b
cmp dword [esp + 0x18], ebx
jne 0x10018f4d
mov ecx, ebx
mov eax, dword [esp + 0xc]
sub ecx, eax
cmp ecx, dword [esp + 0x2c]
jge 0x10018f60
mov eax, dword [esp + 0x84]
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
sub eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0xa5d6c05b
mov dword [esp + 0x3c], 0xd535dd25
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x38], 0xd
jge 0x1001a76c
push 7
pop esi
mov dword [esp + 0x1c], 0x251d69f4
mov dword [esp + 0xc], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x14], 0xfffffffc
mov dword [esp + 0x2c], 0x2a67f8b4
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
sub edx, eax
add edx, dword [esp + 0xc]
imul edx, dword [esp + 0x1c]
add edx, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
cmp edx, eax
setge cl
add ecx, dword [esp + 0x14]
cmp ecx, 0xcaa8e55a
sbb eax, eax
xor edx, edx
neg eax
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
cmp eax, ecx
mov eax, dword [esp + 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
neg ecx
je 0x10019061
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100190d0
push 0x25aa
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MonitorFromWindow]
jmp 0x100190d0
mov dword [esp + 0x28], 0x2e4ed383
mov dword [esp + 0x24], 0x75e3aa9c
mov dword [esp + 0xc], 0x5ab171c2
mov eax, dword [esp + 0x28]
neg eax
je 0x100190b6
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp eax, 1
setge cl
xor eax, eax
cmp ecx, 0x2840
setle al
cmp eax, dword [esp + 0x2c]
jne 0x100190a9
cmp dword [esp + 0x24], ebx
je 0x100190a9
xor eax, eax
inc eax
jmp 0x100190ab
mov eax, ebx
cmp eax, dword [esp + 0x20]
jg 0x100190b6
xor eax, eax
inc eax
jmp 0x100190b8
mov eax, ebx
mov dword [esp + 0xc], eax
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100190d0
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x5c]
push dword [esp + 0x8c]
movdqa xmm0, xmmword [0x100080c0]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x180]
push eax
lea eax, [esp + 0x174]
mov dword [esp + 0x64], ebx
push eax
push ebx
movdqu xmmword [esp + 0x17c], xmm0
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
call fcn.1001851b
mov dword [esp + 0x1dc], ebx
lea ecx, [esp + 0x148]
mov dword [esp + 0xc], 0xfe7d
push 3
call fcn.10016f46
mov dword [esp + 0x14], ebx
jmp 0x1001914f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x148]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10019139
mov dword [esp + 0x14], ebx
jmp 0x1001916f
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x94], 0xfff9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x1001915c
dec dword [esp + 0x94]
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], ebx
jl 0x1001918d
dec dword [esp + 0xc]
jns 0x10019187
lea ecx, [esp + 0x148]
call fcn.100177a1
mov dword [esp + 0x34], 0x79d62bfe
xor ecx, ecx
mov dword [esp + 0xb8], 0xcc425f8e
inc ecx
mov dword [esp + 0x18], 5
mov dword [esp + 0x30], esi
mov dword [esp + 0xc], ebx
jmp 0x100191cd
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x54], ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x100191c1
mov dword [esp + 0x54], ecx
xor edx, edx
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x18]
setg cl
xor edx, edx
cmp eax, ecx
setne dl
xor ecx, ecx
sub edx, dword [esp + 0x18]
imul edx, dword [esp + 0x18]
cmp edx, 0x46c2
setl cl
xor edi, edi
xor eax, eax
inc edi
cmp ecx, edi
setge al
cmp eax, 0xd5493e
je 0x10019229
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
add ecx, eax
mov eax, dword [esp + 0x18]
cmp ecx, eax
sete dl
cmp dword [esp + 0x18], edx
je 0x10019254
mov eax, ebx
cmp dword [esp + 0x54], ebx
je 0x10019256
mov eax, edi
cmp eax, dword [esp + 0x18]
jge 0x10019282
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1001926e
push ebx
call dword [sym.imp.USER32.dll_IsRectEmpty]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100192e3
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
jmp 0x100192e3
mov dword [esp + 0xc], 0x72737ae9
mov dword [esp + 0x24], 0xffffffff
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100192b0
push 0x2302
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [esp + 0xc]
xor edx, edx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, edi
setl al
xor ecx, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x24], eax
setge cl
mov dword [esp + 0x24], ecx
mov dword [esp + 0xbc], 0x9b5f814d
mov dword [esp + 0x18], 5
mov dword [esp + 0x28], 0xffffffff
cmp dword [esp + 0x18], ebx
je 0x1001930c
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], ebx
je 0x10019337
mov dword [esp + 0x18], 0xfffffffe
jmp 0x1001932e
cmp dword [esp + 0x18], ebx
jne 0x1001938d
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffffb
jle 0x10019324
jmp 0x1001938d
mov dword [esp + 0xc], edi
mov dword [esp + 0x2c], 0x3a3dbc56
mov dword [esp + 0x18], ebx
jmp 0x10019364
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10019360
push 0x173b
push ebx
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jg 0x10019349
mov eax, dword [esp + 0xc]
mov ecx, 0xffff0001
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
sub ecx, eax
add ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x5c]
push 7
pop ecx
push 0
mov esi, dword [eax]
mov eax, dword [esp + 0x3c]
cmp ecx, eax
mov eax, dword [esp + 0x60]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, dword [eax + 0xc]
setl dl
add edx, esi
imul edx, esi
cmp edx, 5
sbb eax, eax
neg eax
pop eax
setns al
cmp eax, dword [esp + 0x38]
jg 0x1001a219
mov dword [esp + 0x58], 0xb0badcab
lea ecx, [esp + 0x10c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 0xfffd
mov dword [esp + 0x14], 0x136ef6f
mov dword [esp + 0x40], 0x422e233a
mov dword [esp + 0x2c], 0x833
mov dword [esp + 0x28], edi
push edi
call fcn.10016f46
push 4
mov dword [esp + 0x1c], ebx
pop esi
jmp 0x10019422
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x44], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10019412
xor edx, edx
mov dword [esp + 0x18], ebx
inc edx
jmp 0x10019447
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10c]
mov dword [eax + ecx*4], 0x641cecc2
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x10019431
mov dword [esp + 0x18], 3
cmp dword [esp + 0x18], ebx
jl 0x10019732
mov dword [esp + 0xc], 3
mov dword [esp + 0x30], 8
mov dword [esp + 0x24], 0x5d8e54fb
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x44], edx
mov eax, dword [esp + 0x18]
cmp dword [esp + eax*4 + 0x44], ebx
je 0x100194d1
cmp dword [esp + 0x4c], ebx
jne 0x100194ac
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
sub eax, dword [esp + 0xc]
cmp eax, 0xffffffff
jb 0x100194a4
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
cmp eax, edx
setge cl
add ecx, dword [esp + 0x1c]
je 0x100194d1
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setne dl
imul eax, edx
test eax, eax
je 0x10019615
mov dword [esp + 0x2c], 0xb1d319d7
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ecx
jg 0x10019605
mov dword [esp + 0x28], esi
mov dword [esp + 0xc], ebx
jmp 0x1001955a
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x188], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10019547
mov eax, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x18]
cmp eax, 0x3572
mov eax, dword [esp + 0x14]
setge cl
xor edx, edx
cmp ecx, 0x6b80
setge dl
cmp dword [esp + eax*4 + 0x44], edx
jge 0x100195c5
mov eax, dword [esp + 0x18]
cmp dword [esp + eax*4 + 0x44], ebx
jne 0x100195c5
mov eax, ebx
jmp 0x100195c8
xor eax, eax
inc eax
xor ecx, ecx
cmp eax, 0xcddc
mov eax, dword [esp + 0x18]
setge cl
mov dword [esp + eax*4 + 0x44], ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x28], 0xd979388b
sbb eax, eax
neg eax
mov dword [esp + 0x2c], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jle 0x1001953d
mov eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0xc], eax
inc edx
jmp 0x10019728
mov dword [esp + 0x20], 0x519f
mov dword [esp + 0x28], 0xfffffff6
mov dword [esp + 0x2c], 0xf177dae0
cmp dword [esp + 0x1c], ebx
jne 0x100196c6
mov eax, dword [esp + 0x40]
xor edx, edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x2c]
cmp eax, ecx
setl dl
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x44]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4 + 0x44]
imul ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x44], ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x20], ebx
je 0x100196be
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [esp + 0x20]
cmp eax, 0x4420ca57
setl cl
xor edx, edx
mov dword [esp + 0x28], ecx
inc edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x44], ecx
xor ecx, ecx
mov eax, dword [esp + 0x2c]
cmp eax, edx
setle cl
add ecx, dword [esp + 0x20]
jne 0x1001970d
mov eax, dword [esp + 0x10c]
mov ecx, ebx
cmp dword [eax], ebx
je 0x1001970f
mov ecx, edx
xor eax, eax
cmp ecx, 0x566ec8b7
setle al
cmp eax, dword [esp + 0x2c]
jg 0x10019724
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], ebx
dec dword [esp + 0x18]
jns 0x1001945f
lea ecx, [esp + 0x10c]
call fcn.100177a1
push 5
pop edi
mov dword [esp + 0x30], edi
xor ecx, ecx
mov dword [esp + 0x20], 0xb743d837
inc ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ebx
jmp 0x1001976d
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x98], 0x20624039
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1001975a
mov dword [esp + 0x14], ebx
jmp 0x1001978a
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x68], 0xb8a277eb
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x1001977a
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100197a9
push ebx
push ebx
push 0x20a9
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
mov dword [esp + 0x20], ebx
jmp 0x10019894
mov dword [esp + 0xc], 0xf1fdbd01
xor edx, edx
mov dword [esp + 0x14], 0xffff
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x98]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x98]
mov eax, dword [esp + 0x98]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x98]
mov eax, dword [esp + 0x98]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + eax*4 + 0x98]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0x98]
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setg dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
cmp dword [esp + 0xc], eax
je 0x10019832
cmp dword [esp + 0x1c], ebx
je 0x10019832
xor eax, eax
inc eax
jmp 0x10019834
mov eax, ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x1c], 0xfffffff3
jmp 0x10019889
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], ebx
jl 0x10019862
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x68]
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x68], ecx
dec dword [esp + 0xc]
jns 0x1001984c
mov dword [esp + 0x14], ebx
jmp 0x1001987e
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1001987a
push ebx
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x11
jne 0x10019868
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xffffffe8
jge 0x10019842
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jle 0x100197b2
mov eax, dword [esp + 0x5c]
cmp dword [eax], ebx
je 0x100198e8
cmp dword [esp + 0x38], 0x494dfd99
mov ecx, dword [esp + 0x5c]
jle 0x100198bf
cmp dword [ecx + 4], ebx
je 0x100198bf
xor eax, eax
inc eax
jmp 0x100198c1
mov eax, ebx
imul eax, eax, 6
xor edx, edx
cmp eax, 0x8ca8c98a
mov eax, dword [esp + 0x38]
setne dl
sub edx, dword [ecx]
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x5c]
setge cl
cmp ecx, dword [eax]
je 0x100198e8
xor edx, edx
inc edx
jmp 0x100198ea
mov edx, ebx
mov eax, dword [esp + 0x38]
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
cmp eax, 1
mov eax, dword [esp + 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, 0x9bd12f8b
setl cl
cmp eax, ecx
sbb eax, eax
neg eax
cmp eax, esi
jbe 0x10019930
cmp dword [esp + 0x58], ebx
je 0x10019930
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x10019935
xor ecx, ecx
mov eax, ebx
inc ecx
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], ebx
je 0x10019aff
mov dword [esp + 0x30], 0x9038
mov dword [esp + 0x18], 0xade1
mov dword [esp + 0x2c], 0xe1d925b0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], 0xa9f4f9a0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], ebx
jmp 0x10019984
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x160], 0x276cc72b
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x10019971
mov eax, dword [esp + 0x18]
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0x2728
mov eax, dword [esp + 0x28]
setle dl
xor ecx, ecx
cmp eax, edx
setl cl
cmp ecx, 0xffffffff
jg 0x100199b3
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
push 6
pop ecx
cmp ecx, eax
sbb eax, eax
neg eax
sub eax, dword [esp + 0x18]
neg eax
sbb eax, eax
inc eax
add eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0xc], ebx
je 0x100199f0
cmp dword [esp + 0x18], ebx
jne 0x100199f0
xor edi, edi
mov edx, ebx
inc edi
jmp 0x100199f5
xor edi, edi
inc edi
mov edx, edi
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
cmp edx, eax
setne cl
cmp ecx, 5
sbb edx, edx
xor ecx, ecx
neg edx
mov dword [esp + 0x164], edx
mov eax, dword [esp + 0x18]
cmp edx, eax
setle cl
cmp dword [esp + 0x2c], ecx
jle 0x10019abc
push edi
lea ecx, [esp + 0xf8]
call fcn.10016f46
mov dword [esp + 0xc], ebx
jmp 0x10019a54
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xf4]
mov dword [eax + ecx*4], 0xe4f2
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10019a3e
mov dword [esp + 0x18], 0xffffffe5
jmp 0x10019a79
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xf4]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1e
je 0x10019a64
mov dword [esp + 0xc], esi
jmp 0x10019aa7
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10019a98
push ebx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, dword [esp + 0xf4]
cmp dword [eax], ebx
jne 0x10019aae
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x1b
jg 0x10019a86
lea ecx, [esp + 0xf4]
call fcn.100177a1
jmp 0x10019ae2
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10019ae2
push 0xf3f
push 0x11c9
push 0x46a
push 0x1689
push ebx
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
jmp 0x10019e8c
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0xe8]
push 3
call fcn.10016f46
xor edx, edx
inc edx
mov byte [esp + 0x1dc], dl
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], 0x19b885b3
mov dword [esp + 0x28], 0x58069d1f
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], ebx
jmp 0x10019b4b
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xe8]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10019b39
mov dword [esp + 0x14], ebx
jmp 0x10019b6b
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x168], 0xfffffff6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10019b58
cmp dword [esp + 0x2c], ebx
je 0x10019bf3
inc dword [esp + 0x1c]
jne 0x10019bf3
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
sub ecx, 0x95b676b
neg ecx
sbb ecx, ecx
xor edi, edi
xor eax, eax
inc ecx
inc edi
cmp ecx, edi
setl al
xor edx, edx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
mov esi, dword [esp + 0xe8]
setge dl
cmp edx, dword [esi + 4]
je 0x10019bd4
mov ecx, ebx
cmp dword [esi + 8], ebx
je 0x10019bd6
mov ecx, edi
xor eax, eax
cmp ecx, dword [esi + 8]
push 4
setle al
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
pop esi
jmp 0x10019bf6
xor edi, edi
inc edi
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + 4]
neg eax
je 0x10019c22
mov dword [esp + 0x30], 0xd6a5
mov eax, dword [esp + 0x30]
imul eax, eax, 0x389e
mov dword [ecx + 4], eax
mov dword [esp + 0x28], eax
jmp 0x10019cde
mov dword [esp + 0x30], 0xd94485e0
lea ecx, [esp + 0x13c]
push 3
call fcn.10016f46
mov byte [esp + 0x1dc], 2
mov dword [esp + 0xc], ebx
jmp 0x10019c5c
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x13c]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10019c46
mov dword [esp + 0xc], ebx
jmp 0x10019ccb
push 3
lea ecx, [esp + 0x158]
call fcn.10016f46
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x1c], ebx
jmp 0x10019c97
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x154]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x10019c85
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10019cb7
push edi
push 0x7c1
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
inc dword [esp + 0x24]
lea ecx, [esp + 0x154]
call fcn.100177a1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x10019c69
lea ecx, [esp + 0x13c]
call fcn.100177a1
lea ecx, [esp + 0xe8]
mov byte [esp + 0x1dc], bl
call fcn.100177a1
mov dword [esp + 0xc0], 0xf6679856
lea ecx, [esp + 0x100]
mov dword [esp + 0x1c], edi
push esi
call fcn.10016f46
push 3
mov dword [esp + 0x10], ebx
pop edx
cmp dword [esp + 0xc], esi
jge 0x10019d2e
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], edx
inc dword [esp + 0xc]
jmp 0x10019d14
mov dword [esp + 0x1c], edi
jmp 0x10019e3d
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], 5
mov dword [esp + 0x20], edx
cmp dword [esp + 0x20], ebx
jl 0x10019e39
mov dword [esp + 0xc], 0x585b7f
mov dword [esp + 0xc], edx
cmp dword [esp + 0xc], ebx
jl 0x10019dd0
mov dword [esp + 0x14], 0xfffffff6
mov dword [esp + 0x14], ebx
jmp 0x10019d8b
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], 0xad9bacc5
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10019d75
mov dword [esp + 0x14], ebx
jmp 0x10019dc4
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10019dc0
push 0xf3f
push 0x11c9
push 0x46a
push 0x1689
push ebx
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
push 3
pop edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jle 0x10019d97
dec dword [esp + 0xc]
jns 0x10019d67
mov dword [esp + 0xc], edx
cmp dword [esp + 0xc], ebx
jl 0x10019e2f
mov dword [esp + 0x28], 0xfffffffc
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x28], 0xfe4de5a8
mov edx, dword [esp + 0x20]
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xfffffffd
mov eax, dword [esp + 0x100]
setne cl
add ecx, 0x9564fc42
mov dword [eax + edx*4], ecx
dec dword [esp + 0xc]
jns 0x10019dda
push 3
pop edx
dec dword [esp + 0x20]
jns 0x10019d55
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xb
jle 0x10019d37
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10019e60
push 0x775
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea ecx, [esp + 0x100]
call fcn.100177a1
push ebx
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.1001ccee
add esp, 0x14
mov dword [esp + 0x18], 0x9c3fbb4
mov dword [esp + 0xc], ebx
jmp 0x10019ead
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x90], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10019e9a
mov ecx, dword [esp + 0x18]
xor edx, edx
add ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, dword [esp + 0x18]
add edx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp edx, eax
mov eax, dword [esp + 0x18]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x18]
setge dl
add eax, 0xffff4f3a
neg eax
sbb eax, eax
inc eax
cmp eax, edx
jge 0x10019f68
cmp dword [esp + 0x18], ebx
je 0x10019f68
mov dword [esp + 0x28], 0xfffffff6
mov dword [esp + 0x24], 0x3ed423cb
mov dword [esp + 0x30], 0xfffffff8
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], 0xffff3ba0
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10019fa6
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
jmp 0x10019fa6
mov dword [esp + 0x30], 0xfffffff7
mov dword [esp + 0x18], ebx
jmp 0x10019fa0
mov dword [esp + 0x24], 0xf4802d14
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x90], 0xfffffffc
mov eax, dword [esp + 0x24]
cmp eax, edi
setl cl
mov dword [esp + 0x24], ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jle 0x10019f76
mov dword [esp + 0x34], ebx
jmp 0x1001a209
mov dword [esp + 0x30], 0xc7bf0b96
lea ecx, [esp + 0x124]
mov dword [esp + 0x30], 0x3250e6da
mov dword [esp + 0x30], 0xab274bf9
mov dword [esp + 0x30], ebx
push esi
call fcn.10016f46
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x14], ebx
jmp 0x10019ff9
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x17c], 0x7dfa
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10019fe6
mov dword [esp + 0x14], ebx
jmp 0x1001a01c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x124]
mov dword [eax + ecx*4], 0x5c9e53e5
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x1001a006
mov eax, dword [esp + 0x17c]
lea ecx, [esp + 0x124]
mov dword [esp + 0x30], eax
dec dword [esp + 0x24]
call fcn.100177a1
mov dword [esp + 0x1c], 0x399841b3
lea ecx, [esp + 0xd0]
push 2
call fcn.10016f46
mov dword [esp + 0x24], 0x464f16ef
mov dword [esp + 0x30], 0x6f8f9ed0
mov dword [esp + 0x30], 0xec0021fb
mov dword [esp + 0xc], ebx
jmp 0x1001a087
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xd0]
mov dword [eax + ecx*4], 0x46b6eb6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001a071
mov dword [esp + 0x1c], 0x18
cmp dword [esp + 0x1c], 3
jle 0x1001a125
mov edi, dword [esp + 0xd0]
xor ecx, ecx
mov dword [esp + 0xc], ebx
dec dword [esp + 0x24]
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xc]
cmp dword [eax], ebx
mov eax, dword [esp + 0xc]
setne cl
imul edx, ecx
xor ecx, ecx
cmp edx, eax
mov dword [edi + 4], edx
mov eax, dword [esp + 0x1c]
setne cl
xor edx, edx
cmp ecx, eax
setne dl
xor eax, eax
sub edx, dword [esp + 0xc]
cmp edx, 0x56ec7e43
setg al
xor ecx, ecx
cmp ecx, eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
sbb esi, esi
xor edx, edx
inc esi
cmp ecx, eax
mov eax, dword [esp + 0xc]
setg dl
xor ecx, ecx
cmp esi, eax
setg cl
add edx, ecx
mov dword [esp + 0x30], edx
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jg 0x1001a0a8
xor edi, edi
push 4
inc edi
pop esi
lea ecx, [esp + 0xd0]
call fcn.100177a1
mov byte [esp + 0x13], bl
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], 0x7cd95da2
mov dword [esp + 0xc], ebx
mov dword [esp + 0x40], 0xfffffffb
mov dword [esp + 0x2c], 0xfffffff7
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], 0xfffffffc
mov dword [esp + 0x30], edi
mov dword [esp + 0x14], ebx
jmp 0x1001a17e
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1c4], 0x4e8fe752
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1001a16b
mov dword [esp + 0x14], ebx
jmp 0x1001a19b
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x78], 0x8d20
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1001a18b
mov eax, dword [esp + 0x24]
dec dword [esp + 0x78]
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x24], eax
je 0x1001a1d8
cmp dword [esp + 0x30], 0x498b94be
je 0x1001a1c6
mov ecx, edi
cmp dword [esp + 0x40], ebx
jne 0x1001a1c8
mov ecx, ebx
mov eax, dword [esp + 0x2c]
sub ecx, eax
cmp ecx, dword [esp + 0x28]
jge 0x1001a1d8
mov eax, dword [esp + 0x78]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
sub ecx, eax
mov dword [esp + 0x1c], ecx
cmp byte [esp + 0x13], 0
je 0x1001a205
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommState]
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 3
jle 0x10019faf
jmp 0x1001a746
mov dword [esp + 0x80], edi
mov dword [esp + 0x30], 0xc204e2db
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1001a23a
push ebx
call dword [sym.imp.USER32.dll_CharUpperW]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1001a24d
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
push edi
lea ecx, [esp + 0x11c]
call fcn.10016f46
mov byte [esp + 0x1dc], 3
mov dword [esp + 0xc], edi
mov dword [esp + 0x24], 0x37400631
mov dword [esp + 0x24], 0xe8b0d193
mov dword [esp + 0x30], 0xffffffff
cmp dword [esp + 0xc], ebx
je 0x1001a294
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov eax, edi
cmp dword [esp + 0x24], ebx
jne 0x1001a296
mov eax, ebx
mov dword [esp + 0x24], eax
xor ecx, ecx
mov edx, dword [esp + 0x24]
imul edx, dword [esp + 0xc]
sub edx, dword [esp + 0xc]
add edx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, edx
setl cl
mov dword [esp + 0x30], ecx
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1001a2d3
push ebx
push 0x1dd6
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov eax, 0xce9d05ba
mov dword [esp + 0x20], 0xf5540d7f
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0x130]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xc], 0xf433c8a0
push 2
call fcn.10016f46
mov dword [esp + 0x30], 0xeca74b80
mov dword [esp + 0xc], ebx
jmp 0x1001a332
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001a320
mov dword [esp + 0x20], 0x1c
jmp 0x1001a522
mov dword [esp + 0x1c], 0x3ff82ff4
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], ebx
jmp 0x1001a513
mov dword [esp + 0x40], ebx
mov dword [esp + 0xc], ebx
jmp 0x1001a375
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x6c], 0xfffffff8
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x1001a365
mov dword [esp + 0x6c], 3
push 6
pop esi
cmp dword [esp + 0x6c], ebx
jl 0x1001a491
mov dword [esp + 0xc], 0xffff
xor edx, edx
mov dword [esp + 0x30], 0xd28e487
mov dword [esp + 0xc], 0xf084
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp ecx, eax
setge dl
sub edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x6c]
cmp edx, esi
sbb ecx, ecx
xor edx, edx
neg ecx
mov eax, dword [esp + eax*4 + 0xa4]
inc eax
add eax, ecx
cmp eax, 0xfffffffc
mov eax, dword [esp + 0xac]
setne dl
xor ecx, ecx
sub edx, eax
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + eax*4 + 0xa4]
cmp eax, edx
mov eax, dword [esp + 0x6c]
setle cl
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov edx, dword [esp + eax*4 + 0xa4]
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x30]
setl cl
cmp edx, ecx
jl 0x1001a45f
mov dword [esp + 0x30], 0xc12f
mov dword [esp + 0xc], ebx
jmp 0x1001a456
mov dword [esp + 0x14], ebx
jmp 0x1001a43d
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1ac], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x1001a42a
mov eax, dword [esp + 0x74]
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x30], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x28
jne 0x1001a424
jmp 0x1001a487
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1001a487
push ebx
push 0x1402
push 0x247c
push ebx
push 0x28f
push 0x1a71
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
dec dword [esp + 0x6c]
jns 0x1001a391
mov dword [esp + 0xc], 0x19
jmp 0x1001a508
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0xba309ce0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
dec eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0xfffffff6
mov eax, dword [esp + 0x28]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, edi
setl al
xor edx, edx
sub eax, dword [esp + 0x28]
sub eax, 0x2a9
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
setl dl
mov dword [esp + 0x30], edx
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffee
je 0x1001a49b
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jle 0x1001a35b
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xffffffe7
jg 0x1001a346
lea ecx, [esp + 0x130]
call fcn.100177a1
mov dword [esp + 0xc], ebx
jmp 0x1001a555
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x118]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1001a53f
mov dword [esp + 0x30], 0xc204e2db
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1001a575
push ebx
call dword [sym.imp.USER32.dll_CharUpperW]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1001a588
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
mov dword [esp + 0x3c], 9
cmp dword [esp + 0x3c], 0x19
jne 0x1001a6f8
push 4
pop esi
push 5
pop eax
mov dword [esp + 0x40], eax
lea ecx, [esp + 0xc4]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], eax
push 2
call fcn.10016f46
mov dword [esp + 0x30], ebx
mov dword [esp + 0xc], ebx
jmp 0x1001a5db
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc4]
mov dword [eax + ecx*4], 0x8530de9b
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001a5c5
mov dword [esp + 0xc], 0xfffffff6
jmp 0x1001a61d
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], 0x38bea122
jle 0x1001a602
mov edx, edi
cmp dword [esp + 0xc], ebx
jne 0x1001a604
mov edx, ebx
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x14], ebx
jne 0x1001a624
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x1a
jl 0x1001a5ec
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], ebx
jl 0x1001a6a4
mov dword [esp + 0x1c], ebx
jmp 0x1001a647
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x194], 0xadfb1af9
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x1001a634
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + eax*4]
cmp eax, dword [edx + ecx*4]
je 0x1001a68f
cmp dword [edx], ebx
jne 0x1001a67b
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc4]
cmp dword [edx + eax*4], ebx
mov eax, ebx
je 0x1001a67d
mov eax, edi
neg eax
cmp eax, dword [edx]
je 0x1001a687
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x194]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], eax
dec dword [esp + 0x14]
jns 0x1001a62e
lea ecx, [esp + 0xc4]
call fcn.100177a1
mov dword [esp + 0x34], ebx
jmp 0x1001a6d7
push ebx
lea eax, [esp + 0x60]
push eax
push 0x1750
lea eax, [esp + 0x40]
push 0x5770
push eax
call fcn.1001cb08
add esp, 0x14
inc dword [esp + 0x34]
cmp dword [esp + 0x34], esi
jl 0x1001a6b6
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x80], eax
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], 0x19
je 0x1001a59e
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x124]
push eax
push ebx
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0xa0]
push 0x54aa
push eax
call fcn.1001d191
add esp, 0x28
lea ecx, [esp + 0x118]
call fcn.100177a1
or dword [esp + 0x1dc], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.100177a1
inc dword [esp + 0x38]
cmp dword [esp + 0x38], 0xd
push 1
pop ecx
push 7
pop esi
jl 0x10018fa4
mov eax, dword [esp + 0xb4]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [esp + 0x8c]
mov edi, edx
mov esi, eax
call fcn.10018ce5
mov ecx, dword [esp + 0x1d4]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret