Function at 0x4510db
Capabilities:
Accept command line arguments
Check for time delay via queryperformancecounter
Create directory
Create pipe
Delete file
Get common file path
Query or enumerate registry key
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf5c
mov dword [ebp - 0x1c], 0xfffffff9
xor eax, eax
mov dword [ebp - 0x24], 0xf6b
mov dword [ebp - 0x14], 0xf8cd3bed
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x20], 0xb370cc32
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
mov byte [ebp - 0x55], dl
mov dword [ebp - 0x54], ecx
jge 0x45112d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x698], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x451114
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x45114f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc14], 0x395830af
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x451136
xor eax, eax
push ebx
push esi
push edi
push 1
pop esi
push 4
pop edx
cmp dword [ebp - 0x1c], eax
jne 0x45119f
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, esi
setg cl
mov dword [ebp - 0x698], ecx
test ecx, ecx
jne 0x451185
xor eax, eax
cmp dword [ebp - 0x698], eax
jne 0x451185
mov ecx, eax
cmp dword [ebp - 0x1c], eax
je 0x451187
mov ecx, esi
mov eax, dword [ebp - 0x1c]
imul eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x4511b9
mov ecx, eax
cmp dword [ebp - 0x698], eax
je 0x4511bb
mov ecx, esi
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
sub edx, 0x65f5
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setg cl
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xd
jle 0x4512ba
mov dword [ebp - 4], esi
mov dword [ebp - 0x40], esi
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x451204
push eax
call edi
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x451228
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
add edx, dword [ebp - 0x14]
cmp dword [ebp - 0x3c], edx
jg 0x45122a
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 4]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
push 0
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 4]
setg cl
xor edx, edx
cmp ecx, 0xfffffff6
setge dl
xor ecx, ecx
add edx, 0x172aaffd
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setg cl
xor edx, edx
cmp eax, ecx
setge dl
xor ebx, ebx
neg edx
mov dword [ebp - 0x690], edx
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov eax, dword [ebp - 4]
setg bl
sub ebx, 0xddf34ffd
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
shl ebx, 2
cmp ebx, eax
pop eax
setl cl
mov dword [ebp - 0xc14], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
jg 0x4511f2
mov dword [ebp - 0x14], 0x28ea388
mov dword [ebp - 0x2c], 0x105f
mov dword [ebp - 4], eax
jmp 0x4512de
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x574], 0x95e17ca0
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x4512cd
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x56c]
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
push 2
mov dword [ebp - 0x56c], esi
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x451332
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x45132f
call ebx
push eax
call dword [sym.imp.USER32.dll_GetMenu]
push 2
xor eax, eax
pop ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x451318
mov dword [ebp - 4], 0x79763266
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ecx
jge 0x45135e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe04], 0
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x451346
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x45137c
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x451379
push 0x1adc
call dword [sym.imp.USER32.dll_GetSysColorBrush]
xor eax, eax
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x451363
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x20], 0xfffffffd
push 4
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x4513b2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7a4], 0xd327cb3f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x45139a
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x4513d2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2a4], 0x61f6656
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x4513ba
xor eax, eax
mov dword [ebp - 0x298], 3
cmp dword [ebp - 0x298], eax
jl 0x45148f
mov dword [ebp - 0x40], eax
xor edx, edx
mov dword [ebp - 0x18], 0x3691f6f4
mov eax, dword [ebp - 0x298]
mov eax, dword [ebp + eax*4 - 0x7a4]
mov eax, dword [ebp - 0x298]
mov eax, dword [ebp + eax*4 - 0x7a4]
mov eax, dword [ebp - 0x298]
cmp eax, esi
mov eax, dword [ebp - 0x298]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x40]
setl cl
xor edx, edx
cmp ecx, 0x5d367296
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x20]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xffffffff
jb 0x451456
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x298]
xor edx, edx
push 0
mov ecx, dword [ebp + eax*4 - 0x7a4]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x298]
setg dl
mov eax, dword [ebp + eax*4 - 0x7a4]
imul eax, edx
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x298]
pop eax
jns 0x4513e8
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x4514a6
push 0x1b47
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
xor eax, eax
mov dword [ebp - 0x30], 0xf6b
mov dword [ebp - 0x20], 0x3fde7504
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xa1dd
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x18], 0x3978d11e
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x4514ef
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xdc], 0xeb90
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x4514d7
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x451505
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x34c], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x4514f4
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x14]
inc eax
neg eax
sbb eax, eax
neg eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x45152e
mov eax, dword [ebp - 0x34c]
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x348]
mov eax, dword [ebp - 0x348]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], 0x82aa
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0xdc]
setg dl
xor ecx, ecx
add eax, edx
cmp eax, 0xfffffff8
mov eax, dword [ebp - 0xdc]
push 4
setl cl
imul eax, ecx
pop ecx
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x14], 0xf8cd3bed
mov dword [ebp - 0x14], 0xddc85f70
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ecx
jge 0x4515e5
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xdcc], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x4515cd
xor eax, eax
push 0xfffffffffffffffc
mov dword [ebp - 0x14], 0x13
pop ecx
cmp dword [ebp - 0x14], ecx
jg 0x451663
mov dword [ebp - 0x40], 0x58a835a
mov dword [ebp - 4], eax
jmp 0x451611
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x25c], 0xbd697e78
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x451600
mov eax, dword [ebp - 0x25c]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
add ecx, 0xd19c
cmp eax, ecx
push 0xfffffffffffffffc
setge dl
sub edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x14]
sub edx, 2
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add eax, edx
cmp eax, 0xffab
pop eax
setl cl
mov dword [ebp - 0xdc4], ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
push 0
pop eax
jle 0x4515f4
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x45167a
push eax
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x3c], 0xec4f3f7e
mov dword [ebp - 0x20], 0x62d7bc3
mov dword [ebp - 0x24], 0xf3b8c105
mov dword [ebp - 0x34], 0xa4d59ff4
mov dword [ebp - 0x40], 0xfec46bc2
mov dword [ebp - 0x14], 0xf1fcc103
mov dword [ebp - 0x2c], 0x2375
mov dword [ebp - 4], eax
jmp 0x4516c4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa44], 0x36ee
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x4516b3
mov eax, dword [ebp - 0x20]
add eax, 0x40ca7005
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
jne 0x4516e4
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x4516e4
mov esi, eax
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
push 0xfffffffffffffffa
setne dl
cmp edx, 3
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp eax, esi
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, 7
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], 0xfffffff8
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
pop eax
cmp dword [ebp - 0x40], eax
je 0x45172c
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
xor ebx, ebx
push 5
pop eax
sub eax, dword [ebp - 0x14]
inc ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, ebx
setge cl
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, ebx
setg dl
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], 0xb370cc32
mov dword [ebp - 0x20], 0xb5c29478
mov dword [ebp - 0x20], 0x5734cb44
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 4], eax
jmp 0x451798
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x148], 0xfe1ca2
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x451787
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x20], 0xd004
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x148]
push 9
pop eax
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xe0cd9796
setne al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 8
jmp 0x451869
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 3
jge 0x451842
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc68], 0xc47a
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x451829
xor eax, eax
cmp dword [ebp - 0xc68], eax
je 0x451854
mov edx, ebx
cmp dword [ebp - 0x144], eax
jne 0x451856
mov edx, eax
mov eax, dword [ebp - 0x144]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x14]
xor eax, eax
cmp dword [ebp - 0x14], 0x12
jle 0x451820
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40], 0x25cf162c
push 2
mov dword [ebp - 8], eax
pop esi
cmp dword [ebp - 8], esi
jge 0x4518ac
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x35c], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x451894
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x4518cc
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x4a8], 0x58a60016
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x4518b4
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4518e2
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x3e4], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x4518d1
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x358]
mov eax, dword [ebp - 0x358]
cmp ecx, eax
push 0xfffffffffffffff7
setl dl
xor eax, eax
cmp edx, 0x9ec13488
setne al
xor edx, edx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
imul ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x3e0]
cmp ecx, eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x3e0]
setne dl
add ecx, edx
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x358]
cmp eax, ecx
mov eax, dword [ebp - 0x3e4]
setge dl
xor ecx, ecx
cmp edx, eax
pop eax
setle cl
cmp eax, ecx
mov eax, dword [ebp - 0x3dc]
push 3
sbb ecx, ecx
add ecx, 0x871ef5c6
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sete dl
xor ecx, ecx
cmp edx, 0x45beac3e
setne cl
xor edx, edx
add ecx, 0x16765654
cmp ecx, eax
mov eax, dword [ebp - 4]
setge dl
xor ebx, ebx
cmp edx, 0x3407
setg bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor ebx, ebx
cmp ecx, 0xfffffff9
setle bl
sub ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x35c]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, eax
mov eax, dword [ebp - 0x3e0]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3e0]
setl cl
add eax, ecx
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x4519f7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6a4], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x4519df
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x451a17
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc74], 0x395830af
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x4519ff
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], 0x5f43260
mov dword [ebp - 4], eax
cmp dword [ebp - 4], esi
jge 0x451a4e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa68], 0x26bdde0b
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x451a36
xor eax, eax
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], eax
jl 0x451b2e
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x451a7a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x278], 0x97341720
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x451a62
xor eax, eax
mov dword [ebp - 0x14], 0x6210b999
mov dword [ebp - 0x14], eax
jmp 0x451b1c
mov dword [ebp - 0x24], 0x5b7f37c0
mov dword [ebp - 0x40], 0xb9e9d60a
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jg 0x451b19
mov dword [ebp - 0x40], 0x7a329ef
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x451ab8
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x278]
cmp ecx, eax
push 0
setg dl
mov dword [ebp - 0x40], edx
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
mov ecx, 0xfce2949f
setne dl
sub ecx, eax
xor eax, eax
cmp ecx, edx
setg al
xor edx, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0xa64]
mov eax, dword [ebp - 0x278]
cmp ecx, eax
setne dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x24]
pop eax
cmp dword [ebp - 0x24], ebx
jle 0x451a9f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x451a89
dec dword [ebp - 0x3c]
jns 0x451a5a
cmp dword [ebp - 0x1c], eax
jne 0x451b78
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
setg cl
mov dword [ebp - 0x6a4], ecx
test ecx, ecx
jne 0x451b5b
xor eax, eax
cmp dword [ebp - 0x6a4], eax
jne 0x451b5b
mov ecx, eax
cmp dword [ebp - 0x1c], eax
je 0x451b5d
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
imul eax, ecx
push 4
pop ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x451b92
mov ecx, eax
cmp dword [ebp - 0x6a4], eax
je 0x451b94
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
push 4
setle dl
sub edx, 0x65f5
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setg cl
xor eax, eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 0x2fe22364
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x451be2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf4c], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x451bca
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x451c02
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa54], 0x4dfbd6c3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x451bea
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x451c2a
mov dword [ebp - 0x18], 0x73d2d672
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x451c20
push eax
call dword [sym.imp.USER32.dll_CharUpperW]
xor eax, eax
mov dword [ebp - 0x18], 0x260417be
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jle 0x451c07
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xd
jle 0x4520e5
mov dword [ebp - 4], 0xe0648261
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x451c67
push eax
push 0x1a3e
push 0x795
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemInt]
xor eax, eax
mov dword [ebp - 4], 3
jmp 0x451ca1
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x451c8c
push 0x2488
push 0x2234
push eax
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x451c9e
push eax
call dword [sym.imp.ole32.dll_CoInitialize]
xor eax, eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffffa
jg 0x451c70
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 4], 0xccb03629
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x451cdd
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2e0], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x451cc4
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x451cff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1bc], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x451ce6
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x451d12
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
xor eax, eax
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], esi
jg 0x451dc4
mov eax, dword [ebp - 0x1bc]
mov eax, dword [ebp + eax*4 - 0x2e0]
mov dword [ebp - 4], eax
xor eax, eax
cmp dword [ebp - 4], eax
je 0x451d91
mov eax, dword [ebp - 0x1bc]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x2e0]
mov eax, dword [ebp - 0x1bc]
mov eax, dword [ebp + eax*4 - 0x2e0]
mov eax, dword [ebp - 0x1bc]
mov eax, dword [ebp + eax*4 - 0x2e0]
mov eax, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp + eax*4 - 0x2e0]
mov eax, dword [ebp - 0x1bc]
cmp ecx, eax
setl dl
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 8
ja 0x451d8f
mov eax, ebx
jmp 0x451d91
xor eax, eax
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x451dab
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x2e0], 0
jne 0x451db0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x451d9b
inc dword [ebp - 0x1bc]
cmp dword [ebp - 0x1bc], esi
jle 0x451d24
xor eax, eax
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x25], al
mov dword [ebp - 0x10], 0x70ade216
mov dword [ebp - 0x2c], 0x8974b666
mov dword [ebp - 8], ebx
mov dword [ebp - 0x34], 0xd9a924c0
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0xa095a979
mov dword [ebp - 0x40], 0xb95ae64
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x2c], 0xfc3a065
mov dword [ebp - 0x24], 0xcd908fbd
mov dword [ebp - 0x18], 0x7a847e08
mov dword [ebp - 4], eax
jmp 0x451e2f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4a4], 0xfffffffe
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x451e1e
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0x4a0]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], ebx
mov esi, dword [ebp - 0x4a0]
mov eax, dword [ebp - 0x20]
add esi, 0x315b
cmp eax, 0xd3351f4a
mov eax, dword [ebp - 0x34]
setne cl
xor edx, edx
cmp esi, ecx
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x40]
setne bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor eax, eax
cmp ecx, dword [ebp - 0x34]
jl 0x451e99
cmp dword [ebp - 0x4a0], eax
je 0x451e99
xor ebx, ebx
inc ebx
mov ecx, ebx
jmp 0x451e9e
xor ebx, ebx
mov ecx, eax
inc ebx
dec dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x10]
imul eax, ecx
push 2
pop esi
sub eax, 0x3adab8f5
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 8], eax
dec dword [ebp - 0x18]
cmp byte [ebp - 0x25], 0
je 0x451f52
mov dword [ebp - 0x2c], esi
xor eax, eax
mov dword [ebp - 0x18], 0x299
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x451ef3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x284], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x451edb
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x451f13
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd7c], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x451efb
xor eax, eax
mov dword [ebp - 0x280], eax
jmp 0x451f46
mov dword [ebp - 4], 0xe2c0d37a
mov dword [ebp - 0x48], 0xbc781ced
mov dword [ebp - 4], eax
jmp 0x451f3b
mov dword [ebp - 0x48], 0xe64f1479
dec dword [ebp - 0x18]
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jle 0x451f2e
inc dword [ebp - 0x280]
cmp dword [ebp - 0x280], 0xd
jg 0x451f1b
push eax
call edi
mov dword [ebp - 0x20], 0xf9b2cfb6
xor eax, eax
push 0xfffffffffffffff7
pop edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x48], 0x6e82
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jge 0x451f91
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xa30], 0xfffffff9
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x451f78
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x451fb1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x5ac], 0xee973417
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x451f99
xor eax, eax
push 4
mov dword [ebp - 8], eax
pop ecx
cmp dword [ebp - 8], ecx
jge 0x451fd4
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xebc], 0x1fb8
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x451fbc
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x451ff0
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x174], edx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x451fdc
xor eax, eax
cmp dword [ebp - 0xa2c], eax
je 0x452009
cmp dword [ebp - 0x20], eax
je 0x452009
mov eax, dword [ebp - 0x174]
inc dword [ebp - 0x174]
mov dword [ebp - 0x5ac], 0x3b3bbbb5
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xa2c], ebx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x452050
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
add edx, dword [ebp - 0x14]
cmp dword [ebp - 0x44], edx
jle 0x45204e
mov ecx, ebx
jmp 0x452052
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
push 0
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setg cl
xor edx, edx
cmp ecx, 0xfffffff6
setge dl
xor ecx, ecx
add edx, 0x172aaffd
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setg cl
xor edx, edx
cmp eax, ecx
setge dl
xor ebx, ebx
neg edx
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x30]
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setg bl
sub ebx, 0xddf34ffd
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
shl ebx, 2
cmp ebx, eax
pop eax
setl cl
mov dword [ebp - 0xc74], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
push 1
pop ebx
jg 0x451c3d
mov dword [ebp - 0x10], 5
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x45210f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x150], 0xc2e0cf57
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x4520f7
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x452122
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jg 0x452240
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x20], 0x3526c715
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x150], 0
je 0x4521be
mov dword [ebp - 0x14], esi
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jg 0x4521a3
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x150]
inc eax
jne 0x452172
cmp dword [ebp - 0x48], eax
je 0x452174
mov eax, ebx
xor edx, edx
cmp eax, 0x7a14
mov eax, dword [ebp - 0x20]
sete dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
neg ecx
je 0x452195
cmp dword [ebp - 0x14], eax
je 0x452195
mov eax, ebx
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0
jle 0x452160
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x452232
push eax
push 0x458
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
jmp 0x452230
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], esi
jge 0x4521e3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa14], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x4521cb
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x45222b
cmp dword [ebp - 0x18], eax
je 0x452200
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x150], 0
jne 0x4521fe
mov edx, ebx
jmp 0x452202
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x150]
cmp dword [ebp - 0x20], eax
je 0x45221a
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x20], eax
je 0x45221c
mov ecx, ebx
xor eax, eax
cmp edx, ecx
setg al
sub eax, dword [ebp - 0xa14]
je 0x45222d
mov eax, ebx
mov dword [ebp - 0x48], eax
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x45212e
xor eax, eax
mov dword [ebp - 0x2c], 0x7e8e
mov dword [ebp - 0x34], 0xe2c0d37a
mov dword [ebp - 0x2c], 0xe468
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x10], 0xfffffff8
mov dword [ebp - 0x48], 0x29e5e26c
mov dword [ebp - 0x18], 0xcf720afd
push 3
pop edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edi
jge 0x45229a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4dc], 0xaeef20fe
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x452282
xor eax, eax
inc dword [ebp - 0x10]
mov edx, 0xc6715623
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jg 0x45237f
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], 0x1183d964
mov dword [ebp - 0x20], 0x2d4e203d
mov dword [ebp - 4], eax
jmp 0x4522d9
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x6cc], 0x9e4e412c
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x4522c8
mov ecx, dword [ebp - 0x4d4]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4dc], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x4dc]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x4d8]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
add ecx, 0x6390
mov dword [ebp + eax*4 - 0x4dc], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
cmp eax, ebx
setge cl
xor eax, eax
cmp ecx, dword [ebp - 0x34]
jl 0x452353
mov edx, ebx
cmp dword [ebp - 0x6c8], eax
jne 0x452355
mov edx, eax
mov eax, dword [ebp - 0x6c8]
xor ecx, ecx
cmp edx, eax
mov edx, 0xc6715623
push 0
setl cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
pop eax
cmp dword [ebp - 0x10], esi
jle 0x4522ae
mov dword [ebp - 0x48], 0xf885bd52
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x4523a3
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x5c], 0xc64a
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x45238e
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x4523c3
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xb0], 6
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x4523ab
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x4523e3
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x794], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x4523cb
xor eax, eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], eax
jl 0x45240b
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x452403
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
xor eax, eax
dec dword [ebp - 0xb0]
jns 0x4523f1
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
neg edx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
setge cl
imul edx, ecx
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x794], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x790]
mov eax, dword [ebp - 0xb0]
cmp ecx, eax
mov dword [ebp - 0xb0], eax
sbb eax, eax
inc eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], esi
jge 0x452484
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa1c], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x45246c
xor eax, eax
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], eax
jl 0x45249f
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0xa1c], ecx
jne 0x45249d
dec dword [ebp - 4]
jns 0x45248c
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edi
jge 0x4524bf
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x5bc], 0xad313dd3
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x4524a7
xor eax, eax
mov dword [ebp - 0x20], 0x3fde7504
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xa1dd
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x48], 0x3978d11e
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x4524fe
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb8], 0xeb90
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x4524e6
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x452514
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x36c], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x452503
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x14]
inc eax
neg eax
sbb eax, eax
neg eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x45253d
mov eax, dword [ebp - 0x36c]
mov eax, dword [ebp - 0xb8]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x368]
mov eax, dword [ebp - 0x368]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0x82aa
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0xb8]
setg dl
xor ecx, ecx
add eax, edx
cmp eax, 0xfffffff8
mov eax, dword [ebp - 0xb8]
setl cl
imul eax, ecx
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x5b4], eax
cmp dword [ebp - 0x5b4], 0xf
je 0x452821
mov dword [ebp - 0x2c], 0x8a87013d
mov dword [ebp - 0x2c], 0x73ff82ff
mov dword [ebp - 0x2c], 0x72759951
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0x60e704f3
mov dword [ebp - 0x2c], 0xb568be13
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x2c], 0x9c213245
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x452631
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xdd4], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x452619
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x452651
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd8c], 0
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x452639
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x452671
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd0c], 0xfffffffb
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x452659
xor eax, eax
dec dword [ebp - 0x18]
mov dword [ebp - 0x34], 0xb57e8b72
mov dword [ebp - 0x20], 0xad744d02
push 4
mov dword [ebp - 0x40], 0xf9c71042
pop edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x18], 0xbae0
mov dword [ebp - 4], eax
jmp 0x4526ac
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x564], 9
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x45269b
mov eax, dword [ebp - 0x560]
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x4526c5
mov ecx, eax
cmp dword [ebp - 0x40], eax
je 0x4526c7
mov ecx, ebx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x560]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x560], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x40]
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
cmp eax, 9
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x452714
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 4
xor eax, eax
pop edx
mov byte [ebp - 0x25], al
mov dword [ebp - 0x20], 0xf9b2cfb6
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x48], 0x6e82
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x452752
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xb60], 0xfffffff9
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x45273a
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x452772
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x440], 0xee973417
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x45275a
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edx
jge 0x452792
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xeec], 0x1fb8
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x45277a
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x4527ae
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x158], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x45279a
xor eax, eax
cmp dword [ebp - 0xb5c], eax
je 0x4527c7
cmp dword [ebp - 0x20], eax
je 0x4527c7
mov eax, dword [ebp - 0x158]
inc dword [ebp - 0x158]
mov dword [ebp - 0x440], 0x3b3bbbb5
mov eax, dword [ebp - 0x158]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xb5c], ebx
cmp byte [ebp - 0x25], 0
je 0x45280b
xor eax, eax
push eax
push 0x13d
push eax
push 0x2624
push 0xc67
push eax
push 0xa64
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
inc dword [ebp - 0x5b4]
cmp dword [ebp - 0x5b4], 0xf
push 0
pop eax
jne 0x4525d6
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x48], 0xfffffffb
mov dword [ebp - 8], eax
cmp dword [ebp - 8], ebx
jge 0x45284f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x190], 0x162c
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x452837
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jge 0x45286b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xc8c], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x452857
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], esi
jge 0x45288b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xa7c], 0x72ddb74a
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x452873
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x45289d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe58], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x452890
mov eax, dword [ebp - 0x190]
xor ecx, ecx
cmp eax, 0x81d7f403
mov eax, dword [ebp - 0x190]
setge cl
add eax, ecx
jne 0x4528c2
mov eax, dword [ebp - 0xa7c]
mov eax, dword [ebp - 0xc84]
mov edx, ebx
sub edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x190]
cmp edx, eax
mov eax, 0x30f9
setne cl
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x9d0], eax
mov dword [ebp - 0x9cc], eax
mov dword [ebp - 0x9c8], eax
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edi
jge 0x452922
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xca4], 0x2bb11acc
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x45290a
xor eax, eax
mov ecx, 0x2e0cf572
mov dword [ebp - 0x9cc], ecx
mov dword [ebp - 0xca0], ecx
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x452948
push eax
push 0x102a
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
mov eax, 0x3b26bdde
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e8], 0xfffffff4
jmp 0x452b0a
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1e8], eax
jg 0x4529a9
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x45299d
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x1e8], eax
je 0x45299f
mov eax, ebx
imul eax, eax, 0xffff
test eax, eax
je 0x4529ab
mov eax, ebx
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x1e8]
setl cl
sub ecx, eax
xor eax, eax
cmp ecx, dword [ebp - 0x1e4]
jl 0x452a8b
mov dword [ebp - 0x20], 0xfa85f88e
mov dword [ebp - 0x18], 0x5a12a2ef
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x4529f6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x48c], 0xe5a82a6f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x4529de
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x452a16
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xcbc], 0xfff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x4529fe
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x452a86
mov eax, dword [ebp - 0x48c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0xcbc]
sub ecx, 0xfffa
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
sete dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, ebx
setge cl
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, ecx
mov eax, dword [ebp - 0x1e8]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, 7
jne 0x452a86
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x20], ebx
jmp 0x452b04
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x452aab
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x270], 0xfffe
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x452a93
xor eax, eax
mov dword [ebp - 0x14], 0xffffffe7
jmp 0x452af8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x452ad4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x494], 0xfaa058a1
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x452abc
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jg 0x452af5
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x494], 0
jne 0x452af3
inc dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x1c], eax
jle 0x452adc
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffee
je 0x452ab4
dec dword [ebp - 0x270]
inc dword [ebp - 0x1e8]
cmp dword [ebp - 0x1e8], 0xfffffffd
jle 0x452974
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x452b49
push eax
push 0x17d5
push 0x233a
push 0x777
push 0x246d
push 0x198
push 0x1ee8
push eax
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
xor eax, eax
mov dword [ebp - 0x14], 0xfdb7b241
mov dword [ebp - 8], 0xfffb
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x3c], 0x62c3dccd
mov dword [ebp - 0x18], 0x30c3e41a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x452b85
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4c], 0x905d09ea
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x452b70
xor eax, eax
push 4
mov dword [ebp - 0x10], eax
pop ecx
jmp 0x452b9e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7bc], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x452b8d
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
cmp ecx, eax
setg dl
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x20]
je 0x452bc7
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 8]
sub ecx, eax
jne 0x452bd8
xor eax, eax
cmp eax, dword [ebp - 8]
je 0x452bdf
mov eax, ebx
cmp eax, dword [ebp - 8]
jl 0x452be2
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
inc eax
je 0x452dc3
mov dword [ebp - 0x18], 0x6cedda56
xor eax, eax
mov dword [ebp - 0x40], 0xdfe90167
push 4
mov dword [ebp - 4], eax
pop ecx
cmp dword [ebp - 4], ecx
jge 0x452c2a
mov eax, dword [ebp - 4]
push 4
mov dword [ebp + eax*4 - 0x650], ebx
inc dword [ebp - 4]
pop eax
cmp dword [ebp - 4], eax
jl 0x452c13
xor eax, eax
cmp dword [ebp - 0x650], eax
je 0x452c99
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x452c4f
push eax
push eax
push eax
push eax
push eax
push eax
push 0x21cf
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
xor eax, eax
push 0xfffffffffffffffe
mov dword [ebp - 0x38], 0xffffffff
pop edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], esi
push 4
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], 0xbaed967a
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edi
jge 0x452c8c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x334], 7
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x452c74
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, 0x3809d01
jmp 0x452f27
mov dword [ebp - 4], eax
cmp dword [ebp - 4], esi
jge 0x452cb9
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x188], 0xa2f
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x452ca1
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], edi
jg 0x452d26
jmp 0x452cc5
xor eax, eax
mov dword [ebp - 0x48], 0xfffffff8
cmp dword [ebp - 0x4c], eax
jne 0x452ce0
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
test eax, eax
jne 0x452ce0
mov edx, eax
jmp 0x452ce2
mov edx, ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x650]
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x650], esi
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x48]
cmp edx, eax
setle cl
xor edx, edx
cmp esi, ecx
sete dl
xor eax, eax
cmp edx, 0x60e2
setg al
mov dword [ebp - 0x188], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x452cc3
push 2
pop esi
mov eax, dword [ebp - 0x188]
xor ecx, ecx
cmp eax, ebx
setge cl
imul eax, ecx, 0x293d
test eax, eax
je 0x452d4b
xor eax, eax
cmp dword [ebp - 0x188], eax
je 0x452d4d
mov eax, ebx
jmp 0x452d4d
xor eax, eax
xor ecx, ecx
cmp eax, 9
mov eax, dword [ebp - 0x650]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x650]
setle dl
imul eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 8]
jl 0x452d82
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x650], eax
je 0x452d84
mov ecx, ebx
mov eax, dword [ebp - 0x188]
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x188]
setl dl
sub ecx, edx
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x184]
setne dl
add ecx, edx
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0x4c], edx
jmp 0x452c4d
mov dword [ebp - 0x10], 0xffffffff
push 9
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x4c], eax
test eax, eax
jne 0x452e39
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
cmp edx, eax
mov edx, dword [ebp - 0x7b8]
mov eax, dword [ebp - 0x1c]
setg cl
imul edx, ecx
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
neg eax
add eax, dword [ebp - 0x1c]
jne 0x452e39
mov edx, eax
jmp 0x452e3b
mov edx, ebx
mov eax, dword [ebp - 0x7bc]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
sete cl
imul eax, ecx
mov dword [ebp - 0x7b8], eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x10], eax
jg 0x452e67
xor eax, eax
cmp dword [ebp - 4], eax
je 0x452e69
mov eax, ebx
jmp 0x452e69
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x1c], 0x14
jle 0x452c4d
mov dword [ebp - 0x48], 0x28b58326
xor edx, edx
mov dword [ebp - 0x3c], 0xeba8
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
dec ecx
cmp eax, ecx
setl dl
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10]
cmp eax, 0xd75f
mov eax, dword [ebp - 8]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp eax, edx
setge cl
cmp ecx, dword [ebp - 0x7b0]
jne 0x452ed7
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x7b8], 0x2229b2ab
inc dword [ebp - 0x1c]
jmp 0x452e82
mov dword [ebp - 0x2c], 0x782a1836
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x48], 0x85613717
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
inc dword [ebp - 0x24]
mov dword [ebp - 0x48], 0x958900fd
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x452ee6
mov eax, dword [ebp - 0x334]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x452f53
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x452f55
cmp dword [ebp - 0x24], eax
je 0x452f55
mov ecx, ebx
jmp 0x452f57
xor eax, eax
mov ecx, eax
xor eax, eax
cmp ecx, 0xf1bd
setl al
xor ecx, ecx
cmp eax, 0x45661c44
mov eax, 0x392715ee
setg cl
sub eax, ecx
cmp eax, 0x264d9248
jg 0x452f88
xor eax, eax
cmp dword [ebp - 0x334], eax
je 0x452f8a
mov eax, ebx
jmp 0x452f8a
xor eax, eax
mov ecx, dword [ebp - 0x32c]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x24]
add eax, ecx
imul ecx, eax, 0x98d72a66
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov ecx, 0xf263070b
setle dl
cmp dword [ebp - 0x334], edx
jle 0x453053
mov dword [ebp - 0x20], 0x3aa9
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x2c], 0xefcc72fd
mov dword [ebp - 0x330], ebx
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0xdb58
setle al
cmp eax, 0x3d250654
jle 0x453003
xor eax, eax
cmp dword [ebp - 0x334], eax
jne 0x45300c
jmp 0x453005
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x40], eax
je 0x45300e
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x1c]
add edx, 0x465331d0
cmp eax, edx
mov eax, 0xb1310f07
setl cl
cmp eax, ecx
mov eax, dword [ebp - 0x40]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setne cl
xor edx, edx
imul ecx, ecx, 0x13f3
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
jmp 0x45306c
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0x628d16e9
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 4], 8
mov dword [ebp - 0x3c], 0xc61c71bc
mov dword [ebp - 0x40], 0xd700
push 9
pop eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x48], 0xf8c32619
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x4530c1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x430], 0x59d568d5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x4530a9
xor eax, eax
push 4
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x4530e4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7d4], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x4530cc
xor eax, eax
cmp dword [ebp - 4], eax
jne 0x45310d
mov ecx, dword [ebp - 0x428]
xor edx, edx
mov eax, dword [ebp - 4]
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setge dl
sub edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7d4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x428]
xor ecx, ecx
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x428]
mov eax, dword [ebp - 0x7d4]
cmp eax, 0xba3f
setne cl
mov dword [ebp - 0x7d4], ecx
test ecx, ecx
je 0x453237
mov dword [ebp - 0x10], 0xe7504ed0
xor edx, edx
mov dword [ebp - 4], 0x56d20a2e
mov dword [ebp - 0x18], 0xf3a4b440
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, dword [ebp - 0x40]
jle 0x45317f
cmp eax, dword [ebp - 0x10]
je 0x453184
mov eax, ebx
cmp eax, dword [ebp - 0x10]
jl 0x453187
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], esi
xor ecx, ecx
mov eax, dword [ebp - 0x48]
mov edx, 0xb818
cmp eax, ebx
setle cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 4]
sub edx, eax
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], eax
je 0x453226
or eax, 0xffffffff
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x990], eax
mov dword [ebp - 0x98c], eax
mov dword [ebp - 0x988], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x48], 0x901672c6
mov edx, dword [ebp - 0x7d0]
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 0x994]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, edi
setle cl
cmp dword [ebp - 4], ecx
jg 0x453216
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x48], 0xb2b4b20f
mov dword [ebp - 0x10], 8
jmp 0x453249
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x45324b
push eax
call dword [sym.imp.KERNEL32.dll_InitializeSListHead]
jmp 0x453249
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], al
je 0x453249
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
xor eax, eax
mov dword [ebp - 0x10], 0xb743d837
mov dword [ebp - 0x1c], 7
mov dword [ebp - 8], 0xc01e6e2b
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edi
jge 0x453283
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x2f8], 0x20624039
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x45326b
xor eax, eax
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x453347
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x2f8], 0
jne 0x4532b5
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2f8]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x1c], eax
je 0x4532b7
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x2f8]
mov dword [ebp - 8], 0xed6f
mov eax, dword [ebp - 0x10]
cmp eax, edx
mov eax, dword [ebp - 8]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x2f8]
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x1c], eax
jmp 0x453336
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x453321
push eax
push 0x538
push 0x14ff
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
xor eax, eax
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0
je 0x453333
cmp dword [ebp - 0x1c], esi
jle 0x4532f7
dec dword [ebp - 0x10]
push 0
pop eax
jns 0x45328f
mov dword [ebp - 8], esi
cmp dword [ebp - 8], eax
jl 0x4533f7
mov dword [ebp - 0x48], 0xfffffffe
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0xe9ab
mov dword [ebp - 4], eax
cmp dword [ebp - 4], ebx
jge 0x453384
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1a4], 0x955f1bb1
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x45336c
xor eax, eax
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x45339e
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x2f8]
dec dword [ebp - 0x1c]
jns 0x45338c
mov eax, dword [ebp - 8]
xor edx, edx
cmp dword [ebp + eax*4 - 0x2f8], edx
je 0x4533d4
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 8]
push 9
pop ecx
mov dword [ebp + eax*4 - 0x2f8], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x10]
sub ecx, eax
mov eax, ebx
jne 0x4533d6
mov eax, edx
cmp eax, dword [ebp - 0x1a4]
jl 0x4533e1
mov dword [ebp - 8], eax
jmp 0x45340d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xc4], 0xfffffff9
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x4533fc
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x44], 0xffffffe3
cmp dword [ebp - 0x44], 0xfffffff9
jl 0x4534c8