Function at 0x1001c612
Capabilities:
Check os version
Read .ini file

Disassembly:
mov eax, 0x1006a20b
call fcn.10069648
sub esp, 0x1b4
push ebx
push esi
push edi
mov eax, ecx
mov dword [ebp - 0x10], esp
xor esi, esi
mov dword [ebp - 0x14], 0xfffffff8
inc esi
mov dword [ebp - 0x2c], 0xfffffffe
push esi
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0x44], dl
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x48], eax
call fcn.10016c23
xor ebx, ebx
lea ecx, [ebp - 0x148]
push 4
mov dword [ebp - 4], ebx
call fcn.10016c23
xor edx, edx
inc edx
push 2
mov byte [ebp - 4], dl
mov dword [ebp - 0x20], ebx
pop edi
jmp 0x1001c681
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xc0], 0xe2799ac7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1001c670
mov dword [ebp - 0x20], ebx
jmp 0x1001c69e
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001c68b
mov dword [ebp - 0x20], ebx
jmp 0x1001c6bb
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x66efe0cd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1001c6a8
mov dword [ebp - 0x20], ebx
jmp 0x1001c6d7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xf8], 3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1001c6c6
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jl 0x1001c7d1
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x30], edx
inc dword [eax]
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], ebx
jl 0x1001c7c8
xor esi, esi
push 3
lea ecx, [ebp - 0x10c]
call fcn.10016c23
mov dword [ebp - 0x1c], ebx
jmp 0x1001c729
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001c71a
mov dword [ebp - 0x1c], ebx
jmp 0x1001c745
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x150], 0x1b0fe2cf
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1001c734
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xc0]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0xc0]
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x34]
sub edx, eax
mov eax, dword [ebp - 0x34]
cmp edx, eax
mov edx, dword [ebp - 0xd8]
setg cl
xor eax, eax
cmp ecx, dword [edx]
setle al
cmp eax, 0x41b44adc
jl 0x1001c794
mov eax, dword [ebp - 0x10c]
cmp dword [eax + 8], ebx
mov eax, ebx
je 0x1001c797
lea eax, [esi + 1]
xor ecx, ecx
mov dword [ebp - 0x14c], eax
cmp eax, 0xb101
setne cl
xor eax, eax
cmp ecx, dword [edx]
lea ecx, [ebp - 0x10c]
setl al
mov dword [ebp - 0x30], eax
call fcn.10016c85
dec dword [ebp - 0x34]
jns 0x1001c708
xor edx, edx
inc edx
dec dword [ebp - 0x14]
jns 0x1001c6e8
dec dword [ebp - 0xf4]
lea ecx, [ebp - 0x148]
call fcn.10016c85
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.10016c85
xor esi, esi
lea ecx, [ebp - 0x130]
inc esi
push esi
call fcn.10016c23
mov dword [ebp - 0x14], 0x4f833fcb
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x14], ebx
jmp 0x1001c81e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001c80f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001c838
push ebx
push 0x1aa2
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 0x14], ebx
jmp 0x1001c84a
mov dword [ebp - 0x28], 0xdd688769
inc dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1001c83d
lea ecx, [ebp - 0x130]
call fcn.10016c85
mov dword [ebp - 0x2c], ebx
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x2c], 0x7ce53d8d
mov eax, 0x1007087c
mov dword [ebp - 0x2c], 0xe0b4
push 6
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], eax
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0xf8f0aa6e
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xffffffff
push esi
call fcn.10016c23
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x28], 0xb1943c6f
mov dword [ebp - 0x14], ebx
jmp 0x1001c8cf
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001c8bc
inc dword [ebp - 0x28]
lea ecx, [ebp - 0x13c]
call fcn.10016c85
push dword [ebp + 8]
movdqa xmm0, xmmword [0x100094d0]
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x4c], 4
push eax
push ebx
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], ebx
movdqu xmmword [ebp - 0x170], xmm0
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
call fcn.1001bde3
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], ebx
jl 0x1001ca2d
mov dword [ebp - 0x1c], 0x33992443
mov dword [ebp - 0x14], 0xcfd66c4a
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 3
jg 0x1001ca21
mov edi, dword [ebp - 0x70]
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], 0x2ad0
mov dword [ebp - 0x30], 0xe708bee
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
cmp dword [eax + ecx*4], ebx
jne 0x1001c98a
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x1001c9a0
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x70]
cmp dword [eax + ecx*4], esi
sete dl
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jne 0x1001c9a4
mov ecx, ebx
jmp 0x1001c9a6
mov ecx, esi
xor eax, eax
cmp ecx, dword [edi + 0xc]
setge al
imul eax, eax, 0x6e70a3e0
add eax, 0x30b3a3a0
je 0x1001c9c8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
cmp dword [eax + ecx*4], ebx
mov eax, esi
jne 0x1001c9ca
mov eax, ebx
mov ecx, 0xa1434a93
cmp ecx, eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x8f585950
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setg dl
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
test eax, eax
setg cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1001c95f
dec dword [ebp - 0x24]
jns 0x1001c93a
push 2
pop edi
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001ca46
push 0x176f
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
lea ecx, [ebp - 0x70]
call fcn.10016c85
mov eax, dword [0x1007087c]
lea ecx, [ebp - 0xe4]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10009510]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x180]
mov dword [ebp - 0x14], 0xfffffffd
push eax
push ebx
movdqu xmmword [ebp - 0x180], xmm0
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
call fcn.1001bde3
mov dword [ebp - 0x14], ebx
jmp 0x1001cadb
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x30], ebx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001cac0
push ebx
push ebx
push ebx
push ebx
push esi
push ebx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], ebx
jl 0x1001cad8
mov dword [ebp - 0x30], 0x61ab6ec7
dec dword [ebp - 0x24]
jns 0x1001cacc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1d
jle 0x1001caa1
lea ecx, [ebp - 0xe4]
call fcn.10016c85
cmp byte [ebp - 0x44], 0
mov eax, dword [ebp + 8]
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
je 0x1001ccab
cmp dword [ebp - 0x60], esi
jne 0x1001ccab
mov dword [ebp - 0x38], 0xad313dd3
mov dword [ebp - 0x24], 0xdae8c9f3
mov dword [ebp - 0x38], ebx
jmp 0x1001cb72
mov dword [ebp - 0x14], ebx
jmp 0x1001cb36
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1bc], 0x5c57
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001cb25
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], ebx
jmp 0x1001cb69
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x1001cb66
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001cb61
call dword [sym.imp.KERNEL32.dll_GetVersion]
dec dword [ebp - 0x14]
jns 0x1001cb52
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffee
jne 0x1001cb43
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xffffffec
jg 0x1001cb20
mov ecx, dword [ebp + 8]
push 4
pop eax
push eax
mov dword [ecx + 8], eax
lea ecx, [ebp - 0xf0]
call fcn.10016c23
mov dword [ebp - 0x1c], 0x532bb11a
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x24], 0x2487223b
mov dword [ebp - 0x14], ebx
jmp 0x1001cbb7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001cba7
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
jne 0x1001cc3d
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xf0]
imul ecx, dword [eax + 4]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x24]
setne cl
mov dword [ebp - 0x30], ecx
xor ecx, ecx
cmp dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
setg cl
cmp esi, ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
jne 0x1001cc3d
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x30], esi
jmp 0x1001cc85
mov dword [ebp - 0x30], 0xdda31432
xor edx, edx
mov dword [ebp - 0x14], 0x12afbcae
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0x3922cbd4
setle al
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, esi
setle cl
mov dword [ebp - 0x20], ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001cc95
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [ebp - 0xf0]
call fcn.10016c85
mov ecx, dword [ebp + 8]
mov eax, 0x1007087c
mov dword [ecx + 0xc], eax
mov dword [ebp - 0x1c], 0xfe0a8eac
mov dword [ebp - 0x1c], ebx
jmp 0x1001ccca
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001ccc7
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 9
jne 0x1001ccb7
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xfffffffb
je 0x1001cdc0
mov dword [ebp - 0x14], 0x6b8f3d42
mov dword [ebp - 0x14], ebx
jmp 0x1001ccf6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001cce9
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], esi
jg 0x1001cdb8
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x28], 0xfeb
cmp dword [ebp - 0x28], 0x12d0
jle 0x1001cd47
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10612298
xor eax, esi
cdq
push edx
push eax
call fcn.1001691a
inc edi
cmp edi, 0x72ff
jl 0x1001cd1e
inc esi
cmp esi, 0x389a
jl 0x1001cd1c
xor esi, esi
push 2
inc esi
pop edi
cmp byte [ebp - 0x15], 0
je 0x1001cd5d
push 0x25a8
push 0x1b08
call dword [sym.imp.GDI32.dll_SetPolyFillMode]
mov dword [ebp - 4], edi
cmp dword [ebp - 0x28], 0xf8d
jge 0x1001cd78
mov edx, 0x10007d7c
mov ecx, 0x10612298
call fcn.1001b11e
or dword [ebp - 4], 0xffffffff
inc dword [ebp - 0x14]
jmp 0x1001ccfe
dec dword [ebp - 0x1c]
jmp 0x1001ccd3
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x60]
jge 0x1001d721
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
test ecx, ecx
jle 0x1001d100
mov eax, dword [eax]
lea ecx, [ebp - 0x88]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x100094e0]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x24], 0xab72
push eax
mov dword [ebp - 0x14], 0xf3f17e2f
mov dword [ebp - 0x28], 0x5bd5
mov dword [ebp - 0x40], 0xadf8
push ebx
movdqu xmmword [ebp - 0x1a0], xmm0
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
call fcn.1001bde3
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x14], ebx
jmp 0x1001ce54
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0x4bf90edc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001ce46
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x88]
setge dl
sub edx, dword [eax]
mov eax, dword [ebp - 0x5c]
sub edx, eax
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
add eax, dword [ebp - 0x24]
cmp eax, edx
mov eax, dword [ebp - 0x88]
setge cl
xor edx, edx
cmp ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x5c]
setge dl
sub eax, 0x31f145ba
neg eax
mov dword [ebp - 0x40], edx
sbb eax, eax
xor edx, edx
inc eax
cmp eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
setge dl
sub edx, 0xffff
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x88]
call fcn.10016c85
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x118]
add dword [ebp - 0x34], eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], 0xf415d724
mov dword [ebp - 0x40], 9
mov dword [ebp - 0x40], 0xffffffff
push esi
call fcn.10016c23
mov dword [ebp - 0x14], 0xd996
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x20], ebx
jmp 0x1001cf42
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x190], 0x1943c6fe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1001cf31
mov dword [ebp - 0x20], ebx
jmp 0x1001cf5c
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x118]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1001cf4d
mov dword [ebp - 0x20], ebx
jmp 0x1001cf74
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x50], 0xfffffffa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1001cf66
mov eax, dword [ebp - 0x118]
inc dword [eax]
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp - 0x24]
sub eax, 0x20f6
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x30], 0xfbf3
add eax, 0x8b2d8ac2
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], ebx
jmp 0x1001cffe
mov dword [ebp - 0x14], ebx
jmp 0x1001cfd8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x160], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001cfcb
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001cff5
push ebx
push 0x168c
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
inc dword [ebp - 0x160]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1001cfc6
lea ecx, [ebp - 0x118]
call fcn.10016c85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], ebx
jmp 0x1001d036
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1ac], 0xa93826a0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001d025
cmp dword [ebp - 0x40], ebx
je 0x1001d04c
cmp dword [ebp - 0x24], 0xe1b1b54c
mov edx, esi
jge 0x1001d04e
mov edx, ebx
mov eax, dword [ebp - 0x24]
sub eax, 7
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
setle cl
neg ecx
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
add ecx, 0xffffcd3d
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1ac], ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001d090
push ebx
push ebx
push 0x52b
call dword [sym.imp.USER32.dll_SetWindowRgn]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x4c]
add eax, ecx
cmp dword [ebp - 0x30], 0
mov dword [ebp - 0x34], eax
jne 0x1001d0a7
lea eax, [eax + ecx*2]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], 0xffffffff
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001d0be
push ebx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
mov dword [ebp - 0x14], 0x13
jmp 0x1001d0e8
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001d0e5
push 0x11f1
push 0x2073
push 0x86c
call dword [sym.imp.USER32.dll_SetClassLongA]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
jge 0x1001d0c7
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x48]
dec dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
jne 0x1001cddd
push edi
lea ecx, [ebp - 0x94]
call fcn.10016c23
mov dword [ebp - 4], 4
mov dword [ebp - 0x38], 0xc184c506
mov dword [ebp - 0x14], ebx
jmp 0x1001d12f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x94]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001d11f
xor edx, edx
mov dword [ebp - 0x38], ebx
inc edx
jmp 0x1001d281
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x24], ebx
jmp 0x1001d275
mov dword [ebp - 0x1c], 0xdfcf09cc
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0x5f5f996f
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x20], 0x8f4f368a
mov dword [ebp - 0x1c], ebx
jmp 0x1001d1ce
push edx
lea ecx, [ebp - 0x124]
call fcn.10016c23
xor esi, esi
mov dword [ebp - 0x14], ebx
inc esi
jmp 0x1001d198
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], 0x5ef2c365
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001d185
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x94]
mov dword [ecx], ebx
mov eax, dword [ecx]
mov dword [edx + eax*4], 0xfffffff8
inc dword [ecx]
cmp dword [ecx], edi
jl 0x1001d1ab
dec dword [ebp - 0x20]
lea ecx, [ebp - 0x124]
call fcn.10016c85
inc dword [ebp - 0x1c]
xor edx, edx
inc edx
cmp dword [ebp - 0x1c], edx
jle 0x1001d171
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], edx
jg 0x1001d272
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [esi + 4]
mov eax, dword [ebp - 0x24]
imul eax, ecx
test eax, eax
je 0x1001d225
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ebx
jl 0x1001d266
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [ebp - 0x1c]
jns 0x1001d209
xor edx, edx
inc edx
jmp 0x1001d266
mov dword [ebp - 0x1c], 0xfffffff0
cmp dword [ebp - 0x1c], 7
jg 0x1001d24d
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001d241
call dword [sym.imp.KERNEL32.dll_GetTickCount]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 7
jle 0x1001d232
xor edx, edx
inc edx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x94]
neg ecx
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0xffff
mov dword [eax], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jle 0x1001d1e5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jle 0x1001d151
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jle 0x1001d13f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.10016c85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x2c], 0x847dfa86
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x6ca2cb51
mov dword [ebp - 0x2c], 0x6bd085c9
mov dword [ebp - 0x2c], 0xbfc4f27d
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0x362daab7
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x3c], 0xa26f3f17
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1001d2ee
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x100], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1001d2dd
mov dword [ebp - 0x1c], ebx
jmp 0x1001d309
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb8], 0x5ba13b28
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1001d2f8
dec dword [ebp - 0x28]
inc dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb4]
jne 0x1001d341
mov ecx, dword [ebp - 0xfc]
xor edx, edx
mov eax, dword [ebp - 0xfc]
cmp ecx, eax
setg dl
cmp edx, 0xffff
je 0x1001d341
xor esi, esi
mov edx, ebx
inc esi
jmp 0x1001d346
xor esi, esi
inc esi
mov edx, esi
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
sete cl
add dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], ecx
mov eax, 0x9cc25fa
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1001d390
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x54], 0xfb807cfa
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001d382
mov dword [ebp - 0x1c], ebx
jmp 0x1001d3a8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x64], 0xab5457d6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001d39a
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setge dl
xor ecx, ecx
add eax, edx
cmp eax, 6
push esi
setle cl
imul eax, ecx, 0x65ee
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x34], eax
call fcn.10016c23
mov dword [ebp - 0x28], 0xa0d72276
mov dword [ebp - 0x14], 0x1fadacd7
mov dword [ebp - 0x40], 0xeec2
mov dword [ebp - 0x38], 0x3cf81320
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x30], 0x405ea325
mov dword [ebp - 0x14], ebx
jmp 0x1001d45f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001d44f
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
cmp ecx, 0x951a
jg 0x1001d489
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], ebx
jmp 0x1001d629
mov dword [ebp - 0x20], esi
xor ecx, ecx
mov dword [ebp - 0x1c], 0x81d68c2a
mov dword [ebp - 0x48], 0x9a5ce765
mov eax, dword [ebp - 0x1c]
test eax, eax
setg cl
imul ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x1001d4c5
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x7c]
setg dl
xor ecx, ecx
sub edx, 0x4f509e13
mov dword [eax], edx
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x40ae7762
setne cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp eax, 0xffffffff
setle cl
imul eax, ecx, 0x51c1
cmp dword [ebp - 0x1c], eax
jle 0x1001d5bf
mov dword [ebp - 0x40], 0x993c4d98
mov dword [ebp - 0x20], 0xa
jmp 0x1001d5b3
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001d54a
push ebx
push ebx
push 0x2183
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, 0x92973452
setg dl
sub edx, 0xe77f
cmp eax, edx
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
inc eax
neg ecx
add eax, ecx
jne 0x1001d57a
mov ecx, ebx
cmp dword [ebp - 0x3c], ebx
je 0x1001d57c
mov ecx, esi
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x7c]
cmp edx, dword [eax]
setg cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x11
jge 0x1001d52f
jmp 0x1001d626
mov dword [ebp - 0x20], ebx
jmp 0x1001d5d5
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xcc], 0xfff6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1001d5c4
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7c]
cmp dword [eax], 0x922b85a
mov eax, dword [ebp - 0xcc]
setle cl
xor edx, edx
cmp ecx, 0x5bec372b
setne dl
xor ecx, ecx
cmp eax, edx
setge cl
cmp ecx, 0xffffffff
jl 0x1001d621
mov eax, ebx
cmp dword [ebp - 0x30], ebx
je 0x1001d623
mov eax, esi
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 7
jl 0x1001d49f
lea ecx, [ebp - 0x7c]
call fcn.10016c85
cmp dword [ebp - 0x2c], 0
jne 0x1001d721
cmp byte [ebp - 0x44], 0
je 0x1001d65f
cmp dword [ebp - 0x60], esi
jne 0x1001d65f
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp + 8]
add dword [ecx + 8], eax
mov edi, dword [ebp - 0x34]
push dword [ebp - 0x24]
mov eax, dword [edi]
add edi, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
mov eax, dword [edi]
add edi, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
call fcn.1004dcb0
pop ecx
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xc4], ebx
push eax
push dword [ebp - 0x24]
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
call fcn.1001de1f
mov eax, dword [ebp - 0x24]
mov edx, ebx
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x48], ebx
test eax, eax
jle 0x1001d70b
mov eax, edx
and eax, 0x80000001
jns 0x1001d6cb
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x30]
add eax, edx
add eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x2c]
jmp 0x1001d6e0
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x24]
cmp word [ecx + edx*2], bx
jne 0x1001d6dd
mov word [ecx + edx*2], si
mov al, byte [edx + edi]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x50]
mov byte [edx + ecx], al
inc edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x48], edx
cmp edx, eax
jl 0x1001d6bd
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x50]
mov dword [edx + 4], eax
test ecx, ecx
je 0x1001d721
push ecx
call fcn.10052a29
pop ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret