Function at 0x1002e8d4
Capabilities:
Allocate thread local storage
Delete directory
Delete registry key
Delete registry value
Enumerate gui resources
Get common file path
Get disk information
Get file size
Get file system object information
Get graphical window text
Identify system language via api
Query environment variable
Query or enumerate registry key
Read .ini file
Set registry value
Set thread local storage value
Start service
Terminate process

Disassembly:
mov eax, 0x1007a1bd
call fcn.10079b50
mov eax, 0x12f0
call fcn.10076300
push ebx
mov dword [ebp - 0x5c], ecx
xor eax, eax
or ecx, 0xffffffff
mov byte [ebp - 0x65], dl
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], 0x2f7c629c
push esi
push edi
mov dword [ebp - 0x2c], 0x43e5ec35
xor edi, edi
mov dword [ebp - 0x40], eax
inc edi
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edi
jge 0x1002e929
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xa8], ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x1002e915
xor eax, eax
push 4
mov dword [ebp - 0x34], eax
pop ecx
cmp dword [ebp - 0x34], ecx
jge 0x1002e948
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xd8c], edi
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x1002e934
xor eax, eax
cmp dword [ebp - 0xa8], eax
je 0x1002e98e
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xd80], eax
xor eax, eax
cmp dword [ebp - 0xd80], eax
je 0x1002e972
mov eax, dword [ebp - 0xd8c]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x4c], 0x6273
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa8]
add eax, 0x1560b65
jne 0x1002e9a2
mov edx, eax
cmp dword [ebp - 0x2c], eax
je 0x1002e9a4
mov edx, edi
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp edx, eax
push 3
setl cl
pop ebx
lea eax, [ecx - 0xd9e8e75]
mov ecx, dword [ebp - 0xa8]
imul ecx, eax
sub ecx, 0x7a0501bc
xor eax, eax
mov dword [ebp - 0x40], ecx
mov ecx, 0xd6848298
mov dword [ebp - 0x4c], eax
jmp 0x1002ea34
mov dword [ebp - 0x40], eax
jmp 0x1002ea2c
mov dword [ebp - 0x8bc], ecx
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x8b4], ecx
mov dword [ebp - 0x8b0], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jg 0x1002ea29
dec dword [ebp - 0x8b0]
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002ea1c
push eax
push 0x195e
call esi
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x1002ea03
mov ecx, 0xd6848298
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jle 0x1002e9e3
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
jle 0x1002e9de
or ecx, 0xffffffff
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], 0x2f7c629c
mov dword [ebp - 0x2c], 0x43e5ec35
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edi
jge 0x1002ea6c
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x8c], ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x1002ea58
xor eax, eax
push 4
mov dword [ebp - 0x34], eax
pop ecx
cmp dword [ebp - 0x34], ecx
jge 0x1002ea8b
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xda0], edi
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x1002ea77
xor eax, eax
cmp dword [ebp - 0x8c], eax
je 0x1002ead1
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xd94], eax
xor eax, eax
cmp dword [ebp - 0xd94], eax
je 0x1002eab5
mov eax, dword [ebp - 0xda0]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], 0x6273
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
add eax, 0x1560b65
jne 0x1002eae5
mov edx, eax
cmp dword [ebp - 0x2c], eax
je 0x1002eae7
mov edx, edi
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
cmp edx, eax
setl cl
lea eax, [ecx - 0xd9e8e75]
mov ecx, dword [ebp - 0x8c]
imul ecx, eax
sub ecx, 0x7a0501bc
xor eax, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x4c], eax
jmp 0x1002eb71
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], ebx
jg 0x1002eb6e
mov ecx, 0xd6848298
mov dword [ebp - 0x8d4], ecx
mov dword [ebp - 0x8d0], ecx
mov dword [ebp - 0x8cc], ecx
mov dword [ebp - 0x8c8], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jg 0x1002eb66
dec dword [ebp - 0x8c8]
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002eb59
push eax
push 0x195e
call esi
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x1002eb40
mov ecx, 0xd6848298
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jle 0x1002eb20
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
jle 0x1002eb13
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], 0xd40a1650
mov dword [ebp - 0x50], 0xb6842a45
mov dword [ebp - 0x20], ecx
push 4
mov dword [ebp - 0x30], eax
pop ecx
cmp dword [ebp - 0x30], ecx
jge 0x1002ebb0
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x61c], 0xc93b4e1
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002eb98
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x1002ebd2
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x8f4], 0xfffffffa
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jl 0x1002ebb9
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jge 0x1002ebf2
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xe64], 0x93c34f97
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002ebda
xor eax, eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x1002ed67
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x44], 0x82e77e81
mov dword [ebp - 0x3c], 0xbdf7
mov dword [ebp - 0x10], eax
jmp 0x1002ec25
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x348], 0xb44cf592
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002ec14
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x61c], 0
jne 0x1002ed65
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x344], eax
je 0x1002ec5f
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], eax
je 0x1002ec59
mov eax, dword [ebp - 0x614]
xor eax, eax
mov dword [ebp - 0x8f0], eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x344]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x61c]
mov eax, dword [ebp - 0x34]
imul ecx, dword [ebp + eax*4 - 0x61c], 0x1847
sub ecx, dword [ebp - 0x348]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xb7f464f6
setne al
mov dword [ebp - 0xe64], eax
test eax, eax
jne 0x1002eca9
mov eax, dword [ebp - 0xe60]
dec dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [ebp - 0x8f4]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setge dl
imul eax, edx
xor edx, edx
cmp eax, 0x23ee
setge dl
neg edx
sub edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x344]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
imul ecx, ecx, 0x3714
mov eax, dword [ebp + eax*4 - 0x61c]
add ecx, eax
mov dword [ebp - 0x344], ecx
mov eax, dword [ebp - 0x34]
cmp ecx, dword [ebp + eax*4 - 0x61c]
jl 0x1002ed12
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002ed14
mov eax, edi
jmp 0x1002ed14
xor eax, eax
mov dword [ebp - 0x50], eax
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x1002ed28
mov ecx, edi
cmp dword [ebp - 0x344], eax
jne 0x1002ed2a
mov ecx, eax
mov eax, dword [ebp - 0x34]
xor edx, edx
push 0
mov eax, dword [ebp + eax*4 - 0x61c]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x61c]
cmp eax, 0xcb8ce3e
setg cl
xor eax, eax
cmp ecx, edx
setge al
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x34]
pop eax
jns 0x1002ebfe
xor eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x1c], 0x68ec0ae9
mov dword [ebp - 0x20], 0x885d
mov dword [ebp - 0x54], 0xdb84c6a3
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002ed97
push eax
push 0x446
push eax
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffff7
jge 0x1002ee36
mov dword [ebp - 0x3c], 0x76eea530
mov dword [ebp - 0x50], 0x9a7b445a
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x1c], eax
je 0x1002ee13
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, edi
mov eax, dword [ebp - 0x3c]
setge cl
xor edx, edx
cmp eax, ecx
setl dl
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffc
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
add eax, 0xfffffffc
inc ecx
add eax, ecx
xor ecx, ecx
cmp eax, 0x8f6c
setle cl
cmp dword [ebp - 0x1c], ecx
je 0x1002ee11
mov eax, edi
jmp 0x1002ee13
xor eax, eax
mov dword [ebp - 0x50], eax
xor edx, edx
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
push 0
setge dl
mov dword [ebp - 0x54], edx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff7
pop eax
jl 0x1002eda4
mov dword [ebp - 0x4c], 0x831713b9
push 4
mov dword [ebp - 0x20], eax
pop edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002ee66
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x388], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002ee4e
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffea
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x64], 6
jle 0x1002efb5
mov dword [ebp - 0x24], 0x88e1b61b
or eax, 0xffffffff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x48], 0xb504dbf0
mov dword [ebp - 0x54], 0x3ad
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x24]
imul eax, eax, 0x421e
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
imul eax, ecx, 0x39d9
mov dword [ebp - 0x48], eax
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x1002eeec
mov ecx, eax
cmp dword [ebp - 0x2c], eax
je 0x1002eeee
mov ecx, edi
mov eax, dword [ebp - 0x24]
imul eax, ecx
neg eax
sbb eax, eax
neg eax
cmp dword [ebp - 0x4c], eax
jl 0x1002ef1c
dec dword [ebp - 0x3c]
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x1002efa0
push eax
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
jmp 0x1002efa0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x58], 0x945c66b3
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x388], eax
test eax, eax
jne 0x1002ef6b
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
sub edx, 0xb6ea
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x4c1a1fd2
setle al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x54]
test eax, eax
setg cl
neg ecx
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
neg ecx
cmp ecx, 0x20c5
setg al
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x58], eax
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffea
push 0xfffffffffffffffb
pop ecx
jg 0x1002ee7d
push 4
xor eax, eax
pop edx
or ecx, 0xffffffff
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], 0x2f7c629c
mov dword [ebp - 0x2c], 0x43e5ec35
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edi
jge 0x1002efe8
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x94], ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edi
jl 0x1002efd4
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edx
jge 0x1002f004
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xdb8], edi
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edx
jl 0x1002eff0
xor eax, eax
cmp dword [ebp - 0x94], eax
je 0x1002f04a
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xdac], eax
xor eax, eax
cmp dword [ebp - 0xdac], eax
je 0x1002f02e
mov eax, dword [ebp - 0xdb8]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x4c], 0x6273
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
add eax, 0x1560b65
jne 0x1002f05e
mov edx, eax
cmp dword [ebp - 0x2c], eax
je 0x1002f060
mov edx, edi
mov eax, dword [ebp - 0x94]
xor ecx, ecx
cmp edx, eax
setl cl
lea eax, [ecx - 0xd9e8e75]
mov ecx, dword [ebp - 0x94]
imul ecx, eax
sub ecx, 0x7a0501bc
xor eax, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x4c], eax
jmp 0x1002f0ee
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jg 0x1002f0eb
mov ecx, 0xd6848298
mov dword [ebp - 0x8ec], ecx
mov dword [ebp - 0x8e8], ecx
mov dword [ebp - 0x8e4], ecx
mov dword [ebp - 0x8e0], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jg 0x1002f0e2
dec dword [ebp - 0x8e0]
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002f0d4
push eax
push 0x195e
call esi
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jle 0x1002f0bb
mov ecx, 0xd6848298
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 3
jle 0x1002f09a
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 3
jle 0x1002f08c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002f116
or ecx, 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc8], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002f102
xor eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002f12b
push eax
push eax
call edi
xor eax, eax
mov dword [ebp - 0xc8], eax
jmp 0x1002f16e
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffeb
jl 0x1002f168
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0xc8]
cmp ecx, eax
mov eax, 0xbf90edca
setne dl
cmp eax, edx
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffeb
jge 0x1002f13f
xor eax, eax
dec dword [ebp - 0xc8]
cmp dword [ebp - 0xc8], 0xffffffea
jle 0x1002f133
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], 0xd40a1650
mov dword [ebp - 0x50], 0xb6842a45
mov dword [ebp - 0x20], ecx
push 4
mov dword [ebp - 0x30], eax
pop ecx
cmp dword [ebp - 0x30], ecx
jge 0x1002f1b1
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x64c], 0xc93b4e1
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002f199
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x1002f1d3
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x8a4], 0xfffffffa
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jl 0x1002f1ba
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jge 0x1002f1f3
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xec4], 0x93c34f97
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002f1db
xor eax, eax
mov dword [ebp - 0x34], 3
cmp dword [ebp - 0x34], eax
jl 0x1002f373
xor ecx, ecx
inc ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x44], 0x82e77e81
mov dword [ebp - 0x3c], 0xbdf7
mov dword [ebp - 0x10], eax
jmp 0x1002f22d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x358], 0xb44cf592
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f21c
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x64c], 0
jne 0x1002f371
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x354], eax
je 0x1002f267
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
je 0x1002f261
mov eax, dword [ebp - 0x644]
xor eax, eax
mov dword [ebp - 0x8a0], eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x354]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x64c]
mov eax, dword [ebp - 0x34]
imul ecx, dword [ebp + eax*4 - 0x64c], 0x1847
sub ecx, dword [ebp - 0x358]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xb7f464f6
setne al
mov dword [ebp - 0xec4], eax
test eax, eax
jne 0x1002f2b1
mov eax, dword [ebp - 0xec0]
dec dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [ebp - 0x8a4]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setge dl
imul eax, edx
xor edx, edx
cmp eax, 0x23ee
setge dl
neg edx
sub edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x354]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
imul ecx, ecx, 0x3714
mov eax, dword [ebp + eax*4 - 0x64c]
add ecx, eax
mov dword [ebp - 0x354], ecx
mov eax, dword [ebp - 0x34]
cmp ecx, dword [ebp + eax*4 - 0x64c]
jl 0x1002f31d
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002f31f
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x1002f322
xor eax, eax
xor ecx, ecx
inc ecx
mov dword [ebp - 0x50], eax
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x1002f334
cmp dword [ebp - 0x354], eax
jne 0x1002f336
mov ecx, eax
mov eax, dword [ebp - 0x34]
xor edx, edx
push 0
mov eax, dword [ebp + eax*4 - 0x64c]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x64c]
cmp eax, 0xcb8ce3e
setg cl
xor eax, eax
cmp ecx, edx
setge al
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x34]
pop eax
jns 0x1002f203
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x20], 0x7d0b0a35
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002f39f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5dc], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002f386
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jg 0x1002f3f0
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x5dc]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x5dc]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x5dc]
mov eax, dword [ebp - 0x5d8]
mov eax, dword [ebp - 0x5d4]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x5dc]
xor eax, eax
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jle 0x1002f3a8
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002f40d
push eax
push eax
push eax
push eax
push eax
push eax
push 0x153c
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
xor eax, eax
xor ecx, ecx
inc ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x1002f435
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x254], 8
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x1002f41c
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x1002f44b
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x2c4], 0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x1002f43a
mov dword [ebp - 0x50], 0xfffffffa
xor ecx, ecx
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x250]
test eax, eax
setg cl
xor eax, eax
cmp ecx, 0x582ba8d7
mov ecx, dword [ebp - 0x24c]
setl al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x24c]
cmp eax, ecx
mov eax, dword [ebp - 0x24c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x250]
setge cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x2c4], edx
mov ecx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x250]
add ecx, edx
xor edx, edx
cmp ecx, eax
setle dl
add edx, 0x6937
jne 0x1002f4e8
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x20], 0xd3b5
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x20], eax
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x1002f50b
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
xor eax, eax
mov dword [ebp - 0x48], 5
mov dword [ebp - 0x3c], 0xc8fc558b
mov dword [ebp - 0x20], 0xedad
mov dword [ebp - 0x10], eax
jmp 0x1002f536
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10e8], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f525
mov eax, dword [ebp - 0x48]
xor edx, edx
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x20], eax
inc edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x3707
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x20], 0x2384b6d7
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x1002f58f
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x14c], edx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x1002f57a
xor eax, eax
mov dword [ebp - 0x34], eax
or ecx, 0xffffffff
cmp dword [ebp - 0x34], edx
jge 0x1002f5ae
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xc48], ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edx
jl 0x1002f59a
xor eax, eax
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0xfffffff7
je 0x1002f6b2
jmp 0x1002f5c6
or ecx, 0xffffffff
mov dword [ebp - 0x4c], 0xe95aad85
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x54], 0xbecc
mov dword [ebp - 0x58], 0xc6dcff2f
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x60], 0x4d2570d9
mov dword [ebp - 0x60], 0xbab1f356
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f614
push 0xfffffffffffffffb
pop ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1130], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f601
mov eax, dword [ebp - 0x14c]
xor edx, edx
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
setne dl
add edx, 0x4e4fb1d0
jne 0x1002f638
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x144]
sub ecx, 0xcdee
neg ecx
push 0
sbb ecx, ecx
xor eax, eax
inc ecx
or edx, 0xffffffff
cmp ecx, edx
mov ecx, dword [ebp - 0x54]
setl al
imul ecx, eax
mov eax, dword [ebp - 0x14c]
sub ecx, eax
mov eax, dword [ebp - 0x58]
add eax, ecx
mov dword [ebp - 0x60], eax
dec dword [ebp - 0x50]
dec dword [ebp - 0x144]
cmp dword [ebp - 0x144], 0xfffffff7
pop eax
push 1
pop edx
jne 0x1002f5c3
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x144], eax
or eax, 0xffffffff
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x1c], edx
push 4
mov dword [ebp - 0x24], eax
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f6f1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x41c], 0x9ac78948
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f6d8
xor eax, eax
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], eax
jl 0x1002f817
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jge 0x1002f720
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2cc], 0xfffffff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1002f708
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002f747
push 0x1afe
push 0x2319
push 0x9e0
push 0x1740
push eax
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
xor edx, edx
inc edx
mov eax, dword [ebp - 0x2cc]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x41c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x41c]
mov eax, dword [ebp - 0x14]
or eax, 0xffffffff
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x41c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x41c]
cmp eax, 0xc196
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x4c]
jle 0x1002f7be
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x1002f7b9
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x24]
jmp 0x1002f808
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f7e0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd2c], 0x7312b948
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f7c7
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], edx
jg 0x1002f7fb
mov eax, dword [ebp - 0xd2c]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], edx
jle 0x1002f7e8
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002f80b
push eax
push eax
call edi
xor edx, edx
inc edx
dec dword [ebp - 0x1c]
push 0
pop eax
jns 0x1002f6fd
mov dword [ebp - 0x14], eax
jmp 0x1002f82c
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
jne 0x1002f8d9
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffeb
je 0x1002f81c
mov dword [ebp - 0x1c], 0x68ec0ae9
mov dword [ebp - 0x20], 0x885d
mov dword [ebp - 0x54], 0xdb84c6a3
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002f85c
push eax
push 0x446
push eax
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffff7
jge 0x1002f909
mov dword [ebp - 0x3c], 0x76eea530
mov dword [ebp - 0x50], 0x9a7b445a
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x1c], eax
je 0x1002f8e6
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
xor ebx, ebx
inc ebx
cmp eax, ebx
mov eax, dword [ebp - 0x3c]
setge cl
xor edx, edx
cmp eax, ecx
setl dl
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffc
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
add eax, 0xfffffffc
inc ecx
add eax, ecx
xor ecx, ecx
cmp eax, 0x8f6c
setle cl
cmp dword [ebp - 0x1c], ecx
je 0x1002f8e4
mov eax, ebx
jmp 0x1002f8e6
push 0x15c3
call dword [sym.imp.KERNEL32.dll_ExitProcess]
xor eax, eax
mov dword [ebp - 0x50], eax
xor edx, edx
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
push 0
setge dl
mov dword [ebp - 0x54], edx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff7
pop eax
jl 0x1002f869
mov dword [ebp - 0x40], 0x2f7c629c
xor ebx, ebx
mov dword [ebp - 0x4c], 0x831713b9
inc ebx
push 4
mov dword [ebp - 0x20], eax
pop ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002f943
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x390], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f92b
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffea
jle 0x1002fa85
mov dword [ebp - 0x24], 0x88e1b61b
or eax, 0xffffffff
mov dword [ebp - 0x50], eax
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x48], 0xb504dbf0
mov dword [ebp - 0x54], 0x3ad
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x24]
imul eax, eax, 0x421e
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
imul eax, ecx, 0x39d9
mov dword [ebp - 0x48], eax
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x1002f9c2
mov ecx, eax
cmp dword [ebp - 0x2c], eax
je 0x1002f9c4
mov ecx, ebx
mov eax, dword [ebp - 0x24]
imul eax, ecx
neg eax
sbb eax, eax
neg eax
cmp dword [ebp - 0x4c], eax
jl 0x1002f9f2
dec dword [ebp - 0x3c]
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x1002fa76
push eax
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
jmp 0x1002fa76
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x58], 0x945c66b3
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x390], eax
test eax, eax
jne 0x1002fa41
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
sub edx, 0xb6ea
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x4c1a1fd2
setle al
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x54]
test eax, eax
setg cl
neg ecx
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
neg ecx
cmp ecx, 0x20c5
setg al
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x58], eax
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffea
jg 0x1002f950
xor eax, eax
mov dword [ebp - 0x14], 0x43e5ec35
or ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x50], 0x992f1e5c
mov dword [ebp - 0x50], 0xa9cea445
mov dword [ebp - 0x50], 0xdb7758b3
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x20], 0x254e
mov dword [ebp - 0x54], 0xfffffff9
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1002fad8
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x120], 0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x1002fac0
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x1002fafa
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xf20], 0x5ebec5ec
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x1002fae1
xor eax, eax
mov dword [ebp - 0x120], eax
jmp 0x1002fb1f
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002fb19
push eax
push 0x634
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
xor eax, eax
inc dword [ebp - 0x120]
cmp dword [ebp - 0x120], 2
jl 0x1002fb02
cmp dword [ebp - 0x10], eax
jne 0x1002fb3a
mov eax, dword [ebp - 0x10]
mov ecx, ebx
sub ecx, eax
jne 0x1002fb3a
xor eax, eax
jmp 0x1002fb3c
mov eax, ebx
mov dword [ebp - 0xf18], eax
xor edx, edx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov ecx, dword [ebp - 0x64]
setge dl
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x50], 0xe2b79dbf
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x54], 0xcf59f89f
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x50], 0xfffffff7
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002fbb6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x318], 0x540d7f82
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002fb9d
xor eax, eax
push 2
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jg 0x1002fcd7
mov dword [ebp - 0x50], 8
or ecx, 0xffffffff
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x38], eax
jne 0x1002fbed
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x318], 0
jne 0x1002fbed
xor eax, eax
mov ecx, eax
jmp 0x1002fbef
mov ecx, ebx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp + eax*4 - 0x318]
mov eax, dword [ebp - 0x318]
add edx, ecx
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + eax*4 - 0x318]
mov eax, dword [ebp - 0x50]
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x314]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x318]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
cmp eax, 8
setle cl
imul ecx, dword [ebp - 0x318]
cmp ecx, 0xf59f89f2
sbb eax, eax
xor ecx, ecx
neg eax
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x24]
jl 0x1002fc72
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x318], ecx
mov eax, ecx
je 0x1002fc74
mov eax, ebx
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x50], 0xfffffffe
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x1002fcbf
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xfffffff1
je 0x1002fcbc
mov dword [ebp - 0x20], 0x1603
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x318], ecx
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xfffffff1
jne 0x1002fc9d
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x32
jl 0x1002fc94
inc dword [ebp - 0x38]
push 2
pop ecx
push 0
pop eax
cmp dword [ebp - 0x38], ecx
jle 0x1002fbc5
mov dword [ebp - 0x3c], 0xeca4
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x54], 0xad446302
mov dword [ebp - 0x10], eax
jmp 0x1002fd01
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x340], 0x4caf14c9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002fcf0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1002fe49
mov dword [ebp - 0x10], 0xfff8
or edx, 0xffffffff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ecx
jge 0x1002fd4e
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xc5c], 4
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x1002fd36
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ecx
jge 0x1002fd6e
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x6e4], 0x61eefb6f
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x1002fd56
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x1002fd83
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x24]
test eax, eax
je 0x1002fd81
mov eax, ebx
jmp 0x1002fd83
xor eax, eax
mov dword [ebp - 0x6e0], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], eax
jl 0x1002fe77
mov dword [ebp - 0x48], 0x83c1
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + eax*4 - 0x340]
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x340], ecx
test ecx, ecx
jne 0x1002fe17
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x340]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x340]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + eax*4 - 0x340]
mov eax, dword [ebp - 0x6e0]
cmp ecx, eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
setne dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x20]
jne 0x1002fe17
xor eax, eax
mov ecx, eax
jmp 0x1002fe19
mov ecx, ebx
mov eax, dword [ebp - 0x38]
push 0
mov eax, dword [ebp + eax*4 - 0x6e4]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc5c]
mov dword [ebp - 0x54], eax
dec dword [ebp - 0x38]
pop eax
jns 0x1002fd97
push 2
pop ecx
jmp 0x1002fe72
mov dword [ebp - 0x20], 0x4019
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x10], eax
jmp 0x1002fe69
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x129c], 0xc923f2b6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002fe58
dec dword [ebp - 0x50]
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1002fe93
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xb0], edx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x1002fe7f
xor eax, eax
mov dword [ebp - 0x20], 0xfff7
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x10], eax
jmp 0x1002feb3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x518], 0xbe7e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002fea2
mov eax, dword [ebp - 0x514]
mov eax, dword [ebp - 0x514]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x514]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x514]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], eax
mov byte [ebp - 0x25], al
je 0x1002ff08
cmp byte [ebp - 0x25], al
je 0x1002ff1b
push 0x2141
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
jmp 0x1002ff19
cmp byte [ebp - 0x25], al
je 0x1002ff1b
push 0x11f8
push eax
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
xor eax, eax
push 4
mov dword [ebp - 0x34], eax
pop ecx
cmp dword [ebp - 0x34], ecx
jge 0x1002ff3a
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xdd0], ebx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x1002ff26
xor eax, eax
mov dword [ebp - 0x54], 0xdd688769
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x20], 0x3d1f
mov dword [ebp - 0x58], 0x6e6c
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jge 0x1002ff77
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x530], 0xaf14c90d
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x1002ff5e
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1002ff93
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xcc], ebx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x1002ff7f
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002ffae
push 0x2e8
push eax
push 0x2de
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov eax, dword [ebp - 0xcc]
dec dword [ebp - 0xcc]
test eax, eax
je 0x1003000b
xor eax, eax
cmp dword [ebp - 0xcc], eax
jne 0x1002ffd0
cmp dword [ebp - 0x52c], eax
je 0x1002ffd2
mov eax, ebx
mov ecx, dword [ebp - 0xcc]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x530]
cmp ecx, eax
mov eax, dword [ebp - 0x52c]
setle dl
sub edx, 2
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x20]
setg cl
imul eax, ecx
test eax, eax
je 0x1003000b
mov edx, ebx
jmp 0x1003000f
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp eax, edx
setle cl
xor eax, eax
add ecx, dword [ebp - 0x530]
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0xb0], eax
je 0x1003006a
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xdc4], eax
xor eax, eax
cmp dword [ebp - 0xdc4], eax
je 0x1003004e
mov eax, dword [ebp - 0xdd0]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x40], 0x6273
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
add eax, 0x1560b65
jne 0x1003007e
mov edx, eax
cmp dword [ebp - 0x14], eax
je 0x10030080
mov edx, ebx
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
cmp edx, eax
push 0xfffffffffffffff6
setl cl
lea eax, [ecx - 0xd9e8e75]
mov ecx, dword [ebp - 0xb0]
imul ecx, eax
mov eax, 0x45559507
sub ecx, 0x7a0501bc
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], 0xfffffff7
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x54], 0xfffffffd
mov dword [ebp - 0x2c], 0x4cdb8faa
mov dword [ebp - 0x20], 0xab3921de
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], eax
jmp 0x10030102
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x40c], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100300f1
dec dword [ebp - 0x50]
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], ecx
jl 0x10030175
mov dword [ebp - 0x10], 0xbd2f23d
mov eax, dword [ebp - 0x40c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, dword [ebp - 0x40c]
setle cl
xor edx, edx
test ecx, ecx
setns dl
xor ecx, ecx
cmp eax, edx
setne cl
cmp ebx, ecx
sbb eax, eax
neg eax
sub eax, 0x2764
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x54], eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff6
jge 0x10030112
xor eax, eax
mov edx, 0xfffd
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jg 0x10030d8b
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x1c], 0x7563ffa
mov dword [ebp - 0x14], 0x746a1c17
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100301c1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x320], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100301a9
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x100301fc
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x50], 0x3009ce45
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x24]
jne 0x100301e2
mov ecx, eax
cmp dword [ebp - 0x24], eax
je 0x100301e4
mov ecx, ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], 0xfffffffe
jmp 0x1003022e
mov dword [ebp - 0x30], eax
jmp 0x10030228
mov dword [ebp - 0x1c], 0xffffffec
jmp 0x10030220
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1003021d
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCommState]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
je 0x1003020a
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe9
jle 0x10030201
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xb
jge 0x1003034f
or ecx, 0xffffffff
mov dword [ebp - 0x10], 0x7772
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x1c], eax
je 0x10030310
mov dword [ebp - 0x20], 0xcde30eca
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], eax
jl 0x10030342
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x54], 0xffff
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x320]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ebx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
add ecx, 0x702377d6
jne 0x100302aa
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x320]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x320]
cmp eax, ebx
mov eax, dword [ebp - 0x50]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x320], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x320]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x320]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp eax, ebx
setge cl
mov dword [ebp - 0x54], ecx
dec dword [ebp - 0x30]
jns 0x10030266
jmp 0x1003033d
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030342
push 0x22b2
push eax
push 0x1493
push 0x13af
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtFloodFill]
xor eax, eax
or ecx, 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xb
jl 0x10030240
mov dword [ebp - 0x10], eax
jmp 0x10030d6c
mov ecx, 0xd6848298
mov dword [ebp - 0x904], ecx
mov dword [ebp - 0x900], ecx
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x8f8], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x1003039c
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x12b4], 0xec2e0cf5
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x10030383
xor eax, eax
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], eax
jl 0x100303ce
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100303c9
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
xor eax, eax
dec dword [ebp - 0x24]
jns 0x100303a8
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100303e5
push 0xdf0
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xor eax, eax
mov dword [ebp - 0x4c], 0x831713b9
push 4
mov dword [ebp - 0x20], eax
pop ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10030415
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x414], 0xfffffff8
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x100303fd
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffea
jle 0x10030557
mov dword [ebp - 0x24], 0x88e1b61b
or eax, 0xffffffff
mov dword [ebp - 0x50], eax
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x48], 0xb504dbf0
mov dword [ebp - 0x54], 0x3ad
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x24]
imul eax, eax, 0x421e
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
imul eax, ecx, 0x39d9
mov dword [ebp - 0x48], eax
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10030494
mov ecx, eax
cmp dword [ebp - 0x1c], eax
je 0x10030496
mov ecx, ebx
mov eax, dword [ebp - 0x24]
imul eax, ecx
neg eax
sbb eax, eax
neg eax
cmp dword [ebp - 0x4c], eax
jl 0x100304c4
dec dword [ebp - 0x3c]
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x10030548
push eax
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
jmp 0x10030548
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x58], 0x945c66b3
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x414], eax
test eax, eax
jne 0x10030513
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
sub edx, 0xb6ea
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x4c1a1fd2
setle al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x54]
test eax, eax
setg cl
neg ecx
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
neg ecx
cmp ecx, 0x20c5
setg al
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x58], eax
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffea
jg 0x10030422
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jg 0x10030d69
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xa439beb0
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xe90a624c
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x20], 0x21ded680
mov dword [ebp - 0x20], 0x950707df
mov dword [ebp - 0x20], 0xda7fe64f
mov dword [ebp - 0x20], 0xa90611bc
mov dword [ebp - 0x50], 0x9040c3f3
push 2
mov dword [ebp - 0x2c], eax
pop edx
cmp dword [ebp - 0x2c], edx
jge 0x100305c5
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1070], 9
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edx
jl 0x100305ad
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100305ea
push 0xb04
push 0x1bdc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 2
xor eax, eax
pop edx
dec dword [ebp - 0x50]
mov dword [ebp - 0x34], 0x4e064826
mov dword [ebp - 0x1c], 0xfff8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jge 0x1003061b
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x9c], 0xfaafe30f
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x10030603
xor eax, eax
push 4
mov dword [ebp - 0x34], eax
pop ecx
cmp dword [ebp - 0x34], ecx
jge 0x1003063e
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x1038], 0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x10030626
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 9
jg 0x10030720
or ecx, 0xffffffff
mov dword [ebp - 0x50], 0xfffffffb
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x1003067f
push 4
pop ebx
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xb30], 0xfffc
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10030664
cmp dword [ebp - 0x34], eax
jne 0x10030694
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jg 0x10030767
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x2c], eax
jmp 0x10030741
dec dword [ebp - 0x8f8]
mov dword [ebp - 0x20], 0xc88eb987
mov dword [ebp - 0x44], 0xf6b3
mov dword [ebp - 0x1c], 0xebf90350
mov dword [ebp - 0x2c], 0xa7d2
mov dword [ebp - 0x20], 0x9e1
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x100307b2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x10030357
inc dword [ebp - 0x40]
mov edx, 0xfffd
cmp dword [ebp - 0x40], 3
push 0
pop eax
jle 0x10030189
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10030dad
or ecx, 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd4], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030d99
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030dbc
push eax
push eax
call edi
xor eax, eax
mov dword [ebp - 0xd4], eax
jmp 0x10030dff
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffeb
jl 0x10030df9
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0xd4]
cmp ecx, eax
mov eax, 0xbf90edca
setne dl
cmp eax, edx
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffeb
jge 0x10030dd0
xor eax, eax
dec dword [ebp - 0xd4]
cmp dword [ebp - 0xd4], 0xffffffea
jle 0x10030dc4
mov dword [ebp - 0x1c], 0x7df2f4a8
mov dword [ebp - 0x2c], 0x24b5e495
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x20], 0xf37fc033
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10030e49
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa50], 0xff0ea75c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030e30
xor eax, eax
mov ebx, dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030e62
push eax
push 0x19e8
call ebx
xor eax, eax
push 2
pop ecx
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x10030f29
mov dword [ebp - 0x40], 0x67457993
mov dword [ebp - 0x50], 0xdb8846b5
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xa50], 0
jne 0x10030fcc
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10030ea3
cmp dword [ebp - 0x40], eax
je 0x10030ea3
xor esi, esi
inc esi
mov eax, esi
jmp 0x10030ea6
xor esi, esi
inc esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
je 0x10030ec4
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x10030ec6
mov edx, esi
jmp 0x10030ec8
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xa50]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa50], ecx
cmp ecx, esi
je 0x10030fcf
xor eax, eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x1c]
jns 0x10030e71
push 2
xor eax, eax
pop ecx
or edx, 0xffffffff
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x24], 0xd40a1650
mov dword [ebp - 0x50], 0xb6842a45
mov dword [ebp - 0x20], edx
push 4
mov dword [ebp - 0x30], eax
pop esi
cmp dword [ebp - 0x30], esi
jge 0x10030f63
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x62c], 0xc93b4e1
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x10030f4b
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jge 0x10030f83
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x90c], 0xfffffffa
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x10030f6b
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], esi
jge 0x10030fa3
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xe84], 0x93c34f97
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x10030f8b
xor eax, eax
xor esi, esi
mov dword [ebp - 0x34], 3
inc esi
cmp dword [ebp - 0x34], eax
jl 0x10031139
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x44], 0x82e77e81
mov dword [ebp - 0x3c], 0xbdf7
mov dword [ebp - 0x10], eax
jmp 0x10030ff2
xor esi, esi
inc esi
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x10030f12
mov eax, esi
jmp 0x10030f12
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x350], 0xb44cf592
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10030fe1
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x62c], 0
jne 0x10031134
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x34c], eax
je 0x1003102b
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], eax
je 0x10031025
mov eax, dword [ebp - 0x624]
xor eax, eax
mov dword [ebp - 0x908], eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x34c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x62c]
mov eax, dword [ebp - 0x34]
imul ecx, dword [ebp + eax*4 - 0x62c], 0x1847
sub ecx, dword [ebp - 0x350]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xb7f464f6
setne al
mov dword [ebp - 0xe84], eax
test eax, eax
jne 0x10031075
mov eax, dword [ebp - 0xe80]
dec dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [ebp - 0x90c]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setge dl
imul eax, edx
xor edx, edx
cmp eax, 0x23ee
setge dl
neg edx
sub edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
imul ecx, ecx, 0x3714
mov eax, dword [ebp + eax*4 - 0x62c]
add ecx, eax
mov dword [ebp - 0x34c], ecx
mov eax, dword [ebp - 0x34]
cmp ecx, dword [ebp + eax*4 - 0x62c]
jl 0x100310de
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x100310e0
mov eax, esi
jmp 0x100310e0
xor eax, eax
mov dword [ebp - 0x50], eax
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x100310f4
mov ecx, esi
cmp dword [ebp - 0x34c], eax
jne 0x100310f6
mov ecx, eax
mov eax, dword [ebp - 0x34]
xor edx, edx
push 0
mov eax, dword [ebp + eax*4 - 0x62c]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x62c]
cmp eax, 0xcb8ce3e
setg cl
xor eax, eax
cmp ecx, edx
setge al
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x34]
pop eax
push 2
pop ecx
jns 0x10030fb6
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x50], 0x72ca3c0b
mov dword [ebp - 0x2c], eax
jmp 0x100311bd
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], 0x3cdf98a5
mov dword [ebp - 0x10], 7
jmp 0x100311b4
mov dword [ebp - 0x20], 0x63e31551
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ecx
jge 0x10031188
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x1088], 0xfffffffb
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x10031170
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x100311a6
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xbe8], edx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x10031191
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x100311ba
dec dword [ebp - 0xbe8]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x24
jle 0x1003115e
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffb
jge 0x10031148
cmp dword [ebp - 0x50], eax
je 0x100311d1
mov dword [ebp - 0x50], 0x509cf13e
jmp 0x100311f3
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100311f3
push 0x58f
push 0xfac
push eax
push 0x12a9
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x20], 0x7d0b0a35
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1003121f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x60c], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10031206
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jg 0x10031270