Function at 0x1001829a
Capabilities:
Read .ini file
Set registry value

Disassembly:
mov eax, 0x10079ab6
call fcn.100791d8
sub esp, 0x16c
push ebx
mov dword [ebp - 0x14], 0x91a049fe
xor ebx, ebx
push esi
mov dword [ebp - 0x28], 1
push edi
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x14], ebx
jmp 0x100182f1
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x100182ee
push ebx
push 0x293
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jne 0x100182cb
push 2
lea ecx, [ebp - 0xb8]
call fcn.10016406
xor edx, edx
inc edx
push 2
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x14], ebx
pop esi
jmp 0x10018321
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10018312
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jl 0x10018345
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [ebp - 0x14]
jns 0x1001832e
lea ecx, [ebp - 0xb8]
call fcn.10016488
mov dword [ebp - 0x2c], esi
lea ecx, [ebp - 0x138]
push 1
call fcn.10016406
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x18], 0x6801fc3e
mov dword [ebp - 0x10], ebx
push 4
call fcn.10016406
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x20], 0xfff7
mov dword [ebp - 0x28], 0x2d863e32
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x28], 0x791a13c5
push 4
mov dword [ebp - 0x30], 0xb0c4f31b
mov dword [ebp - 0x10], ebx
pop edi
jmp 0x100183c7
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], 0x9333
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100183b7
mov dword [ebp - 0x10], ebx
jmp 0x100183e2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x118], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100183d1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jl 0x10018436
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x78]
sub ecx, 0x41145714
neg ecx
sbb ecx, ecx
mov edx, dword [eax]
inc ecx
sub ecx, edx
mov eax, 0xc9f21a8c
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, edx
sub eax, ecx
jne 0x10018425
mov eax, dword [ebp - 0x78]
cmp dword [eax + 0xc], ebx
jne 0x10018425
xor esi, esi
mov eax, ebx
inc esi
jmp 0x1001842a
xor esi, esi
inc esi
mov eax, esi
cmp eax, edx
je 0x10018436
test edx, edx
je 0x10018436
mov ecx, esi
jmp 0x1001843b
xor esi, esi
mov ecx, ebx
inc esi
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x14], ebx
je 0x1001859e
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x40], 0x59cde89c
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0xdf123efb
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
test eax, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x14]
jge 0x100184b7
mov eax, esi
cmp dword [ebp - 0x10], ebx
jne 0x100184b9
mov eax, ebx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x78]
sub edx, dword [eax]
mov eax, dword [ebp - 0x34]
cmp edx, eax
mov eax, dword [ebp - 0x24]
setle cl
xor edx, edx
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x28]
cmp edx, 0xde1f
je 0x1001850f
mov eax, ebx
cmp dword [ebp - 0x30], ebx
je 0x10018511
mov eax, esi
mov dword [ebp - 0x30], eax
xor edx, edx
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x114]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
add eax, edx
je 0x10018541
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, 0xfffffffe
setg cl
jmp 0x100185c0
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x10018596
push esi
lea ecx, [ebp - 0x10c]
call fcn.10016406
mov dword [ebp - 0x14], ebx
jmp 0x10018571
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], 0x77c8a60b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001855e
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x10c]
mov eax, dword [ebp - 0x10c]
mov dword [eax], ebx
mov dword [ebp - 0x28], 0x9d8d7774
call fcn.10016488
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe8
je 0x1001854d
jmp 0x100185c3
mov dword [ebp - 0x28], 0xb134
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x114]
setne dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], bl
call fcn.10016488
push esi
lea ecx, [ebp - 0xe8]
call fcn.10016406
push 2
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 2
call fcn.10016406
push 3
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.10016406
mov dword [ebp - 0x20], 0xe5477a75
mov dword [ebp - 0x28], 0x74bf7a83
mov dword [ebp - 0x10], ebx
jmp 0x1001861f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0xa8c6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001860c
mov dword [ebp - 0x10], ebx
jmp 0x1001863a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1001862a
mov edi, dword [ebp - 0x58]
xor ecx, ecx
inc ecx
mov dword [edi], ecx
jmp 0x1001864d
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ebx
jmp 0x10018666
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10018658
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
jl 0x100186c6
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x88]
cmp dword [eax + ecx*4], 0
je 0x1001868b
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebx + 8]
mov eax, dword [ebp - 0x58]
setle dl
xor ecx, ecx
cmp edx, dword [eax]
setle cl
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x10]
jns 0x10018676
mov eax, dword [ebp - 0x58]
xor edx, edx
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x18]
mov edx, dword [edi + 4]
setl bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor eax, eax
cmp ecx, 0x3fa9dfee
setne al
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
sete cl
xor ebx, ebx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], eax
jne 0x10018725
cmp dword [edi + 4], ebx
je 0x10018725
cmp dword [ebp - 0x7c], ebx
je 0x10018725
xor eax, eax
inc eax
jmp 0x10018727
mov eax, ebx
mov ecx, dword [ebp - 0x18]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x58]
cmp dword [eax], ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x58]
setg cl
mov dword [ebp - 0x28], ecx
dec dword [eax]
jns 0x1001864a
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10018765
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetCapture]
lea ecx, [ebp - 0x58]
call fcn.10016488
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 2
call fcn.10016488
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x100187ed
push 4
lea ecx, [ebp - 0x100]
call fcn.10016406
mov dword [ebp - 0x18], 0xedc7555b
mov dword [ebp - 0x24], ebx
jmp 0x100187b7
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x100]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x100187a4
mov dword [ebp - 0x18], ebx
jmp 0x100187d3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x100]
cmp dword [eax + ecx*4], ebx
jne 0x100187d9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x100187c2
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x18], eax
call fcn.10016488
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
jle 0x1001878b
mov dword [ebp - 0x10], 0x263126ff
xor edi, edi
mov dword [ebp - 0x18], 0xffffffff
inc edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x10], ebx
je 0x10018812
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jne 0x10018850
mov dword [ebp - 0x28], 0xfffa
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10018847
push 0x8af
push 0x2025
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [ebp - 0x28], 0xb67e00d7
jmp 0x1001889c
mov dword [ebp - 0x14], 0x5f27a412
mov dword [ebp - 0x20], 0x209c3997
cmp dword [ebp - 0x14], ebx
je 0x1001887b
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
je 0x1001887b
mov eax, edi
cmp dword [ebp - 0x14], ebx
jne 0x1001887d
mov eax, ebx
imul edx, eax, 0xbf11
mov eax, dword [ebp - 0x14]
inc edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
imul eax, ecx, 0xfffe
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 5
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0x997
mov eax, dword [ebp - 0x18]
sub eax, 7
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, 0xfe96
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x10]
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 0xe2fd
jge 0x10018924
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1001896b
push ebx
call dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
jmp 0x1001896b
mov dword [ebp - 0x28], 0xc2391700
lea ecx, [ebp - 0xdc]
push 3
call fcn.10016406
push 3
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1001894f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10018940
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0xdc]
call fcn.10016488
push ebx
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0x38e5
call fcn.1001bcc9
mov dword [ebp - 0x2c], 0xfffffffc
add esp, 0x10
mov dword [ebp - 0x28], 0x485bf25c
mov dword [ebp - 0x28], 0xbeb7161a
mov dword [ebp - 0x20], 0x1813f1a0
mov dword [ebp - 0x10], ebx
jmp 0x100189b6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x178], 0xdf99
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100189a5
push 3
mov dword [ebp - 0x10], ebx
pop ecx
jmp 0x100189d5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x168], 0x2c5e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100189c4
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], ebx
jl 0x100189ea
inc dword [ebp - 0x20]
dec dword [ebp - 0x2c]
jns 0x100189e2
push 4
lea ecx, [ebp - 0x15c]
call fcn.10016406
mov byte [ebp - 4], 4
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x14], ebx
jmp 0x10018a12
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x15c]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10018a03
mov dword [ebp - 0x24], ebx
jmp 0x10018a73
push 3
lea ecx, [ebp - 0xf4]
call fcn.10016406
push 3
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10018a45
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 0x1bd97a88
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10018a32
mov ecx, dword [ebp - 0xf4]
mov dword [ecx + 8], edx
mov dword [ebp - 0x20], 0xbd035c57
mov eax, dword [ebp - 0x20]
dec dword [ecx + 8]
mov dword [ebp - 0x20], eax
jns 0x10018a53
lea ecx, [ebp - 0xf4]
call fcn.10016488
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x10018a1d
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 2
call fcn.10016488
mov dword [ebp - 0x3c], ebx
jmp 0x10018aa0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], 0xd4e677b5
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jl 0x10018a8d
mov byte [ebp - 0x35], bl
lea ecx, [ebp - 0x35]
xor dl, dl
call fcn.10019408
mov dword [ebp - 0x2c], 0xfffffff7
cmp dword [ebp - 0x2c], 0xffffffed
jg 0x1001922a
push 3
pop esi
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x20], 0x7a2d47e1
mov dword [ebp - 0x20], 0x90aaf75d
mov dword [ebp - 0x24], ebx
jmp 0x10018aee
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x4c], 0x7865925e
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10018ae0
mov eax, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffffffa
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x14]
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setge cl
xor edx, edx
cmp ecx, 0x55a6
setg dl
sub edx, eax
mov eax, dword [ebp - 0x48]
imul eax, edx
test eax, eax
je 0x10018b37
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x20], 0xfa2e5769
cmp dword [ebp - 0x30], ebx
je 0x10018b55
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x20], 0xfffffffc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], 0x7013dce9
push esi
call fcn.10016406
push esi
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 5
call fcn.10016406
push 3
mov dword [ebp - 0x14], 0x34ffdeab
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x10018baa
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], 0xb9b55bb2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10018b97
mov dword [ebp - 0x10], ebx
jmp 0x10018bc7
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 0xe2236432
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10018bb4
mov edx, dword [ebp - 0xc4]
push 2
pop ecx
mov dword [ebp - 0x20], edx
mov dword [edx + 8], ecx
mov dword [ebp - 0x10], 0x5010f7a7
mov dword [ebp - 0x24], 0x4c7b7f60
mov dword [ebp - 0x18], 0xb50f6b3
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
jl 0x10018cee
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xa0]
mov dword [ebp - 0x28], eax
mov eax, dword [edx + 8]
xor edx, edx
push 2
mov edi, dword [esi + eax*4]
cmp edi, dword [esi + ecx*4]
pop ecx
setle dl
xor eax, eax
cmp dword [esi + ebx*4], eax
sete al
xor ebx, ebx
add edx, eax
mov eax, dword [ebp - 0x28]
add edx, dword [esi + eax*4]
cmp edi, edx
jge 0x10018c6e
mov dword [ebp - 0x18], ebx
jmp 0x10018c5d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x140], 0x9fe9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10018c4c
mov dword [ebp - 0x140], 0xee72c34c
jmp 0x10018ce2
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
jl 0x10018cb4
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], ebx
jl 0x10018caa
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], ebx
jl 0x10018ca5
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x10018c9d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
dec dword [ebp - 0x30]
jns 0x10018c8d
push 2
pop ecx
dec dword [ebp - 0x24]
jns 0x10018c7e
cmp dword [ebp - 0x14], ebx
jne 0x10018cb4
dec dword [ebp - 0x18]
jns 0x10018c76
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
jl 0x10018ce2
mov dword [ebp - 0x14], ebx
jmp 0x10018cd4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10018cc1
dec dword [ebp - 0x18]
jns 0x10018cbc
push 2
pop ecx
dec dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
jns 0x10018bfc
dec dword [edx + 8]
jns 0x10018bdb
lea ecx, [ebp - 0xc4]
call fcn.10016488
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 2
call fcn.10016488
push ebx
call fcn.1001b1de
mov dword [ebp - 0x14], 0x7e2799ac
xor edi, edi
mov dword [ebp - 0x28], 9
inc edi
mov dword [ebp - 0x28], 0xfffffffe
pop ecx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 2
jge 0x10018d48
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x12c], edi
inc dword [ebp - 0x14]
jmp 0x10018d33
mov dword [ebp - 0x14], 0xffffffee
jmp 0x10018d94
mov dword [ebp - 0x28], 0xdc7555b7
mov dword [ebp - 0x28], 0x19ac196a
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 0xc08872fa
mov dword [ebp - 0x28], 0xd0289a69
mov dword [ebp - 0x28], 0xa50b5f0
mov dword [ebp - 0x28], 0x5c6f8b8a
mov dword [ebp - 0x20], 0xfffffff9
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x12c], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe7
je 0x10018d51
push 3
mov dword [ebp - 0x30], ebx
pop esi
cmp dword [ebp - 0x30], 0xfffffff6
je 0x1001921d
push esi
lea ecx, [ebp - 0xac]
call fcn.10016406
mov byte [ebp - 4], 6
mov dword [ebp - 0x20], 0x3df603fa
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x28], 0x65969a22
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10018df7
push 0xc8a
push 0x306
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetMessageA]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], 0x8421705
mov dword [ebp - 0x14], ebx
jmp 0x10018e5e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10018e4b
mov dword [ebp - 0x28], 0xa631
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10018e81
push ebx
push 0x922
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10018e98
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov esi, dword [ebp - 0xac]
mov dword [esi + 4], ebx
lea eax, [ebp - 0xe8]
push ebx
push eax
call fcn.10019c71
pop ecx
pop ecx
mov dword [ebp - 0x10], 0x6444696a
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x34], 0x164f943a
mov dword [ebp - 0x20], edi
push 3
call fcn.10016406
mov dword [ebp - 0x28], 0x2ef314d4
mov dword [ebp - 0x18], ebx
jmp 0x10018ee5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x68], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10018ed7
mov dword [ebp - 0x18], ebx
jmp 0x10018eff
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10018eef
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
test eax, eax
mov eax, dword [ebp - 0x10]
sets cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
push 0xfffffffffffffff6
setne dl
xor ecx, ecx
sub edx, 6
cmp edx, eax
pop edx
setle cl
sub edx, ecx
xor ecx, ecx
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, dword [ebp - 0x10]
sete cl
xor edx, edx
cmp ecx, eax
push 0xfffffffffffffff6
setl dl
sub edx, dword [ebp - 0x10]
neg edx
pop eax
sbb edx, edx
inc edx
sub eax, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x64]
cmp dword [ecx], ebx
jne 0x10018f6e
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x10]
imul eax, ecx
cmp eax, ecx
jle 0x10018f7e
test ecx, ecx
jne 0x10018f85
mov edx, ebx
cmp dword [ebp - 0x34], ebx
je 0x10018f87
mov edx, edi
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x10]
setne cl
xor ebx, ebx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x64]
setg bl
xor ecx, ecx
sub edx, dword [eax + 8]
mov eax, dword [ebp - 0x10]
sub edx, ebx
cmp edx, eax
setge cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x64]
call fcn.10016488
dec dword [esi + 4]
push 0
pop ebx
jns 0x10018ea1
push 3
pop esi
mov dword [ebp - 0x18], 0xe414
lea ecx, [ebp - 0xd0]
push esi
call fcn.10016406
mov dword [ebp - 0x14], ebx
jmp 0x10018ff5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10018fe2
mov eax, dword [ebp - 0x18]
mov ecx, 0xc1464f16
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub eax, 0xf257
neg eax
sbb eax, eax
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x18]
jge 0x10019029
mov ecx, edi
cmp dword [ebp - 0x18], ebx
jne 0x1001902b
mov ecx, ebx
xor eax, eax
cmp ecx, 0x7fd1e814
setle al
xor ecx, ecx
cmp eax, 0xd149
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xd0]
setg dl
sub edx, 0x6df5900a
mov dword [eax + 4], edx
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x10019069
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
lea ecx, [ebp - 0xd0]
call fcn.10016488
push 2
mov dword [ebp - 0x34], ebx
pop eax
cmp dword [ebp - 0x34], eax
jg 0x10019207
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jl 0x100191f8
mov dword [ebp - 0x24], 8
xor edx, edx
mov dword [ebp - 0x14], 0xb5ca9869
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x28], 0x927f7b6f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], 0x976ff55e
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
neg ecx
cmp ecx, 0xfffffff9
setne al
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1001910c
push 0x6fb
push ebx
push 0x1be7
push 0x1d4b
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x100191ec
mov dword [ebp - 0x18], 0xe414
lea ecx, [ebp - 0x124]
push esi
call fcn.10016406
mov dword [ebp - 0x14], ebx
jmp 0x10019152
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001913f
mov eax, dword [ebp - 0x18]
mov ecx, 0xc1464f16
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub eax, 0xf257
neg eax
sbb eax, eax
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x18]
jge 0x10019189
cmp dword [ebp - 0x18], ebx
je 0x10019189
xor ecx, ecx
inc ecx
jmp 0x1001918b
mov ecx, ebx
xor eax, eax
cmp ecx, 0x7fd1e814
setle al
xor ecx, ecx
cmp eax, 0xd149
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x124]
setg dl
sub edx, 0x6df5900a
mov dword [eax + 4], edx
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x100191c9
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
lea ecx, [ebp - 0x124]
call fcn.10016488
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x100191e3
push ebx
call fcn.10019c35
pop ecx
dec dword [ebp - 0x24]
jns 0x10019127
dec dword [ebp - 0x10]
jns 0x10019099
push 2
pop eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jle 0x10019083
xor edi, edi
inc edi
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], al
call fcn.10016488
dec dword [ebp - 0x30]
jmp 0x10018da0
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffed
jle 0x10018ac6
lea ecx, [ebp - 0xe8]
call fcn.10016488
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
call fcn.10016488
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x28], 0xfd94
mov dword [ebp - 0x40], 0x63588c55
mov dword [ebp - 0x20], 0xfffb
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x18], ebx
jmp 0x1001927d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x150], 0xac8b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1001926c
mov dword [ebp - 0x18], ebx
jmp 0x10019299
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x90], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10019288
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x10019319
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x40], ebx
cmp dword [ebp - 0x28], ebx
jne 0x100192ca
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x150], ebx
jne 0x100192ca
mov edx, ebx
jmp 0x100192cd
xor edx, edx
inc edx
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x150]
xor eax, eax
cmp edx, 1
setne al
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x1001930f
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x150], ebx
je 0x1001930f
xor eax, eax
inc eax
jmp 0x10019311
mov eax, ebx
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x18]
jns 0x100192ab
mov ecx, dword [ebp - 0x20]
xor ebx, ebx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x90]
setle bl
xor ecx, ecx
cmp eax, 0x31e13ca4
mov eax, dword [ebp - 0x2c]
setge cl
xor edx, edx
cmp ebx, ecx
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x94]
cdq
sete cl
mov dword [ebp - 0x8c], ecx
mov ecx, 0x3e8
idiv ecx
mov ecx, dword [ebp - 0x6c]
mov edi, edx
mov esi, eax
call fcn.10018228
mov ecx, dword [ebp - 0xc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret