Function at 0x427c89
Capabilities:
Accept command line arguments
Create process on windows
Get file size
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x244
push ebx
push esi
mov bl, dl
mov dword [ebp - 0x18], 0xfffffffb
push edi
xor edx, edx
mov dword [ebp - 0x14], 0xc3d6
mov edi, ecx
mov byte [ebp - 0x3d], bl
xor esi, esi
mov dword [ebp - 0x30], edi
mov dword [ebp - 8], edx
inc esi
jmp 0x427cc5
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x4c], 0xe649f6d4
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x427cb7
push 4
mov dword [ebp - 8], edx
pop ecx
jmp 0x427ce3
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x204], 0xfc9b996a
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x427cd2
mov dword [ebp - 8], edx
jmp 0x427cfa
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1f4], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x427ced
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
je 0x427d13
cmp dword [ebp - 0x18], edx
jle 0x427d13
mov edx, esi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 0x936b
mov dword [ebp - 0x1fc], ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
sub eax, 3
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
jge 0x427d4c
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], esi
jne 0x427d60
mov eax, esi
cmp dword [ebp - 0x4c], edx
jne 0x427d62
mov eax, edx
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 8], 0x3e8f0887
mov dword [ebp - 0x28], 0x78a4
mov dword [ebp - 0x24], 0x40f
mov dword [ebp - 4], edx
jmp 0x427d93
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb4], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x427d82
mov dword [ebp - 4], edx
jmp 0x427daf
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x90], 0xf1febaee
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x427d9e
mov dword [ebp - 0x8c], esi
cmp dword [ebp - 0x8c], edx
jl 0x427fa7
mov dword [ebp - 4], 0xe2c0d37a
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x38], 0xa7dbc8b6
mov dword [ebp - 4], edx
cmp dword [ebp - 4], esi
jg 0x427f9b
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x34], 0x6852db5
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x14], edx
jmp 0x427e19
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x427e08
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], esi
jg 0x427ee4
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x14], edx
jmp 0x427e4b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1d8], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x427e3a
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp + eax*4 - 0xb4]
mov dword [ebp - 0x38], 0xfffffffa
cmp dword [ebp - 0x38], edx
je 0x427e78
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edx
jne 0x427e78
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x8c]
xor edx, edx
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x8c]
cmp ecx, eax
push 0
setge dl
mov dword [ebp - 0x1d8], edx
mov edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x8c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
mov eax, dword [ebp + eax*4 - 0xb4]
cmp edx, eax
mov eax, dword [ebp - 4]
sete cl
imul eax, ecx
pop edx
imul eax, eax, 0x6b99
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jle 0x427e2b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x28]
je 0x427f2d
cmp dword [ebp - 0xa4], edx
jne 0x427efd
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
sbb edx, edx
neg edx
xor ecx, ecx
cmp edx, eax
setge cl
cmp dword [ebp - 0x38], ecx
jl 0x427f2d
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
neg eax
add eax, 0xfffffff8
je 0x427f6c
cmp dword [ebp - 0xa4], 0
je 0x427f6c
mov eax, esi
jmp 0x427f6e
xor eax, eax
mov dword [ebp - 0x38], eax
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 4]
cmp ecx, eax
push 0
setg dl
neg edx
mov dword [ebp - 0x2c], edx
inc dword [ebp - 4]
pop edx
cmp dword [ebp - 4], esi
jle 0x427de4
dec dword [ebp - 0x8c]
jns 0x427dc7
mov dword [ebp - 0xc], 6
mov dword [ebp - 0x1c], 0x8462751c
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 4], edx
jmp 0x427fd2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1cc], 0x3b91
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x427fc1
mov dword [ebp - 4], edx
jmp 0x427fee
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x244], 0xa10aa43b
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x427fdd
mov dword [ebp - 0xc], edx
jmp 0x42802f
mov dword [ebp - 0x1c], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x2c], 0x5934215e
mov dword [ebp - 0x1c], 0x21009d43
dec dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x1cc]
cmp eax, esi
setne cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jle 0x427ff9
mov dword [ebp - 0xc], 4
mov dword [ebp - 4], 0x516a205b
mov dword [ebp - 0x18], 0x902dafbb
mov dword [ebp - 0x38], 0x4290900d
mov dword [ebp - 8], edx
jmp 0x428067
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe8], 0xb13638ec
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x428056
mov dword [ebp - 8], edx
jmp 0x42807f
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xac], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x428072
mov dword [ebp - 8], edx
jmp 0x42809b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x194], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x42808a
mov dword [ebp - 8], edx
jmp 0x4280b3
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x44], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x4280a5
cmp dword [ebp - 0xe4], edx
jne 0x428219
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xe4]
add ecx, eax
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x44]
cmp ecx, eax
mov eax, esi
cmovge eax, edx
neg eax
mov dword [ebp - 4], eax
jne 0x428219
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], 0x771b7056
mov dword [ebp - 0x14], edx
jmp 0x428110
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe0], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4280ff
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xdc]
sub eax, 0xfffffffc
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0xc]
je 0x428132
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0xdc]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xdc], esi
cmp dword [ebp - 0x20], edx
jl 0x428165
mov ecx, edx
cmp dword [ebp - 0xe0], edx
je 0x428167
mov ecx, esi
mov eax, dword [ebp - 0xe4]
imul eax, ecx
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x44], edx
jne 0x42820f
mov eax, dword [ebp - 0xc]
xor ecx, ecx
add eax, 0x62fed330
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
setne dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0xe8]
setge bl
xor edx, edx
imul ecx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, 5
mov dword [ebp - 0x14], ecx
jne 0x4281d4
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x20], eax
je 0x4281d6
mov ecx, esi
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg dl
mov dword [ebp - 0xac], edx
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 4]
imul eax, eax, 0xf514
test eax, eax
mov eax, edx
je 0x428211
mov eax, esi
mov bl, byte [ebp - 0x3d]
mov dword [ebp - 0x20], eax
jmp 0x428231
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x428231
push edx
push 0x1074
push edx
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
xor edx, edx
inc dword [ebp - 0x38]
mov ecx, dword [0x4915ec]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0xc], 0x47cdedfc
mov dword [ebp - 0x28], 0x2f92e6c0
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x38], ecx
mov dword [ebp - 4], edx
jmp 0x42826e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x148], 0x8d383303
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x42825d
mov dword [ebp - 4], edx
jmp 0x42828a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xfc], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x428279
cmp dword [ebp - 0x18], edx
je 0x4282c4
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0x18], eax
jl 0x4282a3
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xfc], 3
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0xe
je 0x4283d0
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x1c], 0x8eb8
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x14], edx
jmp 0x428325
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b4], 0x80e44e38
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x428314
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xfc]
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x20]
cmp eax, 0x3123
setl cl
shl ecx, 2
test ecx, ecx
jne 0x42835d
mov ecx, edx
cmp dword [ebp - 4], edx
je 0x42835f
mov ecx, esi
mov eax, dword [ebp - 0xfc]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x13c]
setle dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x28]
cmp edx, eax
sete cl
xor eax, eax
cmp ecx, 0xfffffff6
mov dword [ebp - 0xfc], ecx
setle al
xor edx, edx
imul eax, eax, 0xdbf6
cmp eax, dword [ebp - 0xc]
jg 0x4283a1
cmp dword [ebp - 0x144], edx
je 0x4283a8
mov eax, esi
cmp dword [ebp - 4], edx
jne 0x4283aa
mov eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x184], 0xfffffff9
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x2c], esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xe
jne 0x4282e7
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp + 8]
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], 3
mov dword [ebp - 0x1c], 0x5764361a
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x1c], 0x811fc80a
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 0xd66de6b9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0xcef3cf68
mov dword [ebp - 0x1c], 0x96559653
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x1c], 0x34ab462a
mov dword [ebp - 0x1c], 0xe32883e7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0x26cdee94
mov dword [ebp - 0x1c], 0xc51ac06e
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x1c], 0xbecc33ba
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], edx
mov dword [esi], edx
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], edx
cmp dword [ebp - 4], eax
jge 0x428480
xor edi, edi
inc edi
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1a0], 0xcd1ac8c6
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x428467
mov edi, dword [ebp - 0x30]
mov dword [ebp - 4], edx
jmp 0x428496
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x21c], 0x4fc37f20
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x428485
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 0xfffffffe
jle 0x428524
xor edi, edi
inc edi
mov dword [ebp - 4], 0x5e17ca00
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x14], edx
jmp 0x4284c5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], 0x197f0a2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x4284b7
cmp dword [ebp - 4], edx
jne 0x428521
mov dword [ebp - 4], edx
jmp 0x428513
mov dword [ebp - 0x28], 0x52027495
mov dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x58]
mov dword [ebp - 0x2c], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x4284d4
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffe
jg 0x4284a8
mov edi, dword [ebp - 0x30]
inc dword [ebp - 0x34]
push 7
pop eax
test bl, bl
je 0x4289c5
xor ebx, ebx
inc ebx
cmp ecx, ebx
jne 0x4289c5
mov dword [ebp - 0x18], 0x865925ef
mov dword [ebp - 0x34], 0x25f5f996
mov dword [ebp - 0xc], 0x795ed7c6
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], 0x8d92426f
mov dword [ebp - 0x28], eax
mov eax, 0xd5f49dcb
mov dword [ebp - 0x2c], 0xeb2d3650
mov dword [ebp - 0x24], 0x1465
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x20], 0xffffffff
cmp dword [ebp - 0x34], edx
jne 0x4285d3
mov eax, dword [ebp - 0xc]
mov ecx, 0xf219a6fd
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
sbb eax, eax
neg eax
cmp ebx, eax
sbb eax, eax
neg eax
sub eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x28], ebx
push 4
pop eax
mov dword [ebp - 0x34], 0xfcec4ee8
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x1c], 0xad8b3b4c
mov dword [esi + 8], eax
mov dword [ebp - 4], edx
jmp 0x42863f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x154], 0x3eb905d0
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x42862e
mov dword [ebp - 4], edx
jmp 0x428658
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x70], 0xcc545e21
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x42864a
mov dword [ebp - 0x84], 0xfffffff6
cmp dword [ebp - 0x84], 0xffffffe6
jle 0x4289bb
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xc], 0x60a2fc53
mov dword [ebp - 0x1c], 0xa3fd
mov dword [ebp - 4], 0x2746
mov dword [ebp - 0x14], edx
jmp 0x4286a6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x428698
mov dword [ebp - 8], edx
jmp 0x4286c1
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x154], 0x8ab659d5
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x4286b0
mov eax, dword [ebp - 0x7c]
cmp dword [ebp - 0x84], 0x6316
jl 0x4286e0
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x28], edx
je 0x4286ea
cmp dword [ebp - 8], edx
jne 0x4286ef
cmp dword [ebp - 8], edx
je 0x4286f1
mov edx, ebx
mov eax, dword [ebp - 8]
sub edx, eax
sub edx, dword [ebp - 0x150]
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x693009c
setle al
xor edx, edx
cmp eax, 0xfffffffe
je 0x428984
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x9c], 0xa3f30045
mov dword [ebp - 0x24], 0x7d6446bd
mov dword [ebp - 0x10c], 0x91a83acd
mov dword [ebp - 0x108], 0x91a83acd
mov dword [ebp - 0x104], 0x91a83acd
mov dword [ebp - 0x100], 0x91a83acd
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], 0x1e611887
dec dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x84]
cmp ecx, eax
mov eax, dword [ebp - 0x70]
setl dl
xor ecx, ecx
cmp edx, 0xffffffff
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp eax, 0x2a4b
setl cl
xor eax, eax
cmp ecx, edx
setle al
xor edx, edx
mov dword [ebp - 8], eax
mov esi, dword [ebp - 8]
mov dword [ebp - 0x74], esi
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x84]
cmp eax, ecx
mov eax, dword [ebp - 0x84]
setl dl
xor ebx, ebx
cmp esi, edx
setge bl
xor ecx, ecx
sub ebx, eax
mov eax, dword [ebp - 0x20]
cmp ebx, eax
setge cl
cmp ecx, dword [ebp - 0x2c]
jle 0x4287dd
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x84]
sub edx, eax
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
add edx, 0x355901a7
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0xc]
jge 0x42881f
cmp dword [ebp - 0x104], edi
jne 0x42881f
xor ebx, ebx
mov edx, edi
inc ebx
jmp 0x428824
xor ebx, ebx
inc ebx
mov edx, ebx
mov eax, dword [ebp - 0x70]
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], edx
je 0x428940
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c], 0xffffffff
cmp dword [ebp - 0xc], edx
jne 0x428936
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x74]
sub ecx, eax
mov eax, dword [ebp - 0x84]
imul eax, ecx
test eax, eax
je 0x4288f0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x100]
cmp ecx, eax
mov eax, dword [ebp - 0x78]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edi, edi
cmp ecx, dword [ebp - 0xc]
jle 0x42888f
cmp dword [ebp - 0x9c], edi
je 0x428896
mov ecx, ebx
cmp dword [ebp - 0xc], edi
jne 0x428898
mov ecx, edi
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
cmp ecx, 0xffffffff
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x104]
setge dl
add ecx, edx
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x14c]
setl dl
xor eax, eax
cmp edx, 0x69f1
setl al
imul ecx, eax
mov eax, dword [ebp - 0x150]
add eax, ecx
mov dword [ebp - 0x104], eax
je 0x4288ee
mov edx, ebx
jmp 0x4288f2
xor edx, edx
xor edi, edi
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0xc]
jne 0x428908
mov edx, edi
cmp dword [ebp - 0x14], edi
je 0x42890a
mov edx, ebx
mov eax, dword [ebp - 0x70]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x84]
setl cl
sub ecx, eax
xor eax, eax
add ecx, 0x41a78517
cmp ecx, 0x7f253abc
setg al
xor edx, edx
cmp eax, 0xfffffffc
mov eax, edx
jb 0x428938
mov eax, ebx
mov dword [ebp - 0xc], eax
inc dword [ebp - 4]
jmp 0x4289a2
mov dword [ebp - 0x18], 0xfffffffe
cmp dword [ebp - 0x50], edx
jne 0x428953
mov eax, edx
cmp dword [ebp - 0x24], edx
jne 0x428955
mov eax, ebx
mov dword [ebp - 0x70], eax
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
neg edx
cmp eax, edx
setne cl
xor edx, edx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setg dl
mov dword [ebp - 0x74], edx
xor edx, edx
jmp 0x4289a2
mov dword [ebp - 0x24], 0xfffffff8
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x74]
cmp eax, ecx
setge dl
neg edx
mov dword [ebp - 0xc], edx
xor edx, edx
cmp dword [ebp - 0x24], edx
jne 0x4289b5
dec dword [ebp - 0x84]
cmp dword [ebp - 0x84], 0xffffffe6
jg 0x428674
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x30]
push 7
mov dword [esi + 0xc], 0x4915ec
pop eax
mov dword [ebp - 4], 0x48bbca63
xor ebx, ebx
inc ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x50], 0xfffc
mov dword [ebp - 0x24], ebx
mov dword [ebp - 4], 0xfffffff6
cmp dword [ebp - 4], 0x17
jne 0x428b5e
mov dword [ebp - 0xc8], eax
xor ecx, ecx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x24], 0x538e5efb
mov dword [ebp - 0x24], 0xfffffffd
mov eax, dword [ebp - 0xc8]
cmp eax, ebx
setl cl
cmp ecx, dword [ebp - 4]
jg 0x428b20
mov dword [ebp - 0xc], 0x3bf58aae
mov dword [ebp - 0x24], 0x7dfe98d7
mov dword [ebp - 0x28], edx
xor edx, edx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
neg ecx
cmp eax, ecx
setl dl
xor ebx, ebx
cmp edx, 0x8406
setl bl
xor ecx, ecx
sub ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp ebx, eax
mov eax, dword [ebp - 4]
setge cl
xor edx, edx
dec ecx
cmp ecx, 0x6326
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x24]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setle bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor edi, edi
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x34]
jge 0x428acc
cmp dword [ebp - 0x50], edi
je 0x428acc
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x428ad1
xor ecx, ecx
mov eax, edi
inc ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edi
jne 0x428ae7
cmp dword [ebp - 4], edi
jne 0x428ae7
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc8]
xor ebx, ebx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc8]
cmp ecx, eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xbc]
setg bl
imul edx, ebx
xor ecx, ecx
cmp edx, eax
setg cl
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0xc8], ecx
inc ebx
jmp 0x428b34
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x428b34
push edx
push edx
push edx
call dword [sym.imp.ADVAPI32.dll_RegConnectRegistryW]
xor edx, edx
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x428b4b
push 0x1378
push edx
call dword [sym.imp.KERNEL32.dll_WinExec]
xor edx, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x17
push 7
pop eax
je 0x4289ed
mov edi, dword [ebp - 0x30]
cmp edi, dword [ebp - 0x38]
jge 0x429894
mov dword [ebp - 0xc], edx
xor esi, esi
push 3
pop ecx
inc esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], 0xcafa32fd
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], 0xdb785b64
mov dword [ebp - 0x34], 0xec326874
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x1c], 0xaeba4d3e
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], 0x8ef068cd
mov dword [ebp - 0x24], 0x56a0b349
mov dword [ebp - 0x1c], 0x47cdedfc
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x24], 0x3fc2f92e
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x50], 0x837
mov dword [ebp - 0x28], 0x13cef339
mov dword [ebp - 0x3c], 0xe56e623b
mov dword [ebp - 0x14], 0x4f68993d
mov dword [ebp - 0x18], 0xec6ea3d8
mov dword [ebp - 0x24], 0x49ce
mov dword [ebp - 0x14], 0xffff
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x3c], 0x75bb799e
mov dword [ebp - 4], edx
jmp 0x428c1e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x120], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x428c0d
mov dword [ebp - 4], edx
jmp 0x428c39
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1c0], 0xff97
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x428c28
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x50]
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x2b8ffd02
setl cl
sub ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x50], ecx
jne 0x428c6d
cmp dword [ebp - 0x118], edx
je 0x428c6f
mov edx, esi
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setl cl
xor ebx, ebx
add ecx, 0xfe6ffcee
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x1b8]
imul eax, ecx
test eax, eax
jne 0x428c9b
mov eax, ebx
cmp dword [ebp - 0x48], ebx
je 0x428c9d
mov eax, esi
mov dword [ebp - 0x24], eax
xor edx, edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setge dl
dec dword [ebp - 0xc]
cmp eax, edx
mov eax, dword [ebp - 0x3c]
cmovge ecx, ebx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 6
je 0x428d4c
mov dword [ebp - 0x18], 0x3706
mov dword [ebp - 0x3c], 0xb7dff937
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
neg eax
inc ecx
cmp ecx, eax
je 0x428d11
cmp dword [ebp - 0x28], edx
je 0x428d11
mov edx, esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0x9ed2
jge 0x428d31
cmp dword [ebp - 0x18], 0
je 0x428d31
mov edx, esi
jmp 0x428d33
xor edx, edx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
push 0
setge cl
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 6
pop edx
jne 0x428ce6
mov dword [ebp - 0x2c], edx
mov ebx, 0x4915f0
mov dword [ebp - 0x14], ebx
test edi, edi
jle 0x4291ce
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x24], 0xba80278e
mov dword [ebp - 0x48], 0xf2aa787d
mov dword [ebp - 0x24], 0x447610b5
mov dword [ebp - 0x1c], 0x140913db
mov dword [ebp - 4], edx
jmp 0x428d91
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x6c], 0xa876e6ba
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x428d83
mov dword [ebp - 4], edx
jmp 0x428dad
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x228], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x428d9c
mov dword [ebp - 0xc], 0xfffffff3
cmp dword [ebp - 0xc], 0x19
jl 0x428f4b
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], 0x8a0a82b5
mov dword [ebp - 0x1c], 0x1af0
mov dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x20], ebx
jmp 0x428dfe
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xf0], 0x11b1996f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x428ded
mov dword [ebp - 8], ebx
jmp 0x428f16
mov dword [ebp - 4], 0xfffffffd
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], ebx
jmp 0x428e32
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x114], 3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x428e21
mov dword [ebp - 4], ebx
jmp 0x428e62
mov eax, dword [ebp - 4]
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0xc]
cmp eax, 1
mov eax, dword [ebp - 4]
setg cl
xor edx, edx
cmp esi, ecx
sete dl
xor esi, esi
mov dword [ebp + eax*4 - 0x6c], edx
inc dword [ebp - 4]
inc esi
cmp dword [ebp - 4], esi
jle 0x428e3c
mov eax, dword [ebp - 0xec]
imul eax, dword [ebp - 0x18]
test eax, eax
je 0x428e7c
mov edx, esi
cmp dword [ebp - 0x1c], ebx
jne 0x428e7e
mov edx, ebx
mov eax, dword [ebp - 0xf0]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setne cl
inc dword [ebp - 0x34]
cmp eax, ecx
jge 0x428e98
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
cmp dword [ebp - 8], ebx
jne 0x428edf
mov eax, ebx
cmp dword [ebp - 0x114], ebx
je 0x428ee1
mov eax, esi
cmp eax, 0xffffffff
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x6c]
mov dword [ebp - 0x24], 0x781b
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x428e0c
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setle dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x6c], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x19
jge 0x428dc6
mov ebx, dword [ebp - 0x14]
xor edx, edx
mov edi, dword [ebx]
mov dword [ebp - 0xc], 0xb3921ded
mov dword [ebp - 4], edx
mov dword [ebp - 4], edx
jmp 0x428f6d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x138], 0x11bc383c
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x428f5c
mov dword [ebp - 4], edx
jmp 0x428f89
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x98], 0xe071
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x428f78
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jne 0x428fa6
mov eax, dword [ebp - 0xc]
test eax, eax
mov dword [ebp - 0x12c], eax
mov eax, edx
je 0x428fa8
mov eax, esi
cmp eax, dword [ebp - 0x94]
jl 0x428fb8
cmp dword [ebp - 0x94], edx
je 0x428fba
mov edx, esi
mov eax, dword [ebp - 0x98]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setge cl
imul eax, ecx
test eax, eax
je 0x428fdd
xor eax, eax
cmp dword [ebp - 0x94], eax
jne 0x428fe9
jmp 0x428fdf
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x134], eax
je 0x428feb
mov ecx, esi
mov eax, dword [ebp - 0x94]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x94]
sete dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 4], ecx
mov dword [ebp - 4], edx
jmp 0x42907a
mov dword [ebp - 8], 0x58bbe58
mov dword [ebp - 0x1c], 0x6a75
cmp dword [ebp - 0xc], edx
jne 0x429080
cmp dword [ebp - 8], edx
je 0x429030
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
push 0xfffffffffffffffc
pop ecx
sub ecx, eax
xor eax, eax
cmp ecx, esi
setle al
inc eax
jne 0x42906f
cmp dword [ebp - 0x134], edx
jne 0x42906f
mov eax, edx
cmp dword [ebp - 0x1c], edx
je 0x429071
mov eax, esi
sub dword [ebp - 0x12c], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x36
je 0x42900f
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x18], 0x6318
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x1c], esi
push 3
mov dword [ebp - 0x1c], 0xfffffffd
mov dword [ebp - 0x14], edx
pop ecx
jmp 0x4290b8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x234], 0xded1456b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x4290a7
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jne 0x4290d1
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0xd8c6
mov dword [ebp - 0x24], 0xb45c
mov dword [ebp - 0x14], edx
jmp 0x4290f5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x210], 0x7e294b58
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x4290e4
inc dword [ebp - 0x24]
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], dl
je 0x42910e
push edx
call dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
xor edx, edx
mov esi, dword [ebx + 4]
add ebx, 8
mov dword [ebp - 0x1c], 1
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x42912c
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor edx, edx
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x429147
push edx
push edx
push 0x1139
push edx
push edx
push edx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
xor edx, edx
test esi, esi
jne 0x42914e
add ebx, 8
mov ecx, 0xbdde
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x174], ecx
mov dword [ebp - 4], 0xbe8e56f9
mov dword [ebp - 4], edx
jmp 0x429188
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x180], 0xcfb6
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x429177
mov dword [ebp - 4], 0xffffffe3
jmp 0x4291b0
cmp dword [ebp - 4], edx
jne 0x4291b6
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x4291ad
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
xor edx, edx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe2
jle 0x429197
mov eax, dword [ebp - 0x2c]
add ebx, edi
inc eax
mov dword [ebp - 0x14], ebx
push 1
mov dword [ebp - 0x2c], eax
pop esi
cmp eax, dword [ebp - 0x30]
jl 0x428d5f
push 0xfffffffffffffff9
pop edi
mov dword [ebp - 0x18], edi
mov ecx, 0xffff
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0xc], 2
mov dword [ebp - 0x2c], 0x2c59
mov dword [ebp - 0x30], esi
mov dword [ebp - 4], edx
mov dword [ebp - 8], 0x578cca69
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x48], 0x57951f1b
mov dword [ebp - 0x30], edx
jmp 0x429217
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xb8], 0x4e5a945c
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x429206
mov eax, dword [ebp - 0x18]
cmp ecx, eax
sbb eax, eax
inc eax
cmp ecx, eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
add eax, 0x414696ea
xor ecx, ecx
cmp eax, edx
setle cl
xor edx, edx
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 4]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xfff6
setge cl
cmp eax, ecx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, edx
setle cl
xor edx, edx
imul ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x30], edx
je 0x429305
mov dword [ebp - 0x1c], 0xfc24489b
mov dword [ebp - 4], edx
cmp dword [ebp - 4], edx
jl 0x4292eb
mov edi, 0x2e072305
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ebx
jl 0x4292e1
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xb8], edi
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x4292dc
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
dec dword [ebp - 0xc]
jns 0x4292b5
dec dword [ebp - 4]
jns 0x4292aa
mov ebx, dword [ebp - 0x14]
xor edx, edx
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], 0
je 0x4293a9
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
jmp 0x4293a7
mov dword [ebp - 4], edi
mov dword [ebp - 0x2c], 0xffffffff
cmp dword [ebp - 4], edx
je 0x429329
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], dl
je 0x4293a9
push edx
call dword [sym.imp.USER32.dll_DestroyCursor]
jmp 0x4293a7
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], edx
jne 0x429334
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
mov ecx, 0xfffe
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x48], eax
mov byte [ebp - 0xd], dl
cmp byte [ebp - 0xd], dl
je 0x4293a9
push 0x2486
push edx
push 0x149a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
xor edx, edx
mov edi, dword [ebx]
push 3
mov dword [ebp - 4], 0x49aaed6b
pop ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x48], edi
mov dword [ebp - 8], edx
jmp 0x4293ce
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x64], 0x4dd03248
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x4293c0
mov dword [ebp - 8], edx
jmp 0x4293e9
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x128], 0x65256810
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x4293d8
mov dword [ebp - 8], edx
jmp 0x429401
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x170], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x4293f4
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x5c]
sub eax, 0x43c6fe23
cmp eax, 0x6d210ec3
setle cl
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x64], edx
je 0x429464
mov eax, dword [ebp - 0x64]
xor edx, edx
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
mov eax, dword [ebp - 4]
setg dl
sub edx, eax
je 0x429462
mov edx, esi
jmp 0x429464
xor edx, edx
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 4]
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], edx
je 0x429628
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x2c], 0xf0fc5a51
mov dword [ebp - 8], edx
cmp dword [ebp - 8], edx
je 0x4294b3
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0xc]
dec eax
neg eax
sbb eax, eax
neg eax
cmp eax, 0x1f32
jl 0x4294b3
mov edx, esi
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp eax, edx
setl cl
xor edx, edx
mov dword [ebp - 0x170], ecx
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0xfffffff4
je 0x429640
xor ebx, ebx
mov dword [ebp - 0x28], 0x3da7d8e2
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x3c], 0x9f65
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0xc], 2
jmp 0x4295de
mov dword [ebp - 0x1c], 0xd61c0642
mov dword [ebp - 0x34], 0xb5f814d1
mov dword [ebp - 4], ebx
jmp 0x4295d1
mov dword [ebp - 0x30], 0xbb9a2f72
mov dword [ebp - 0x30], ebx
jmp 0x42952f
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1e4], 0xb4c01f90
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x42951e
mov dword [ebp - 0x30], ebx
jmp 0x4295c4
mov dword [ebp - 0x20], 3
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x20], 0x18
jmp 0x4295bb
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x429566
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [ebp - 8], 0x4f412f3a
jne 0x42959c
mov eax, dword [ebp - 0x5c]
imul eax, dword [ebp - 0x5c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], ebx
jne 0x42958b
mov ecx, ebx
cmp dword [ebp - 0x34], ebx
je 0x42958d
mov ecx, esi
mov eax, dword [ebp - 0x1c]
mov edx, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, ecx
jne 0x42959e
mov edx, ebx
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
setge cl
sub eax, ecx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe6
jne 0x429556
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x1b
je 0x42953d
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x19
jle 0x429512
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffffb
jle 0x4294fc
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0xc]
jl 0x4295fd
mov eax, ebx
cmp dword [ebp - 0x5c], ebx
je 0x4295ff
mov eax, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x170]
dec dword [ebp - 0x18]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff4
jne 0x4294d4
mov ebx, dword [ebp - 0x14]
xor edx, edx
jmp 0x429640
mov dword [ebp - 0x1c], 0x4c6930a
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov dword [ebp - 0xc], ecx
mov esi, dword [ebx + 4]
mov dword [ebp - 0xc], 0xfffffffa
mov dword [ebp - 0x2c], 0x5b2906c9
mov dword [ebp - 0x1c], 0x84cb8f6c
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0x11
jge 0x4296a5
xor edi, edi
inc edi
mov dword [ebp - 0x28], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x1c], 0x7084bc9c
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x28]
cmp eax, 9
setg cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0xc]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x11
jl 0x429664
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x18], 0xc902
xor ecx, ecx
mov dword [ebp - 0x2c], 0xfffffffa
inc ecx
mov dword [ebp - 0x1c], 0x17b722ba
mov dword [ebp - 4], 0xfffffff9
mov dword [ebp - 0x1c], 0x1ebc
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], 0xc37461bc
mov dword [ebp - 0x3c], 0x14d8
mov dword [ebp - 0xc], edx
jmp 0x4296ef
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x54], 0xd68f985
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x4296e1
mov dword [ebp - 0xc], edx
jmp 0x429706
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x11c], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x4296f9
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x30]
inc dword [ebp - 0x30]
test eax, eax
je 0x429725
cmp dword [ebp - 0x2c], edx
je 0x429725
mov edx, ecx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setl cl
cmp ecx, 0xc516
jle 0x42973a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x54]
inc ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
xor eax, eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], eax
jl 0x42979f
mov edx, 0x44e0c42e
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x1b0], edx
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1a4], edx
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x11c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x54], ecx
dec dword [ebp - 4]
jns 0x42975e
test esi, esi
jne 0x42988d
cmp byte [ebp - 0x3d], 0
je 0x4297bb
cmp dword [ebp - 0x38], ecx
jne 0x4297bb
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0xc]
add ebx, 0x10
push edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], ebx
call fcn.0046a5f3
pop ecx
mov ebx, eax
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0x110]
mov dword [ebp - 0x48], ebx
xor esi, esi
push eax
push edi
mov dword [ebp - 0x110], esi
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], esi
call fcn.0044e48c
mov ecx, esi
mov esi, dword [ebp - 0xd4]
test edi, edi
jle 0x429861
mov eax, ecx
and eax, 0x80000001
jns 0x429820
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x1c]
add eax, ecx
add eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x3c]
cdq
idiv edi
xor eax, eax
cmp word [esi + edx*2], ax
je 0x42984c
xor ebx, ebx
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x42983d
mov ebx, dword [ebp - 0x48]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x14]
mov al, byte [edx + eax]
mov byte [ecx + ebx], al
inc ecx
cmp ecx, edi
jl 0x429812
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov dword [eax + 4], ebx
test esi, esi
je 0x429892
push esi
call fcn.0046bae6
xor esi, esi
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], esi
mov esi, dword [ebp + 8]
pop ecx
jmp 0x429894
mov esi, dword [ebp + 8]
jmp 0x429897
mov esi, eax
xor ecx, ecx
inc ecx
mov dword [ebp - 4], 0x1f7e2799
xor eax, eax
mov dword [ebp - 0x38], 0x4ad744d0
mov dword [ebp - 0x1c], 0x44adca1a
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffe6
jg 0x429956
xor esi, esi
mov dword [ebp - 0x14], 0xfffb
mov dword [ebp - 0x1c], 0xcf456574
mov dword [ebp - 0x18], esi
jmp 0x4298dd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x19c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x4298d0
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 4], 0xfff8
test eax, eax
je 0x4298f6
cmp dword [ebp - 0x14], esi
jne 0x4298f8
mov ecx, esi
mov eax, dword [ebp - 4]
add eax, ecx
imul eax, dword [ebp - 4]
push 1
sub eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x14]
sub eax, dword [ebp - 4]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, ecx
mov eax, dword [ebp - 0x38]
setne dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x198]
mov dword [ebp - 0x38], ecx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe6
pop ecx
jle 0x4298bd
mov esi, dword [ebp + 8]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret