Function at 0x100163f5
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
push ebx
push esi
xor esi, esi
mov dword [ebp - 0xc8], edx
inc esi
mov dword [ebp - 0xc4], ecx
push edi
mov dword [ebp - 0x18], esi
xor ebx, ebx
mov dword [ebp - 0x18], 4
push 2
mov dword [ebp - 0x18], 0x3fd52a42
mov dword [ebp - 0x10], ebx
pop edi
jmp 0x10016439
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4c], 0x3198a8f9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001642b
mov dword [ebp - 0x4c], 0xfffffffe
jmp 0x100164a1
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], edi
cmp dword [ebp - 8], ebx
jne 0x10016459
mov eax, ebx
cmp dword [ebp - 0x4c], ebx
je 0x1001645b
mov eax, esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jne 0x10016466
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], ebx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setg cl
xor eax, eax
cmp ecx, 0x693e
setl al
cmp eax, 0xffff
sbb eax, eax
neg eax
neg eax
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0x17
jl 0x10016447
mov dword [ebp - 8], 0xfffffffd
mov dword [ebp - 0x10], ebx
jmp 0x100164c4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x118], 0x24039b64
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100164b3
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x100164d8
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], ebx
jl 0x10016522
mov dword [ebp - 0x10], ebx
jmp 0x100164f3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x68], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100164e5
mov dword [ebp - 0x68], ebx
jmp 0x10016518
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10016515
push ebx
push 0x1453
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], ebx
jle 0x100164fd
dec dword [ebp - 8]
jns 0x100164e0
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x14], 0xb26bdde0
mov dword [ebp - 0xc], 0xfffffff9
mov dword [ebp - 0x14], 0x12
jmp 0x100166a0
mov dword [ebp - 0x24], 8
mov dword [ebp - 0xc], ebx
jmp 0x1001655c
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x60], 0xfb6318d5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x1001654e
mov dword [ebp - 0xc], ebx
jmp 0x10016578
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x94], 0xfffffffb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x10016567
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0x88], ebx
jl 0x1001668c
mov dword [ebp - 0x18], 0xfffffffb
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp + eax*4 - 0x60]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xc], ebx
jmp 0x10016676
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x10016673
mov dword [ebp - 0x10], 0x28fdeb77
mov dword [ebp - 0x10], ebx
jmp 0x10016608
mov dword [ebp - 0x1c], ebx
jmp 0x100165dd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x144], 0x4307a329
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100165cc
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x60]
add eax, ecx
mov ecx, dword [ebp - 0xc]
imul ecx, eax
mov dword [ebp - 0x144], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x100165c7
mov eax, dword [ebp - 0x88]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x88]
push 1
mov esi, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x60], esi
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
inc ecx
cmp ecx, eax
setge dl
xor eax, eax
cmp esi, edx
pop esi
setne al
sub eax, dword [ebp - 0x90]
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x2a6f944d
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x20]
jns 0x100165bb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x12
jg 0x100165ac
dec dword [ebp - 0x88]
jns 0x10016590
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x1001669d
call edi
push eax
call dword [sym.imp.USER32.dll_IsIconic]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xb
jg 0x10016542
mov dword [ebp - 0x20], 0xf506e60b
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0xd16df251
mov dword [ebp - 8], 0xb8561371
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], esi
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x10], 8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jne 0x10016718
cmp dword [ebp - 0x14], ebx
jne 0x10016704
mov eax, dword [ebp - 8]
mov ecx, ebx
mov eax, dword [ebp - 8]
inc eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x34ca
jl 0x10016706
mov ecx, esi
xor eax, eax
cmp ecx, 6
setg al
mov dword [ebp - 8], eax
mov eax, ebx
cmp dword [ebp - 8], ebx
je 0x1001671a
mov eax, esi
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov eax, dword [ebp - 0x14]
test eax, eax
mov eax, dword [ebp - 0x14]
sets cl
xor edx, edx
cmp ecx, eax
setg dl
or eax, 0xffffffff
imul edx, dword [ebp - 0x14]
test edx, edx
je 0x1001674e
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x1001679a
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
jmp 0x1001679a
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x18], 0xc5860bc2
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x1001676a
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x24], 0xffff
mov ecx, 0xfffa
cmp ecx, eax
mov eax, dword [ebp - 0x24]
sbb edx, edx
add eax, 0x2ae4
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x14]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
or ecx, 0xffffffff
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], 0x97f6af11
mov dword [ebp - 0x24], 0xfffffff7
push 2
mov dword [ebp - 0x24], 0x115cd63c
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x10016945
mov dword [ebp - 0xc], 0x1a4e6659
mov dword [ebp - 0x10], 0xfca5eb5a
mov dword [ebp - 0x14], ebx
jmp 0x100167e7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 0x5912
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x100167d9
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
cmp eax, 0x3ec9
setl cl
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], ebx
jne 0x10016814
cmp dword [ebp - 0x1c], ebx
jne 0x10016819
cmp dword [ebp - 0xc], ebx
je 0x1001681d
cmp dword [ebp - 0x1c], ebx
je 0x1001681d
mov eax, esi
jmp 0x1001681f
mov eax, ebx
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov eax, dword [ebp - 0x7c]
cmp eax, 0xfff6
setne cl
cmp dword [ebp - 0x1c], ecx
jg 0x1001686e
mov dword [ebp - 0x24], 0x3b26d5d6
or ecx, 0xffffffff
mov dword [ebp - 0xc], ebx
jmp 0x10016863
mov dword [ebp - 0x24], 0xf339
cmp dword [ebp - 0x24], ebx
je 0x10016856
mov eax, esi
cmp dword [ebp - 0x1c], ebx
jne 0x10016858
mov eax, ebx
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe9
jle 0x10016843
jmp 0x1001692c
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x24], 0xab10e3a1
mov dword [ebp - 0x24], 0x3a2cc370
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0xc], ebx
ja 0x10016895
mov ecx, esi
cmp dword [ebp - 0x10], ebx
jne 0x10016897
mov ecx, ebx
xor eax, eax
cmp ecx, 0x7b48fe2d
setle al
imul eax, dword [ebp - 0x10]
test eax, eax
jne 0x100168b1
mov eax, ebx
cmp dword [ebp - 8], ebx
je 0x100168b3
mov eax, esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x7c], 0xfffffffa
jle 0x100168cc
mov edx, esi
cmp dword [ebp - 8], ebx
jne 0x100168ce
mov edx, ebx
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x10]
push 2
setl cl
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 8]
sete dl
sub edx, 9
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp eax, 0xd571
setne cl
add ecx, 0xaedf
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x24]
add edx, dword [ebp - 0xc]
add edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
pop edx
setle cl
neg ecx
mov dword [ebp - 0x24], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x1001693d
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x7c], ebx
jne 0x10016942
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x10016931
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jle 0x100167c6
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10016966
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x160], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10016959
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jl 0x1001699c
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10016997
push 0x102d
push 0xcaa
push 0xfbe
push 0x3ed
push ebx
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
dec dword [ebp - 0x14]
jns 0x10016974
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x100169aa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0xa473eb90
mov dword [ebp - 0x14], ebx
jmp 0x100169cb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], 0x55683450
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100169bd
inc dword [ebp - 0x74]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x100169e8
push ebx
push 0x2cf
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x11c], esi
push 3
mov dword [ebp - 0x1c], 0x42eb
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x10016a20
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe4], 0x2cb1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10016a0f
dec dword [ebp - 0x1c]
push 2
mov dword [ebp - 0x1c], ebx
pop edx
cmp dword [ebp - 0x1c], edx
jg 0x10016a9b
mov dword [ebp - 0xc], 6
mov dword [ebp - 0xc], ebx
jmp 0x10016a6a
mov dword [ebp - 0x14], 0x3b1a9565
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jl 0x10016a67
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xe4]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe4], ecx
dec dword [ebp - 0x14]
jns 0x10016a4e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jle 0x10016a3f
mov dword [ebp - 0xc], ebx
jmp 0x10016a8b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xe4]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe4], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jle 0x10016a74
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jle 0x10016a33
push 3
pop ecx
push 0xfffffffffffffff9
pop edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0xc0], 0xffffffea
jmp 0x10016ae9
mov dword [ebp - 0x28], 0xa3a11c15
mov dword [ebp - 0x28], 0xd72d7671
mov dword [ebp - 0x14], 0x4bedcc59
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0xc0]
cmp dword [ebp - 0xc0], edx
jle 0x10016ac8
mov dword [ebp - 0x14], ebx
jmp 0x10016b00
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x38], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10016af6
cmp dword [ebp - 0x20], 0xfffffff6
jg 0x10016b54
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x20]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
cmp eax, ecx
mov eax, esi
setg dl
xor ecx, ecx
sub eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x24]
cmp eax, 0xd130
mov eax, esi
setg cl
cmp ecx, 0x3fc0233f
je 0x10016b56
mov eax, ebx
cmp eax, dword [ebp - 0x38]
jge 0x10016b94
mov dword [ebp - 0x20], ebx
jmp 0x10016b89
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10016b72
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10016b86
push 0x15e3
push ebx
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffa
je 0x10016b60
jmp 0x10016c39
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xc], 0x1448afe0
mov dword [ebp - 0x14], ebx
jmp 0x10016bb0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10016ba6
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
imul edx, eax
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x10]
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], esi
mov dword [ebp - 8], ebx
jmp 0x10016c59
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x108], 0xffff
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x10016c48
mov dword [ebp - 0x14], ebx
jmp 0x10016cde
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 8], ebx
jmp 0x10016c7e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2c], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10016c70
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10016c92
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x2c], 2
cmp dword [ebp - 0x2c], ebx
jl 0x10016cdb
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x108]
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x108], ecx
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x108], ebx
jne 0x10016cc5
mov eax, ebx
cmp dword [ebp - 0x2c], ebx
je 0x10016cc7
mov eax, esi
imul eax, eax, 0xe81a
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x2c]
jns 0x10016c9e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xf
jne 0x10016c64
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], 0x17c10977
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0xc], ebx
jmp 0x10016d0b
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x58], 0x4307e4a9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x10016cfd
mov dword [ebp - 0xc], ebx
jmp 0x10016d27
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xfc], 0x4eb856a7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x10016d16
mov eax, dword [ebp - 0x20]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], esi
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
neg edx
push 2
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
pop esi
setge cl
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], ebx
jl 0x10016e15
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10016d87
push ebx
push 0x2555
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x20]
cmp eax, 0x60a3
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
xor edx, edx
add ecx, dword [ebp - 0x50]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setne dl
sub edx, dword [ebp + eax*4 - 0x58]
imul edx, dword [ebp - 0xfc]
mov dword [ebp - 8], edx
dec dword [ebp - 0x1c]
jns 0x10016d72
or eax, 0xffffffff
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 8], 0x1c443818
mov dword [ebp - 0x24], 0xb964069a
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 8], ebx
jmp 0x10016e58
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x40], 0x24a8c6a5
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10016e4a
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x40], 0xfffffff7
jmp 0x10016f99
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0xc], ebx
jmp 0x10016ea8
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10016e8b
push 0x1ef2
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10016ea5
push 0x1215
push ebx
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_Polygon]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x10016e77
mov dword [ebp - 0xc], ebx
jmp 0x10016f8c
mov dword [ebp - 0x1c], ebx
jmp 0x10016ec9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x44], 0xbe9fb1c0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10016ebb
mov dword [ebp - 0x1c], ebx
jmp 0x10016ee5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa0], 0x789328a0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10016ed4
mov eax, dword [ebp - 0xc]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0xd8]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setg dl
mov dword [ebp - 0x44], edx
mov dword [ebp - 0xa0], ebx
jmp 0x10016f80
mov dword [ebp - 0x18], 0x2d3d4782
mov dword [ebp - 8], ebx
jmp 0x10016f27
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xf4], 0x8b4dfecb
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x10016f16
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10016f3c
push ebx
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x40]
imul ecx, eax
mov eax, dword [ebp - 0x44]
imul edx, ecx
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setg dl
mov dword [ebp - 0x44], edx
inc dword [ebp - 0xa0]
cmp dword [ebp - 0xa0], 3
jle 0x10016f0a
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jle 0x10016eb6
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 4
jle 0x10016e6f
mov dword [ebp - 8], 4
jmp 0x1001700e
mov dword [ebp - 0x18], 0xfffe
mov dword [ebp - 0x14], 0xc6a332e5
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jne 0x10016fcb
cmp dword [ebp - 0x24], ebx
jne 0x10016fcb
mov ecx, ebx
jmp 0x10016fce
xor ecx, ecx
inc ecx
push 9
pop eax
sub eax, ecx
add eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0xd8]
jl 0x10016fe1
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0xd0]
sub eax, 0xca40964
neg eax
sbb eax, eax
inc eax
sub edx, eax
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffffa
jle 0x10016fac
mov dword [ebp - 0xc], 4
mov dword [ebp - 0xc], 0xb
jmp 0x100172a9
mov dword [ebp - 0x10], 0x53aa9ac7
mov dword [ebp - 0x10], 0xffffffea
jmp 0x1001729c
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], 0x9725245f
mov dword [ebp - 0x18], 0xd5493e62
mov dword [ebp - 8], ebx
jmp 0x1001705e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x6c], 0xa07e4fc2
inc dword [ebp - 8]
cmp dword [ebp - 8], 1
jl 0x10017050
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10017074
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x1001708a
xor edx, edx
inc edx
jmp 0x1001708c
mov edx, ebx
cmp dword [ebp - 0x6c], 0xfe30f587
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 4
setle cl
xor eax, eax
cmp edx, 0x3ddca272
sete al
sub ecx, eax
add ecx, 0xff12
cmp ecx, 0x925b0e44
sbb eax, eax
inc eax
cmp eax, 0xd2466e9f
sbb eax, eax
xor edx, edx
neg eax
shl eax, 3
inc edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x34], 0x9bacc5d9
mov dword [ebp - 0x18], 0x545ee28f
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], 0x8f4a8fe2
mov dword [ebp - 8], 0xecce35a1
mov dword [ebp - 0x18], 0x707e294
mov dword [ebp - 0x24], 0x90294961
mov dword [ebp - 8], ebx
jmp 0x10017117
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x154], 0x37c04ccb
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x10017106
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edx
setl cl
cmp ecx, dword [ebp - 0x20]
jne 0x10017249
cmp dword [ebp - 0x10], 0x1d
jl 0x1001703a
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe7
je 0x10017027
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xb0], 0xfffffff7
jmp 0x10017365
mov dword [ebp - 8], 0x5f1dbecc
mov dword [ebp - 8], 4
jmp 0x10017359
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x1001730e
push 0x18f
push ebx
push 0x97b
push ebx
push 0x212d
push ebx
call dword [sym.imp.KERNEL32.dll_CompareStringW]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10017356
push 0x112f
push 0xaac
push 0x258b
push 0x11f2
push 0x1182
call edi
push eax
call esi
push eax
push 0x2469
push 0x751
push 0xd78
push 0x269d
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffff
jg 0x100172ed
inc dword [ebp - 0xb0]
cmp dword [ebp - 0xb0], 0x15
jge 0x100172dd
mov dword [ebp - 0x24], 0xfffffffa
push 3
mov dword [ebp - 0x10], 0xa98815cb
mov dword [ebp - 8], ebx
pop edi
jmp 0x10017399
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x114], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10017388
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
test eax, eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sets cl
sub edx, ecx
neg edx
push 2
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
pop esi
setg cl
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x10], ebx
jmp 0x10017406
mov dword [ebp - 0x28], 0x56e348cc
mov dword [ebp - 0x34], 0xb0e82ca9
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x114]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x114], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x114]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x100173ca
mov byte [ebp - 0x2d], bl
mov dword [ebp - 0x10], 0x8a61928c
mov dword [ebp - 0x18], 0xc657e3b6
mov dword [ebp - 0x10], ebx
jmp 0x1001746b