Function at 0x415680
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0x244
mov esi, ecx
mov ebx, eax
test edx, edx
je 0x4170aa
push 0x33
push edx
push ebx
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
mov byte [ebx + 0x32], 0
lea eax, [ebx + 0x33]
mov dword [esp + 0x23c], eax
test esi, esi
je 0x417094
push 0x33
push esi
push dword [esp + 0x244]
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
mov eax, dword [esp + 0x23c]
mov byte [eax + 0x32], 0
mov edx, dword [ebp + 0x14]
lea eax, [ebx + 0x66]
mov dword [esp + 0x238], eax
test edx, edx
je 0x41707e
push 0x33
push edx
push dword [esp + 0x240]
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
mov eax, dword [esp + 0x238]
mov byte [eax + 0x32], 0
mov edx, dword [ebp + 0x18]
lea eax, [ebx + 0x99]
mov dword [esp + 0x234], eax
test edx, edx
je 0x417068
push 0x33
push edx
push dword [esp + 0x23c]
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
mov eax, dword [esp + 0x234]
mov byte [eax + 0x32], 0
mov edx, dword [ebp + 0x1c]
lea eax, [ebx + 0xcc]
mov dword [esp + 0x230], eax
test edx, edx
je 0x417052
push 0x33
push edx
push dword [esp + 0x238]
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
mov eax, dword [esp + 0x230]
mov byte [eax + 0x32], 0
mov edx, dword [ebp + 0x20]
lea eax, [ebx + 0x132]
mov dword [esp + 0x22c], eax
test edx, edx
je 0x41703c
push 0x33
push edx
push dword [esp + 0x234]
call dword [sym.imp.MSVCR80.dll_strncpy]
add esp, 0xc
mov eax, dword [esp + 0x22c]
mov byte [eax + 0x32], 0
lea eax, [ebx + 0xff]
mov dword [eax + 4], 0x73776f
mov dword [eax], 0x646e6957
mov edx, ebx
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x4157ea
mov eax, edx
add edx, ecx
call fcn.00425520
mov esi, eax
dec esi
lea edi, [ebx + eax - 1]
js 0x415989
mov dword [esp + 0x28], eax
mov dword [esp + 0x220], ebx
mov edx, 1
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], edx
movsx ebx, byte [edi]
push ebx
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
jne 0x41583a
push ebx
call dword [sym.imp.MSVCR80.dll_isprint]
pop ecx
test eax, eax
je 0x41583a
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], esi
jmp 0x415849
cmp dword [esp + 0x20], 0
je 0x415846
mov byte [edi], 0
jmp 0x415849
mov byte [edi], 0x20
dec edi
dec esi
jns 0x415811
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
test ecx, ecx
jle 0x415989
sub eax, ecx
js 0x415989
lea edx, [eax + 1]
cmp edx, 6
jg 0x41587a
inc eax
jmp 0x415938
lea esi, [ebx + ecx]
inc eax
cmp ebx, esi
jbe 0x41588a
mov edx, ecx
neg edx
cmp eax, edx
jbe 0x41589a
cmp esi, ebx
jbe 0x415938
cmp ecx, eax
jb 0x415938
mov edi, ebx
and edi, 0xf
mov edx, edi
neg edx
add edx, 0x10
test edi, edi
cmovne edi, edx
lea esi, [edi + 0x10]
cmp eax, esi
jl 0x416ea1
mov esi, eax
sub esi, edi
and esi, 0xf
neg esi
add esi, eax
lea edx, [ebx + ecx]
test edi, edi
jbe 0x4158f0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], eax
movzx eax, byte [esi + edx]
mov byte [esi + ebx], al
inc esi
cmp esi, edi
jb 0x4158dc
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
lea ecx, [edi + edx]
test cl, 0xf
mov ecx, dword [esp + 0x2c]
je 0x415913
movdqu xmm0, xmmword [edi + edx]
movdqa xmmword [edi + ebx], xmm0
add edi, 0x10
cmp edi, esi
jb 0x415900
jmp 0x415924
movdqa xmm0, xmmword [edi + edx]
movdqa xmmword [edi + ebx], xmm0
add edi, 0x10
cmp edi, esi
jb 0x415913
cmp esi, eax
jae 0x415989
add ecx, ebx
movzx edx, byte [esi + ecx]
mov byte [esi + ebx], dl
inc esi
cmp esi, eax
jb 0x41592a
jmp 0x415989
mov edi, eax
shr edi, 0x1f
add edi, eax
sar edi, 1
test edi, edi
jbe 0x416ea8
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
xor esi, esi
lea edx, [ebx + ecx]
movzx eax, byte [edx + esi*2]
mov byte [ebx + esi*2], al
movzx ecx, byte [edx + esi*2 + 1]
mov byte [ebx + esi*2 + 1], cl
inc esi
cmp esi, edi
jb 0x415956
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
lea esi, [esi + esi + 1]
lea edx, [esi - 1]
cmp eax, edx
jbe 0x415989
add ecx, ebx
movzx eax, byte [esi + ecx - 1]
mov byte [esi + ebx - 1], al
mov edx, dword [esp + 0x23c]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x4159b4
mov eax, edx
add edx, ecx
call fcn.00425520
mov edi, eax
dec edi
lea esi, [eax + ebx + 0x32]
js 0x415bcb
mov dword [esp + 0x24], eax
mov dword [esp + 0x220], ebx
mov ecx, 1
xor edx, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
movsx ebx, byte [esi]
push ebx
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
jne 0x415a04
push ebx
call dword [sym.imp.MSVCR80.dll_isprint]
pop ecx
test eax, eax
je 0x415a04
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], edi
jmp 0x415a13
cmp dword [esp + 0x20], 0
je 0x415a10
mov byte [esi], 0
jmp 0x415a13
mov byte [esi], 0x20
dec esi
dec edi
jns 0x4159db
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
test edx, edx
jle 0x415bcb
sub eax, edx
js 0x415bcb
lea ecx, [eax + 1]
cmp ecx, 6
jg 0x415a44
inc eax
jmp 0x415b5b
lea esi, [edx + ebx + 0x33]
inc eax
cmp esi, dword [esp + 0x23c]
jae 0x415a5a
mov ecx, edx
neg ecx
cmp eax, ecx
jbe 0x415a6f
cmp esi, dword [esp + 0x23c]
jbe 0x415b5b
cmp edx, eax
jb 0x415b5b
mov esi, dword [esp + 0x23c]
and esi, 0xf
mov ecx, esi
neg ecx
add ecx, 0x10
test esi, esi
cmovne esi, ecx
lea edi, [esi + 0x10]
cmp eax, edi
jl 0x416eb2
mov edi, eax
sub edi, esi
and edi, 0xf
neg edi
add edi, eax
lea ecx, [edx + ebx + 0x33]
test esi, esi
jbe 0x415ae0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x23c]
movzx eax, byte [edx + ecx]
mov byte [edx + ebx], al
inc edx
cmp edx, esi
jb 0x415ac5
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x20], edi
lea edi, [esi + ecx]
test edi, 0xf
mov edi, dword [esp + 0x20]
je 0x415b14
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x23c]
movdqu xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x415b01
jmp 0x415b33
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x23c]
movdqa xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x415b22
mov ebx, dword [esp + 0x220]
cmp edi, eax
jae 0x415bcb
mov esi, dword [esp + 0x23c]
lea ecx, [edx + ebx + 0x33]
movzx edx, byte [edi + ecx]
mov byte [edi + esi], dl
inc edi
cmp edi, eax
jb 0x415b4d
jmp 0x415bcb
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
test esi, esi
jbe 0x416eb9
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x220], ebx
xor edi, edi
lea ecx, [edx + ebx + 0x33]
mov ebx, dword [esp + 0x23c]
movzx eax, byte [ecx + edi*2]
mov byte [ebx + edi*2], al
movzx edx, byte [ecx + edi*2 + 1]
mov byte [ebx + edi*2 + 1], dl
inc edi
cmp edi, esi
jb 0x415b88
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
lea ecx, [edi + edi + 1]
lea esi, [ecx - 1]
cmp eax, esi
jbe 0x415bcb
lea esi, [edx + ebx + 0x33]
mov edx, dword [esp + 0x23c]
movzx eax, byte [ecx + esi - 1]
mov byte [ecx + edx - 1], al
mov edx, dword [esp + 0x238]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x415bf6
mov eax, edx
add edx, ecx
call fcn.00425520
mov edi, eax
dec edi
lea esi, [eax + ebx + 0x65]
js 0x415e0d
mov dword [esp + 0x24], eax
mov dword [esp + 0x220], ebx
mov ecx, 1
xor edx, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
movsx ebx, byte [esi]
push ebx
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
jne 0x415c46
push ebx
call dword [sym.imp.MSVCR80.dll_isprint]
pop ecx
test eax, eax
je 0x415c46
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], edi
jmp 0x415c55
cmp dword [esp + 0x20], 0
je 0x415c52
mov byte [esi], 0
jmp 0x415c55
mov byte [esi], 0x20
dec esi
dec edi
jns 0x415c1d
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
test edx, edx
jle 0x415e0d
sub eax, edx
js 0x415e0d
lea ecx, [eax + 1]
cmp ecx, 6
jg 0x415c86
inc eax
jmp 0x415d9d
lea esi, [edx + ebx + 0x66]
inc eax
cmp esi, dword [esp + 0x238]
jae 0x415c9c
mov ecx, edx
neg ecx
cmp eax, ecx
jbe 0x415cb1
cmp esi, dword [esp + 0x238]
jbe 0x415d9d
cmp edx, eax
jb 0x415d9d
mov esi, dword [esp + 0x238]
and esi, 0xf
mov ecx, esi
neg ecx
add ecx, 0x10
test esi, esi
cmovne esi, ecx
lea edi, [esi + 0x10]
cmp eax, edi
jl 0x416ec3
mov edi, eax
sub edi, esi
and edi, 0xf
neg edi
add edi, eax
lea ecx, [edx + ebx + 0x66]
test esi, esi
jbe 0x415d22
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x238]
movzx eax, byte [edx + ecx]
mov byte [edx + ebx], al
inc edx
cmp edx, esi
jb 0x415d07
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x20], edi
lea edi, [esi + ecx]
test edi, 0xf
mov edi, dword [esp + 0x20]
je 0x415d56
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x238]
movdqu xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x415d43
jmp 0x415d75
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x238]
movdqa xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x415d64
mov ebx, dword [esp + 0x220]
cmp edi, eax
jae 0x415e0d
mov esi, dword [esp + 0x238]
lea ecx, [edx + ebx + 0x66]
movzx edx, byte [edi + ecx]
mov byte [edi + esi], dl
inc edi
cmp edi, eax
jb 0x415d8f
jmp 0x415e0d
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
test esi, esi
jbe 0x416eca
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x220], ebx
xor edi, edi
lea ecx, [edx + ebx + 0x66]
mov ebx, dword [esp + 0x238]
movzx eax, byte [ecx + edi*2]
mov byte [ebx + edi*2], al
movzx edx, byte [ecx + edi*2 + 1]
mov byte [ebx + edi*2 + 1], dl
inc edi
cmp edi, esi
jb 0x415dca
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
lea ecx, [edi + edi + 1]
lea esi, [ecx - 1]
cmp eax, esi
jbe 0x415e0d
lea esi, [edx + ebx + 0x66]
mov edx, dword [esp + 0x238]
movzx eax, byte [ecx + esi - 1]
mov byte [ecx + edx - 1], al
mov edx, dword [esp + 0x234]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x415e38
mov eax, edx
add edx, ecx
call fcn.00425520
mov edi, eax
dec edi
lea esi, [eax + ebx + 0x98]
js 0x416061
mov dword [esp + 0x24], eax
mov dword [esp + 0x220], ebx
mov ecx, 1
xor edx, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
movsx ebx, byte [esi]
push ebx
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
jne 0x415e8b
push ebx
call dword [sym.imp.MSVCR80.dll_isprint]
pop ecx
test eax, eax
je 0x415e8b
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], edi
jmp 0x415e9a
cmp dword [esp + 0x20], 0
je 0x415e97
mov byte [esi], 0
jmp 0x415e9a
mov byte [esi], 0x20
dec esi
dec edi
jns 0x415e62
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
test edx, edx
jle 0x416061
sub eax, edx
js 0x416061
lea ecx, [eax + 1]
cmp ecx, 6
jg 0x415ecb
inc eax
jmp 0x415feb
lea esi, [edx + ebx + 0x99]
inc eax
cmp esi, dword [esp + 0x234]
jae 0x415ee4
mov ecx, edx
neg ecx
cmp eax, ecx
jbe 0x415ef9
cmp esi, dword [esp + 0x234]
jbe 0x415feb
cmp edx, eax
jb 0x415feb
mov esi, dword [esp + 0x234]
and esi, 0xf
mov ecx, esi
neg ecx
add ecx, 0x10
test esi, esi
cmovne esi, ecx
lea edi, [esi + 0x10]
cmp eax, edi
jl 0x416ed4
mov edi, eax
sub edi, esi
and edi, 0xf
neg edi
add edi, eax
lea ecx, [edx + ebx + 0x99]
test esi, esi
jbe 0x415f6d
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x234]
movzx eax, byte [edx + ecx]
mov byte [edx + ebx], al
inc edx
cmp edx, esi
jb 0x415f52
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x20], edi
lea edi, [esi + ecx]
test edi, 0xf
mov edi, dword [esp + 0x20]
je 0x415fa1
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x234]
movdqu xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x415f8e
jmp 0x415fc0
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x234]
movdqa xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x415faf
mov ebx, dword [esp + 0x220]
cmp edi, eax
jae 0x416061
mov esi, dword [esp + 0x234]
lea ecx, [edx + ebx + 0x99]
movzx edx, byte [edi + ecx]
mov byte [edi + esi], dl
inc edi
cmp edi, eax
jb 0x415fdd
jmp 0x416061
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
test esi, esi
jbe 0x416edb
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x220], ebx
xor edi, edi
lea ecx, [edx + ebx + 0x99]
mov ebx, dword [esp + 0x234]
movzx eax, byte [ecx + edi*2]
mov byte [ebx + edi*2], al
movzx edx, byte [ecx + edi*2 + 1]
mov byte [ebx + edi*2 + 1], dl
inc edi
cmp edi, esi
jb 0x41601b
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
lea ecx, [edi + edi + 1]
lea esi, [ecx - 1]
cmp eax, esi
jbe 0x416061
lea esi, [edx + ebx + 0x99]
mov edx, dword [esp + 0x234]
movzx eax, byte [ecx + esi - 1]
mov byte [ecx + edx - 1], al
mov edx, dword [esp + 0x230]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x41608c
mov eax, edx
add edx, ecx
call fcn.00425520
mov edi, eax
dec edi
lea esi, [eax + ebx + 0xcb]
js 0x4162b5
mov dword [esp + 0x24], eax
mov dword [esp + 0x220], ebx
mov ecx, 1
xor edx, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
movsx ebx, byte [esi]
push ebx
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
jne 0x4160df
push ebx
call dword [sym.imp.MSVCR80.dll_isprint]
pop ecx
test eax, eax
je 0x4160df
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], edi
jmp 0x4160ee
cmp dword [esp + 0x20], 0
je 0x4160eb
mov byte [esi], 0
jmp 0x4160ee
mov byte [esi], 0x20
dec esi
dec edi
jns 0x4160b6
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
test edx, edx
jle 0x4162b5
sub eax, edx
js 0x4162b5
lea ecx, [eax + 1]
cmp ecx, 6
jg 0x41611f
inc eax
jmp 0x41623f
lea esi, [edx + ebx + 0xcc]
inc eax
cmp esi, dword [esp + 0x230]
jae 0x416138
mov ecx, edx
neg ecx
cmp eax, ecx
jbe 0x41614d
cmp esi, dword [esp + 0x230]
jbe 0x41623f
cmp edx, eax
jb 0x41623f
mov esi, dword [esp + 0x230]
and esi, 0xf
mov ecx, esi
neg ecx
add ecx, 0x10
test esi, esi
cmovne esi, ecx
lea edi, [esi + 0x10]
cmp eax, edi
jl 0x416ee5
mov edi, eax
sub edi, esi
and edi, 0xf
neg edi
add edi, eax
lea ecx, [edx + ebx + 0xcc]
test esi, esi
jbe 0x4161c1
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x230]
movzx eax, byte [edx + ecx]
mov byte [edx + ebx], al
inc edx
cmp edx, esi
jb 0x4161a6
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x20], edi
lea edi, [esi + ecx]
test edi, 0xf
mov edi, dword [esp + 0x20]
je 0x4161f5
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x230]
movdqu xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x4161e2
jmp 0x416214
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x230]
movdqa xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x416203
mov ebx, dword [esp + 0x220]
cmp edi, eax
jae 0x4162b5
mov esi, dword [esp + 0x230]
lea ecx, [edx + ebx + 0xcc]
movzx edx, byte [edi + ecx]
mov byte [edi + esi], dl
inc edi
cmp edi, eax
jb 0x416231
jmp 0x4162b5
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
test esi, esi
jbe 0x416eec
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x220], ebx
xor edi, edi
lea ecx, [edx + ebx + 0xcc]
mov ebx, dword [esp + 0x230]
movzx eax, byte [ecx + edi*2]
mov byte [ebx + edi*2], al
movzx edx, byte [ecx + edi*2 + 1]
mov byte [ebx + edi*2 + 1], dl
inc edi
cmp edi, esi
jb 0x41626f
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
lea ecx, [edi + edi + 1]
lea esi, [ecx - 1]
cmp eax, esi
jbe 0x4162b5
lea esi, [edx + ebx + 0xcc]
mov edx, dword [esp + 0x230]
movzx eax, byte [ecx + esi - 1]
mov byte [ecx + edx - 1], al
mov edx, dword [esp + 0x22c]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x4162e0
mov eax, edx
add edx, ecx
call fcn.00425520
mov edi, eax
dec edi
lea esi, [eax + ebx + 0x131]
js 0x416509
mov dword [esp + 0x24], eax
mov dword [esp + 0x220], ebx
mov ecx, 1
xor edx, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
movsx ebx, byte [esi]
push ebx
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
jne 0x416333
push ebx
call dword [sym.imp.MSVCR80.dll_isprint]
pop ecx
test eax, eax
je 0x416333
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], edi
jmp 0x416342
cmp dword [esp + 0x20], 0
je 0x41633f
mov byte [esi], 0
jmp 0x416342
mov byte [esi], 0x20
dec esi
dec edi
jns 0x41630a
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
test edx, edx
jle 0x416509
sub eax, edx
js 0x416509
lea ecx, [eax + 1]
cmp ecx, 6
jg 0x416373
inc eax
jmp 0x416493
lea esi, [edx + ebx + 0x132]
inc eax
cmp esi, dword [esp + 0x22c]
jae 0x41638c
mov ecx, edx
neg ecx
cmp eax, ecx
jbe 0x4163a1
cmp esi, dword [esp + 0x22c]
jbe 0x416493
cmp edx, eax
jb 0x416493
mov esi, dword [esp + 0x22c]
and esi, 0xf
mov ecx, esi
neg ecx
add ecx, 0x10
test esi, esi
cmovne esi, ecx
lea edi, [esi + 0x10]
cmp eax, edi
jl 0x416ef6
mov edi, eax
sub edi, esi
and edi, 0xf
neg edi
add edi, eax
lea ecx, [edx + ebx + 0x132]
test esi, esi
jbe 0x416415
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x22c]
movzx eax, byte [edx + ecx]
mov byte [edx + ebx], al
inc edx
cmp edx, esi
jb 0x4163fa
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x20], edi
lea edi, [esi + ecx]
test edi, 0xf
mov edi, dword [esp + 0x20]
je 0x416449
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x22c]
movdqu xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x416436
jmp 0x416468
mov dword [esp + 0x220], ebx
mov ebx, dword [esp + 0x22c]
movdqa xmm0, xmmword [esi + ecx]
movdqa xmmword [esi + ebx], xmm0
add esi, 0x10
cmp esi, edi
jb 0x416457
mov ebx, dword [esp + 0x220]
cmp edi, eax
jae 0x416509
mov esi, dword [esp + 0x22c]
lea ecx, [edx + ebx + 0x132]
movzx edx, byte [edi + ecx]
mov byte [edi + esi], dl
inc edi
cmp edi, eax
jb 0x416485
jmp 0x416509
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
test esi, esi
jbe 0x416efd
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x220], ebx
xor edi, edi
lea ecx, [edx + ebx + 0x132]
mov ebx, dword [esp + 0x22c]
movzx eax, byte [ecx + edi*2]
mov byte [ebx + edi*2], al
movzx edx, byte [ecx + edi*2 + 1]
mov byte [ebx + edi*2 + 1], dl
inc edi
cmp edi, esi
jb 0x4164c3
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x220]
lea ecx, [edi + edi + 1]
lea esi, [ecx - 1]
cmp eax, esi
jbe 0x416509
lea esi, [edx + ebx + 0x132]
mov edx, dword [esp + 0x22c]
movzx eax, byte [ecx + esi - 1]
mov byte [ecx + edx - 1], al
movsx eax, byte [ebx + 0x99]
test eax, eax
je 0x416e3f
movsx eax, byte [ebx]
mov dword [esp + 0x224], ebx
push eax
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
je 0x416547
mov esi, ebx
inc esi
movsx eax, byte [esi]
push eax
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
jne 0x416530
mov dword [esp + 0x224], esi
mov edx, dword [esp + 0x224]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x416572
mov eax, edx
add edx, ecx
call fcn.00425520
cmp eax, 4
ja 0x416cb5
cmp eax, 2
jb 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, str.none
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4165b0
test dl, dl
je 0x4165ac
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4165b0
add edi, 2
add esi, 2
test dl, dl
jne 0x416590
xor eax, eax
jmp 0x4165b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x542910
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4165e9
test dl, dl
je 0x4165e5
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4165e9
add edi, 2
add esi, 2
test dl, dl
jne 0x4165c9
xor eax, eax
jmp 0x4165ee
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x540aa4
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416622
test dl, dl
je 0x41661e
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416622
add edi, 2
add esi, 2
test dl, dl
jne 0x416602
xor eax, eax
jmp 0x416627
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x54290c
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x41665b
test dl, dl
je 0x416657
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x41665b
add edi, 2
add esi, 2
test dl, dl
jne 0x41663b
xor eax, eax
jmp 0x416660
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x540aa8
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416694
test dl, dl
je 0x416690
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416694
add edi, 2
add esi, 2
test dl, dl
jne 0x416674
xor eax, eax
jmp 0x416699
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x540aac
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4166cd
test dl, dl
je 0x4166c9
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4166cd
add edi, 2
add esi, 2
test dl, dl
jne 0x4166ad
xor eax, eax
jmp 0x4166d2
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, str.xxxx
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416706
test dl, dl
je 0x416702
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416706
add edi, 2
add esi, 2
test dl, dl
jne 0x4166e6
xor eax, eax
jmp 0x41670b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x540ab8
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x41673f
test dl, dl
je 0x41673b
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x41673f
add edi, 2
add esi, 2
test dl, dl
jne 0x41671f
xor eax, eax
jmp 0x416744
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x540abc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416778
test dl, dl
je 0x416774
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416778
add edi, 2
add esi, 2
test dl, dl
jne 0x416758
xor eax, eax
jmp 0x41677d
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x542908
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4167b1
test dl, dl
je 0x4167ad
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4167b1
add edi, 2
add esi, 2
test dl, dl
jne 0x416791
xor eax, eax
jmp 0x4167b6
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x540ac0
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4167ea
test dl, dl
je 0x4167e6
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4167ea
add edi, 2
add esi, 2
test dl, dl
jne 0x4167ca
xor eax, eax
jmp 0x4167ef
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, str.asdf
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416823
test dl, dl
je 0x41681f
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416823
add edi, 2
add esi, 2
test dl, dl
jne 0x416803
xor eax, eax
jmp 0x416828
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x540acc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x41685c
test dl, dl
je 0x416858
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x41685c
add edi, 2
add esi, 2
test dl, dl
jne 0x41683c
xor eax, eax
jmp 0x416861
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, str.blah
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416891
test dl, dl
je 0x41688d
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416891
add edi, 2
add esi, 2
test dl, dl
jne 0x416871
xor eax, eax
jmp 0x416896
sbb eax, eax
or eax, 1
test eax, eax
je 0x4168d3
mov edi, dword [esp + 0x224]
mov esi, 0x540ad8
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4168c6
test dl, dl
je 0x4168c2
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4168c6
add edi, 2
add esi, 2
test dl, dl
jne 0x4168a6
xor eax, eax
jmp 0x4168cb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x416cb5
mov eax, dword [esp + 0x238]
movsx edx, byte [eax]
mov dword [esp + 0x224], eax
push edx
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
je 0x41690e
mov esi, dword [esp + 0x224]
inc esi
movsx eax, byte [esi]
push eax
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
jne 0x4168f7
mov dword [esp + 0x224], esi
mov edx, dword [esp + 0x224]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x416939
mov eax, edx
add edx, ecx
call fcn.00425520
cmp eax, 4
ja 0x416cb5
cmp eax, 2
jb 0x416c96
mov edi, dword [esp + 0x224]
mov esi, str.none
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416977
test dl, dl
je 0x416973
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416977
add edi, 2
add esi, 2
test dl, dl
jne 0x416957
xor eax, eax
jmp 0x41697c
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x542910
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4169b0
test dl, dl
je 0x4169ac
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4169b0
add edi, 2
add esi, 2
test dl, dl
jne 0x416990
xor eax, eax
jmp 0x4169b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x540aa4
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4169e9
test dl, dl
je 0x4169e5
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4169e9
add edi, 2
add esi, 2
test dl, dl
jne 0x4169c9
xor eax, eax
jmp 0x4169ee
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x54290c
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416a22
test dl, dl
je 0x416a1e
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416a22
add edi, 2
add esi, 2
test dl, dl
jne 0x416a02
xor eax, eax
jmp 0x416a27
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x540aa8
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416a5b
test dl, dl
je 0x416a57
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416a5b
add edi, 2
add esi, 2
test dl, dl
jne 0x416a3b
xor eax, eax
jmp 0x416a60
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x540aac
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416a94
test dl, dl
je 0x416a90
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416a94
add edi, 2
add esi, 2
test dl, dl
jne 0x416a74
xor eax, eax
jmp 0x416a99
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, str.xxxx
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416acd
test dl, dl
je 0x416ac9
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416acd
add edi, 2
add esi, 2
test dl, dl
jne 0x416aad
xor eax, eax
jmp 0x416ad2
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x540ab8
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416b06
test dl, dl
je 0x416b02
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416b06
add edi, 2
add esi, 2
test dl, dl
jne 0x416ae6
xor eax, eax
jmp 0x416b0b
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x540abc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416b3f
test dl, dl
je 0x416b3b
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416b3f
add edi, 2
add esi, 2
test dl, dl
jne 0x416b1f
xor eax, eax
jmp 0x416b44
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x542908
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416b78
test dl, dl
je 0x416b74
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416b78
add edi, 2
add esi, 2
test dl, dl
jne 0x416b58
xor eax, eax
jmp 0x416b7d
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x540ac0
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416bb1
test dl, dl
je 0x416bad
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416bb1
add edi, 2
add esi, 2
test dl, dl
jne 0x416b91
xor eax, eax
jmp 0x416bb6
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, str.asdf
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416bea
test dl, dl
je 0x416be6
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416bea
add edi, 2
add esi, 2
test dl, dl
jne 0x416bca
xor eax, eax
jmp 0x416bef
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x540acc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416c23
test dl, dl
je 0x416c1f
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416c23
add edi, 2
add esi, 2
test dl, dl
jne 0x416c03
xor eax, eax
jmp 0x416c28
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, str.blah
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416c58
test dl, dl
je 0x416c54
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416c58
add edi, 2
add esi, 2
test dl, dl
jne 0x416c38
xor eax, eax
jmp 0x416c5d
sbb eax, eax
or eax, 1
test eax, eax
je 0x416c96
mov edi, dword [esp + 0x224]
mov esi, 0x540ad8
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x416c8d
test dl, dl
je 0x416c89
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x416c8d
add edi, 2
add esi, 2
test dl, dl
jne 0x416c6d
xor eax, eax
jmp 0x416c92
sbb eax, eax
or eax, 1
test eax, eax
jne 0x416cb5
mov eax, dword [ebp + 0x24]
mov edx, str.sbPy9nPis_E3s_YitPF39iK5MvHz4rF2Irpxcfay8TTisTLx8E
call fcn.004224a0
mov eax, 2
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x23c]
movsx edi, byte [esi]
push edi
call dword [sym.imp.MSVCR80.dll_isspace]
pop ecx
test eax, eax
je 0x416cd8
inc esi
movsx edi, byte [esi]
push edi
call dword [sym.imp.MSVCR80.dll_isspace]
jmp 0x416cc6
test edi, edi
je 0x416d39
mov edx, esi
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x416d02
mov eax, edx
add edx, ecx
call fcn.00425520
cmp eax, 5
jbe 0x416e20
push 0x54291c
push esi
call dword [sym.imp.MSVCR80.dll_strstr]
add esp, 8
test eax, eax
je 0x416e20
push 0x542818
push esi
call dword [sym.imp.MSVCR80.dll_strstr]
add esp, 8
test eax, eax
je 0x416e20
movsx eax, byte [ebx + 0x132]
test eax, eax
jne 0x416d63
mov eax, dword [ebp + 0x24]
mov edx, str.sbPy9nPis_E3s_YitPF39iKc_Yw8vGiuTfx8jP2IQ
call fcn.004224a0
mov eax, 2
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x22c]
call fcn.004170c0
test eax, eax
je 0x416dc3
cmp eax, 7
je 0x416f26
cmp eax, 0x18
je 0x416f07
cmp eax, 0x19
jne 0x416da9
mov eax, dword [ebp + 0x24]
mov edx, str._sLD2Yr5z9jDy8aK5N_HyM_YisPZiszF2IrLis7DzMzP2M_E3ora2MXO38neisbDxMEoOnLxIrExd6Kw8TZ3svGxorD3orCz9jPhA
call fcn.004224a0
mov eax, 2
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x24]
call fcn.004237e0
mov eax, 2
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x234]
mov edi, dword [esp + 0x230]
mov edx, dword [esp + 0x23c]
mov ecx, dword [esp + 0x238]
mov eax, ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00417170
test eax, eax
jne 0x416e01
xor eax, eax
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x24]
mov edx, str.7MvDxs_Oit3Yw97DxM2K2M_NiszDxsE
call fcn.004224a0
mov eax, 1
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x24]
mov edx, str.sbPy9nPis_E3s_YisuK3MvGw86Kz8fLw8aKy87O2M_Z2YaKxdiKxs_L3MKw96KyMbLxMGE
call fcn.004224a0
mov eax, 2
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x234]
mov dword [esp + 0x228], 0x32
mov edi, str.SYSTEMCurrentControlSetServicesTcpipParameters
mov byte [eax], 0
lea esi, [esp + 0x20]
mov dword [esp + 0x220], ebx
push 0x5428fc
push edi
call dword [sym.imp.MSVCR80.dll_strstr]
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x416f7d
sub ebx, edi
push ebx
push edi
push esi
call dword [sym.imp.MSVCR80.dll_memmove]
push 0
push 0x542830
add esi, ebx
push esi
call dword [sym.imp.MSVCR80.dll_memmove]
add esp, 0x18
lea edi, [ebx + edi + 1]
jmp 0x416e64
xor esi, esi
jmp 0x415924
mov esi, 1
jmp 0x415977
xor edi, edi
jmp 0x415b3a
mov ecx, 1
jmp 0x415bb0
xor edi, edi
jmp 0x415d7c
mov ecx, 1
jmp 0x415df2
xor edi, edi
jmp 0x415fc7
mov ecx, 1
jmp 0x416043
xor edi, edi
jmp 0x41621b
mov ecx, 1
jmp 0x416297
xor edi, edi
jmp 0x41646f
mov ecx, 1
jmp 0x4164eb
mov eax, dword [ebp + 0x24]
mov edx, str._sLD2Yr5z9jDy8aK5N_HyM_YisPZiszF2IrLis7DzMzP2M_E3orCxdneitrYxc7fyd6EoOnLxIrExd6Kw8TZ3svGxorD3orCz9jPhA
call fcn.004224a0
mov eax, 2
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.MSVCR80.dll__time64]
mov esi, eax
push 0
call dword [sym.imp.MSVCR80.dll__time64]
add esp, 8
mov ecx, eax
mov edi, edx
add esi, 4
mov eax, esi
cdq
sub ecx, esi
mov ebx, edx
sbb edi, ebx
jge 0x416f5e
push 0
call dword [sym.imp.MSVCR80.dll__time64]
add esp, 4
sub eax, esi
sbb edx, ebx
jl 0x416f4d
mov eax, dword [ebp + 0x24]
mov edx, str.48Tcy8bDzor5z9jDy8aK5N_HyM_Yhoraxs_L2cKx8vBz4rZ39jPitPF34rCy9zPis_E3s_Yz86Kw96KycXY2M_J3sbThA
call fcn.004224a0
mov eax, 2
add esp, 0x244
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x220]
mov edx, edi
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x416faa
mov eax, edx
add edx, ecx
call fcn.00425520
inc eax
push eax
push edi
push esi
call dword [sym.imp.MSVCR80.dll_memmove]
add esp, 0xc
call fcn.00401b70
mov edx, 0x20119
mov ecx, 0x20019
test eax, eax
cmovne ecx, edx
lea eax, [esp + 0x220]
push eax
push ecx
push 0
lea esi, [esp + 0x2c]
push esi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x417022
lea eax, [esp + 0x228]
push eax
xor edx, edx
push dword [esp + 0x238]
push edx
push edx
push str.Hostname
push dword [esp + 0x234]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov esi, eax
push dword [esp + 0x220]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x41702c
mov eax, dword [esp + 0x234]
mov byte [eax], 0
mov eax, dword [esp + 0x234]
mov byte [eax + 0x31], 0
jmp 0x416518
cmp dword [esp + 0x22c], 0
je 0x4157b1
mov byte [eax], 0
jmp 0x4157b1
cmp dword [esp + 0x230], 0
je 0x41577b
mov byte [eax], 0
jmp 0x41577b
cmp dword [esp + 0x234], 0
je 0x415745
mov byte [eax], 0
jmp 0x415745
cmp dword [esp + 0x238], 0
je 0x41570f
mov byte [eax], 0
jmp 0x41570f
cmp dword [esp + 0x23c], 0
je 0x4156dc
mov byte [eax], 0
jmp 0x4156dc
test ebx, ebx
je 0x4156ac
mov byte [ebx], 0
jmp 0x4156ac