Function at 0x411ea0
Capabilities:
Authenticate hmac
Encode data using xor
Get session user name
Parse pe header

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 0x43572f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
sub esp, 0x510
movups xmm0, xmmword [0x436d34]
mov al, byte [0x436d6c]
xor edx, edx
push ebx
movups xmmword [ebp - 0x298], xmm0
push esi
movups xmm0, xmmword [str.__:__f]
push edi
mov edi, dword [0x448534]
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x260], al
mov dword [ebp - 0x28], edx
movups xmmword [ebp - 0x288], xmm0
movups xmm0, xmmword [0x436d54]
movups xmmword [ebp - 0x278], xmm0
movq xmm0, qword [str.F_nWT]
movq qword [ebp - 0x268], xmm0
cmp edi, 2
jl 0x412080
movaps xmm0, xmmword [0x437210]
mov esi, 4
movaps xmm4, xmmword [0x436600]
movaps xmm3, xmmword [0x436630]
movaps xmm6, xmmword [str.2222]
movd xmm5, esi
mov esi, 0x1f
movaps xmmword [ebp - 0x1a0], xmm0
mov ecx, dword [ebp - 0x1a0]
movd xmm7, esi
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x298]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x298], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x294]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x294], xmm1
add edx, 8
cmp edx, 0x38
jl 0x411f70
mov dword [ebp - 0x28], edx
cmp edx, 0x39
jge 0x4120b1
nop dword [eax + eax]
mov eax, 0x51eb851f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x28]
movsx eax, al
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x298], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0x39
jl 0x412080
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x158], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4120e0
sub ecx, edx
lea eax, [ebp - 0x298]
push ecx
push eax
lea ecx, [ebp - 0x168]
call fcn.004018d0
cmp dword [ebp - 0x154], 0x10
lea eax, [ebp - 0x168]
push 1
cmovae eax, dword [ebp - 0x168]
lea ecx, [ebp - 0x488]
push 0x40
push 1
push eax
mov dword [ebp - 4], 0
call fcn.00408dd0
mov eax, dword [ebp - 0x488]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x488]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x48c], eax
mov eax, dword [ebp - 0x488]
mov eax, dword [eax + 4]
mov esi, dword [ebp + eax - 0x47c]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x488]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x48c], eax
lea ecx, [ebp - 0x478]
call fcn.004027d0
mov eax, dword [ebp - 0x488]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x488]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x48c], eax
lea eax, [ebp - 0x418]
mov byte [ebp - 4], 1
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00416804
mov edx, dword [ebp - 0x154]
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x41220e
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412204
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c34
push edx
push ecx
call fcn.004171b5
add esp, 8
test esi, esi
je 0x412322
push 1
push str._a_z_8_
lea ecx, [ebp - 0x35c]
call fcn.00409020
push 1
push str.d6_
lea ecx, [ebp - 0x348]
mov dword [ebp - 4], 2
call fcn.00409020
lea eax, [ebp - 0x310]
mov byte [ebp - 4], 3
push eax
call fcn.00410dc0
add esp, 4
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 4
jb 0x412262
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412267
sub ecx, esi
push 1
push 0x10
lea eax, [ecx + edx]
lea ecx, [ebp - 0x35c]
push ecx
push 0
push eax
push edx
call fcn.00407d20
mov edx, dword [ebp - 0x2fc]
add esp, 0x18
mov byte [ebp - 0x29], al
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x4122ce
mov ecx, dword [ebp - 0x310]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4122c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c39
push edx
push ecx
call fcn.004171b5
mov al, byte [ebp - 0x29]
add esp, 8
test al, al
je 0x412338
lea ecx, [ebp - 0x348]
call fcn.0040fa20
mov ecx, dword [ebp - 0x338]
test ecx, ecx
je 0x4122fa
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x4122fa
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
lea ecx, [ebp - 0x35c]
call fcn.0040fa20
mov ecx, dword [ebp - 0x34c]
test ecx, ecx
je 0x412322
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x412322
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea eax, [ebp - 0x1fc]
push eax
call fcn.00410dc0
add esp, 4
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 5
jb 0x412355
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412360
sub ecx, esi
push 1
push 0x10
lea eax, [ecx + edx]
lea ecx, [ebp - 0x348]
push ecx
push 0
push eax
push edx
call fcn.00407d20
add esp, 0x18
mov byte [ebp - 0x29], al
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 3
call fcn.00401290
cmp byte [ebp - 0x29], 0
jne 0x4122d2
lea eax, [ebp - 0x4b8]
push eax
call fcn.0040a3a0
add esp, 4
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x3b8]
mov dword [ebp - 0xc0], 0x41
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x154], 0xf
test eax, eax
je 0x412420
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x158], 0
mov byte [ebp - 0x168], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412402
sub ecx, edx
lea eax, [ebp - 0x3b8]
push ecx
push eax
lea ecx, [ebp - 0x168]
call fcn.004018d0
jmp 0x412449
mov ax, word [0x436d18]
mov word [ebp - 0x168], ax
mov al, byte [0x436d1a]
mov dword [ebp - 0x158], 3
mov byte [ebp - 0x166], al
mov byte [ebp - 0x165], 0
lea eax, [ebp - 0x310]
mov byte [ebp - 4], 7
push eax
call fcn.00410dc0
add esp, 4
cmp byte [0x436dab], 0
movq xmm0, qword [str.hKU_IJq__C_aP]
mov eax, dword [0x436da8]
mov byte [ebp - 4], 8
mov dword [ebp - 0xc0], reloc.OLEAUT32.dll_SysReAllocString
movq qword [ebp - 0x1d0], xmm0
mov dword [ebp - 0x1c8], eax
je 0x4125e3
xor edx, edx
mov dword [ebp - 0x28], edx
cmp edi, 2
jl 0x4125b2
movaps xmm2, xmmword [0x436600]
mov ecx, 4
movaps xmm4, xmmword [0x436630]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov edx, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
mov eax, dword [0x437210]
movd xmm5, ecx
mov ecx, 0x1f
psrad xmm1, xmm5
mov dword [ebp - 0x28], edx
movaps xmm0, xmm1
movd xmm6, ecx
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x436980]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.hKU_IJq__C_aP]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x1d0], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x1cc]
pxor xmm1, xmm0
movd dword [ebp - 0x1cc], xmm1
mov eax, 0x51eb851f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x28]
movsx eax, al
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1d0], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0xc
jl 0x4125b2
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412611
sub ecx, edx
lea eax, [ebp - 0x1d0]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.004018d0
movups xmm0, xmmword [str.kvoklz]
mov eax, dword [0x436d98]
xor edx, edx
mov dword [ebp - 0x215], eax
mov al, byte [0x436d9c]
mov byte [ebp - 4], 9
mov byte [ebp - 0x211], al
mov dword [ebp - 0x28], edx
movups xmmword [ebp - 0x23d], xmm0
movups xmm0, xmmword [0x436d80]
movups xmmword [ebp - 0x22d], xmm0
movq xmm0, qword [0x436d90]
movq qword [ebp - 0x21d], xmm0
cmp edi, 2
jl 0x4127d0
movaps xmm0, xmmword [0x437210]
mov eax, 4
movaps xmm4, xmmword [0x436600]
movaps xmm3, xmmword [0x436630]
movaps xmm6, xmmword [str.2222]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x1a0], xmm0
mov ecx, dword [ebp - 0x1a0]
movd xmm7, eax
nop dword [eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x23d]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x23d], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x239]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x239], xmm1
add edx, 8
cmp edx, 0x28
jl 0x4126c0
mov dword [ebp - 0x28], edx
cmp edx, 0x2d
jge 0x412801
nop dword [eax + eax]
mov eax, 0x51eb851f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x28]
movsx eax, al
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x23d], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0x2d
jl 0x4127d0
lea ecx, [ebp - 0x23d]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412823
sub ecx, edx
lea eax, [ebp - 0x23d]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.004018d0
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x4a0]
push eax
call fcn.004064d0
add esp, 0x10
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x412899
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41288f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c3e
push edx
push ecx
call fcn.004171b5
add esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov edx, dword [ebp - 0xe0]
mov byte [ebp - 4], 0xd
cmp edx, 0x10
jb 0x4128e9
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4128df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c3e
push edx
push ecx
call fcn.004171b5
add esp, 8
mov eax, dword [0x436dd4]
xor edx, edx
mov dword [ebp - 0x137], eax
mov ax, word [0x436dd8]
mov word [ebp - 0x133], ax
mov al, byte [0x436dda]
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
mov byte [ebp - 0x131], al
mov dword [ebp - 0x28], edx
nop dword [eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x28]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x137], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 7
jl 0x412930
lea ecx, [ebp - 0x137]
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2e8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2e4], 0xf
mov byte [ebp - 0x2f8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412988
sub ecx, edx
lea eax, [ebp - 0x137]
push ecx
push eax
lea ecx, [ebp - 0x2f8]
call fcn.004018d0
mov eax, dword [0x436dcc]
mov dword [ebp - 0x117], eax
mov ax, word [0x436dd0]
mov byte [ebp - 4], 0xe
mov word [ebp - 0x113], ax
test ah, ah
je 0x4129fa
xor edx, edx
mov dword [ebp - 0x28], edx
nop dword [eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x28]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x117], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 6
jl 0x4129d0
lea ecx, [ebp - 0x117]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xc8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412a28
sub ecx, edx
lea eax, [ebp - 0x117]
push ecx
push eax
lea ecx, [ebp - 0xd8]
call fcn.004018d0
lea eax, [ebp - 0x4a0]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x518]
call fcn.00409270
mov dword [ebp - 0x50], eax
mov ecx, dword [0x436dc4]
xor edx, edx
mov dword [ebp - 0x49], ecx
mov cl, byte [0x436dc8]
mov byte [ebp - 4], 0x10
mov byte [ebp - 0x45], cl
mov dword [ebp - 0x28], edx
nop dword [eax + eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x28]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x49], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 5
jl 0x412a80
lea ecx, [ebp - 0x49]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412ad2
sub ecx, edx
lea eax, [ebp - 0x49]
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.004018d0
lea eax, [ebp - 0x310]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x500]
call fcn.00409270
mov dword [ebp - 0xc0], eax
mov ecx, dword [0x436dbc]
xor edx, edx
mov dword [ebp - 0x49], ecx
mov cl, byte [0x436dc0]
mov byte [ebp - 4], 0x12
mov byte [ebp - 0x45], cl
mov dword [ebp - 0x28], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x28]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x49], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 5
jl 0x412b22
lea ecx, [ebp - 0x49]
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x74], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412b70
sub ecx, edx
lea eax, [ebp - 0x49]
push ecx
push eax
lea ecx, [ebp - 0x84]
call fcn.004018d0
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x4e8]
call fcn.00409270
mov edi, eax
mov ecx, dword [0x436db4]
xor edx, edx
mov dword [ebp - 0x49], ecx
mov cl, byte [0x436db8]
mov byte [ebp - 4], 0x14
mov byte [ebp - 0x45], cl
mov dword [ebp - 0x28], edx
nop dword [eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x28]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x49], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 5
jl 0x412bc0
lea ecx, [ebp - 0x49]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412c12
sub ecx, edx
lea eax, [ebp - 0x49]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.004018d0
lea eax, [ebp - 0x4b8]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x4d0]
call fcn.00409270
mov esi, eax
mov ecx, dword [0x436dac]
xor edx, edx
mov dword [ebp - 0x49], ecx
mov cl, byte [0x436db0]
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x45], cl
mov dword [ebp - 0x28], edx
nop
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x28]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x49], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 5
jl 0x412c60
lea ecx, [ebp - 0x49]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412ca6
sub ecx, edx
lea eax, [ebp - 0x49]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.004018d0
push esi
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x17
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1dc]
call fcn.004093b0
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1dc]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x2b0]
call fcn.004093b0
push edi
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 0x19
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x2c8]
call fcn.004093b0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x2c8]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1a0]
call fcn.004093b0
push dword [ebp - 0xc0]
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x1b
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0xb8]
call fcn.004093b0
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0xb8]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x150]
call fcn.004093b0
push dword [ebp - 0x50]
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x1d
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x6c]
call fcn.004093b0
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x130]
call fcn.004093b0
lea eax, [ebp - 0x2f8]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x10c]
call fcn.004093b0
lea ecx, [ebp - 0x130]
call fcn.00401290
lea ecx, [ebp - 0x6c]
call fcn.00401290
lea ecx, [ebp - 0x150]
call fcn.00401290
lea ecx, [ebp - 0xb8]
call fcn.00401290
lea ecx, [ebp - 0x1a0]
call fcn.00401290
lea ecx, [ebp - 0x2c8]
call fcn.00401290
lea ecx, [ebp - 0x2b0]
call fcn.00401290
lea ecx, [ebp - 0x1dc]
call fcn.00401290
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x29
cmp edx, 0x10
jb 0x412e4f
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412e45
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c43
push edx
push ecx
call fcn.004171b5
add esp, 8
lea ecx, [ebp - 0x4d0]
call fcn.00401290
mov edx, dword [ebp - 0xe0]
mov byte [ebp - 4], 0x2b
cmp edx, 0x10
jb 0x412e98
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412e8e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c43
push edx
push ecx
call fcn.004171b5
add esp, 8
lea ecx, [ebp - 0x4e8]
call fcn.00401290
mov edx, dword [ebp - 0x70]
mov byte [ebp - 4], 0x2d
cmp edx, 0x10
jb 0x412ede
mov ecx, dword [ebp - 0x84]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412ed4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c43
push edx
push ecx
call fcn.004171b5
add esp, 8
lea ecx, [ebp - 0x500]
call fcn.00401290
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x2f
cmp edx, 0x10
jb 0x412f27
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412f1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c43
push edx
push ecx
call fcn.004171b5
add esp, 8
lea ecx, [ebp - 0x518]
call fcn.00401290
mov edx, dword [ebp - 0xc4]
mov byte [ebp - 4], 0x31
cmp edx, 0x10
jb 0x412f70
mov ecx, dword [ebp - 0xd8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412f66
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c43
push edx
push ecx
call fcn.004171b5
add esp, 8
mov edx, dword [ebp - 0x2e4]
mov byte [ebp - 4], 0x32
cmp edx, 0x10
jb 0x412fae
mov ecx, dword [ebp - 0x2f8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412fa4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c43
push edx
push ecx
call fcn.004171b5
add esp, 8
cmp dword [ebp - 0xf8], 0x10
lea eax, [ebp - 0x10c]
push dword [ebp - 0xfc]
cmovae eax, dword [ebp - 0x10c]
push eax
push 0x4483c8
call fcn.004078e0
push eax
call fcn.00408420
mov edi, dword [0x448534]
add esp, 0x10
nop dword [eax]
nop word [eax + eax]
movups xmm0, xmmword [0x436ddc]
mov ax, word [0x436dfc]
xor edx, edx
mov word [ebp - 0x313], ax
mov al, byte [0x436dfe]
mov byte [ebp - 0x311], al
mov dword [ebp - 0x28], edx
lea esi, [edx + 4]
movups xmmword [ebp - 0x333], xmm0
movups xmm0, xmmword [0x436dec]
movups xmmword [ebp - 0x323], xmm0
cmp edi, 2
jl 0x413180
movaps xmm0, xmmword [0x437210]
mov eax, 0x1f
movaps xmm4, xmmword [0x436600]
movaps xmm3, xmmword [0x436630]
movaps xmm6, xmmword [str.2222]
movaps xmmword [ebp - 0x1a0], xmm0
mov ecx, dword [ebp - 0x1a0]
movd xmm5, esi
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x333]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x333], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x32f]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x32f], xmm1
add edx, 8
cmp edx, 0x20
jl 0x413070
mov dword [ebp - 0x28], edx
cmp edx, 0x23
jge 0x4131b1
nop dword [eax + eax]
mov eax, 0x51eb851f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x28]
movsx eax, al
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x333], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0x23
jl 0x413180
lea ecx, [ebp - 0x333]
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x280], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x27c], 0xf
mov byte [ebp - 0x290], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4131e0
sub ecx, edx
lea eax, [ebp - 0x333]
push ecx
push eax
lea ecx, [ebp - 0x290]
call fcn.004018d0
movups xmm0, xmmword [str.PMNK]
mov ax, word [0x436e20]
xor edx, edx
mov word [ebp - 0x213], ax
mov al, byte [0x436e22]
mov byte [ebp - 4], 0x33
mov byte [ebp - 0x211], al
mov dword [ebp - 0x28], edx
movups xmmword [ebp - 0x233], xmm0
movups xmm0, xmmword [0x436e10]
movups xmmword [ebp - 0x223], xmm0
cmp edi, 2
jl 0x413390
movaps xmm0, xmmword [0x437210]
mov eax, 0x1f
movaps xmm4, xmmword [0x436600]
movaps xmm3, xmmword [0x436630]
movaps xmm6, xmmword [str.2222]
movaps xmmword [ebp - 0x1a0], xmm0
mov ecx, dword [ebp - 0x1a0]
movd xmm5, esi
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x233]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x233], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x22f]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x22f], xmm1
add edx, 8
cmp edx, 0x20
jl 0x413280
mov dword [ebp - 0x28], edx
cmp edx, 0x23
jge 0x4133c1
nop dword [eax + eax]
mov eax, 0x51eb851f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x28]
movsx eax, al
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x233], cl
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 0x23
jl 0x413390
lea ecx, [ebp - 0x233]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x268], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4133f0
sub ecx, edx
lea eax, [ebp - 0x233]
push ecx
push eax
lea ecx, [ebp - 0x278]
call fcn.004018d0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x34
lea esi, [ebp - 0x290]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xc0], esi
cmp esi, eax
je 0x415c16
cmp dword [esi + 0x14], 0x10
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xbc], eax
jb 0x41345c
mov esi, dword [esi]
cmp eax, 0x10
jae 0x41348a
movups xmm0, xmmword [esi]
mov edx, 0xf
mov dword [ebp - 0x28], edx
movups xmmword [ebp - 0xd8], xmm0
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0x88], esi
jmp 0x413513
mov edi, eax
mov eax, SysReAllocString
or edi, 0xf
cmp edi, eax
cmova edi, eax
mov dword [ebp - 0x28], edi
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x4134cd
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x415c48
push ecx
call fcn.00417185
add esp, 4
test eax, eax
je 0x415c34
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x4134e0
test eax, eax
je 0x4134de
push eax
call fcn.00417185
add esp, 4
mov ecx, eax
jmp 0x4134e0
xor ecx, ecx
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0x88], ecx
push eax
push esi
push ecx
mov dword [ebp - 0xd8], ecx
call fcn.004185a0
mov eax, dword [ebp - 0xbc]
add esp, 0xc
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x88]
mov dword [ebp - 0xc4], edi
mov ecx, SysReAllocString
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 0x36
cmp edx, 0x10
mov dword [ebp - 0x84], 0
lea edi, [ebp - 0xd8]
mov dword [ebp - 0x74], 0
cmovae edi, esi
mov dword [ebp - 0x70], 0
cmp dword [ebp - 0xbc], 0x10
jae 0x413562
movups xmm0, xmmword [edi]
mov dword [ebp - 0x70], 0xf
movups xmmword [ebp - 0x84], xmm0
jmp 0x4135d5
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
cmova esi, ecx
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x4135a1
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x415c4d
push ecx
call fcn.00417185
add esp, 4
test eax, eax
je 0x415c52
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x4135b4
test eax, eax
je 0x4135b2
push eax
call fcn.00417185
add esp, 4
mov ecx, eax
jmp 0x4135b4
xor ecx, ecx
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0x84], ecx
push eax
push edi
push ecx
call fcn.004185a0
mov eax, dword [ebp - 0xc8]
add esp, 0xc
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0xf8], 0x10
lea eax, [ebp - 0x10c]
push dword [ebp - 0xfc]
cmovae eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x37
call fcn.00403660
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x34], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
push dword [ebp - 0x34]
cmovae eax, dword [ebp - 0x44]
push eax
push 0x4483c8
mov byte [ebp - 4], 0x38
call fcn.004078e0
mov edi, eax
add esp, 0xc
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov eax, dword [eax + edi + 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
mov dword [ebp - 0x360], esi
mov eax, dword [esi]
call dword [eax + 4]
lea eax, [ebp - 0x364]
mov byte [ebp - 4], 0x39
push eax
call fcn.00401c60
mov ecx, eax
add esp, 4
mov eax, dword [ecx]
push 0xa
mov eax, dword [eax + 0x20]
call eax
mov byte [ebp - 0x241], al
mov byte [ebp - 4], 0x38
test esi, esi
je 0x4136b5
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x4136b5
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x241]
mov ecx, edi
call fcn.00411480
mov ecx, edi
call fcn.00410cd0
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x37
cmp edx, 0x10
jb 0x413701
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4136f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c52
push edx
push ecx
call fcn.004171b5
add esp, 8
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov byte [ebp - 4], 0x36
cmp edx, 0x10
jb 0x41374e
mov ecx, dword [ebp - 0x84]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413744
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c52
push edx
push ecx
call fcn.004171b5
add esp, 8
cmp dword [ebp - 0x28], 0x10
lea edi, [ebp - 0xd8]
mov dword [ebp - 0x84], 0
cmovae edi, dword [ebp - 0x88]
cmp dword [ebp - 0xbc], 0x10
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
jae 0x413793
movups xmm0, xmmword [edi]
mov dword [ebp - 0x70], 0xf
movups xmmword [ebp - 0x84], xmm0
jmp 0x4137d4
mov esi, dword [ebp - 0xc8]
lea ecx, [ebp - 0x84]
or esi, 0xf
mov eax, SysReAllocString
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00401870
mov ecx, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0x84], eax
push ecx
push edi
push eax
call fcn.004185a0
add esp, 0xc
mov dword [ebp - 0x70], esi
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0xf8], 0x10
lea eax, [ebp - 0x10c]
push dword [ebp - 0xfc]
cmovae eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x3a
call fcn.00403660
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x34], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x3b
cmovae eax, dword [ebp - 0x44]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.00405a20
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x3d
cmp edx, 0x10
jb 0x413895
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41388b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c57
push edx
push ecx
call fcn.004171b5
add esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov edx, dword [ebp - 0x70]
mov byte [ebp - 4], 0x3e
cmp edx, 0x10
jb 0x4138e2
mov ecx, dword [ebp - 0x84]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4138d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c57
push edx
push ecx
call fcn.004171b5
add esp, 8
mov ax, word [0x436e2c]
movq xmm0, qword [str.vVNezRKQ_A]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
movq qword [ebp - 0x210], xmm0
mov word [ebp - 0x208], ax
test ah, ah
je 0x41394a
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x210], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xa
jl 0x413920
lea ecx, [ebp - 0x210]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x8c], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413971
sub ecx, edx
lea eax, [ebp - 0x210]
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.004018d0
mov edi, dword [ebp - 0x8c]
lea ecx, [ebp - 0xa0]
push dword [ebp - 0x90]
mov esi, dword [ebp - 0xa0]
lea eax, [ebp - 0xf4]
cmp edi, 0x10
cmovae ecx, esi
cmp dword [ebp - 0xe0], 0x10
push ecx
cmovae eax, dword [ebp - 0xf4]
push 0
push dword [ebp - 0xe4]
push eax
call fcn.004010d0
add esp, 0x14
mov dword [ebp - 0x50], eax
cmp edi, 0x10
jb 0x413a07
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4139fa
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415ca3
push ecx
push esi
call fcn.004171b5
mov eax, dword [ebp - 0x50]
add esp, 8
cmp eax, 0xffffffff
jne 0x415c5c
mov ax, word [0x436e30]
xor edx, edx
mov word [ebp - 0xdb], ax
mov al, byte [0x436e32]
mov byte [ebp - 0xd9], al
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0xdb], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 3
jl 0x413a30
lea ecx, [ebp - 0xdb]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x8c], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413a81
sub ecx, edx
lea eax, [ebp - 0xdb]
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.004018d0
cmp dword [ebp - 0x8c], 0x10
lea ecx, [ebp - 0xa0]
push dword [ebp - 0x90]
mov esi, dword [ebp - 0xa0]
lea eax, [ebp - 0xf4]
mov edi, dword [ebp - 0xe0]
cmovae ecx, esi
push ecx
push 0
push dword [ebp - 0xe4]
cmp edi, 0x10
cmovae eax, dword [ebp - 0xf4]
push eax
call fcn.004010d0
mov dword [ebp - 0x50], eax
add esp, 0x14
mov eax, dword [ebp - 0x8c]
cmp eax, 0x10
jb 0x413b20
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x413b10
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415ca3
push ecx
push esi
call fcn.004171b5
mov edi, dword [ebp - 0xe0]
add esp, 8
cmp dword [ebp - 0x50], 0xffffffff
je 0x415c7d
push dword [ebp - 0xe4]
cmp edi, 0x10
lea eax, [ebp - 0xf4]
cmovae eax, dword [ebp - 0xf4]
push eax
push 0x4483c8
call fcn.004078e0
add esp, 0xc
push 0x436f10
push eax
call fcn.004072a0
add esp, 8
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
mov edi, dword [ebp - 0xe4]
cmovae eax, dword [ebp - 0xf4]
mov byte [ebp - 4], 0x3f
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x50], eax
test edi, edi
je 0x413bbd
push edi
push 0xa
push eax
call fcn.004184f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x413bbd
sub esi, dword [ebp - 0x50]
jmp 0x413bc0
or esi, 0xffffffff
cmp esi, 0xffffffff
je 0x413cbc
mov ecx, dword [ebp - 0x24]
mov edx, esi
sub edx, ecx
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edi, ecx
jb 0x415c9e
sub edi, ecx
lea eax, [ebp - 0xf4]
cmp edi, edx
cmovb edx, edi
cmp dword [ebp - 0xe0], 0x10
push edx
cmovae eax, dword [ebp - 0xf4]
add eax, ecx
lea ecx, [ebp - 0x44]
push eax
call fcn.004018d0
mov edi, dword [ebp - 0x1cc]
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x40
push eax
cmp edi, dword [ebp - 0x1c8]
je 0x413c40
mov ecx, edi
call fcn.004055d0
add edi, 0x18
mov dword [ebp - 0x1cc], edi
jmp 0x413c4c
push edi
lea ecx, [ebp - 0x1d0]
call fcn.00405170
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x3f
cmp edx, 0x10
jb 0x413c84
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x413c7a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415ca3
push edx
push ecx
call fcn.004171b5
add esp, 8
cmp dword [ebp - 0xe0], 0x10
lea ecx, [esi + 1]
mov edi, dword [ebp - 0xe4]
lea edx, [ebp - 0xf4]
cmovae edx, dword [ebp - 0xf4]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x50], edx
cmp ecx, edi
jae 0x413bbd
mov eax, edi
sub eax, ecx
push eax
lea eax, [edx + ecx]
jmp 0x413ba7
mov esi, dword [ebp - 0x1d0]
mov dword [ebp - 0x50], esi
cmp esi, dword [ebp - 0x1cc]
je 0x415b5c
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x413cdb
mov eax, dword [esi]
push 2
push 0x436f14
push 0
push dword [esi + 0x10]
push eax
call fcn.004010d0
add esp, 0x14
cmp eax, 0xffffffff
jne 0x415b5c
push 0x7c
lea eax, [ebp - 0x2bc]
push esi
push eax
call fcn.00411c00
add esp, 0xc
mov eax, dword [ebp - 0x2bc]
mov ecx, eax
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
cmp dword [eax + 0x14], 0x10
mov edi, dword [eax + 0x10]
mov byte [ebp - 4], 0x41
mov dword [ebp - 0x24], eax
jb 0x413d40
mov ecx, dword [eax]
mov dword [ebp - 0x24], ecx
cmp edi, 0x10
jae 0x413d56
movups xmm0, xmmword [ecx]
mov esi, 0xf
movups xmmword [ebp - 0x84], xmm0
jmp 0x413d94
mov esi, edi
lea ecx, [ebp - 0x84]
or esi, 0xf
mov eax, SysReAllocString
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00401870
lea ecx, [edi + 1]
mov dword [ebp - 0x84], eax
push ecx
push dword [ebp - 0x24]
push eax
call fcn.004185a0
mov eax, dword [ebp - 0x2bc]
add esp, 0xc
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], edi
add eax, 0x18
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov byte [ebp - 4], 0x42
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x54], ecx
jb 0x413dd3
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
cmp ecx, 0x10
jae 0x413df4
movups xmm0, xmmword [eax]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], 0xf
movups xmmword [ebp - 0xa0], xmm0
jmp 0x413e41
mov esi, ecx
mov eax, SysReAllocString
or esi, 0xf
lea ecx, [ebp - 0xa0]
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00401870
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0xa0], eax
lea ecx, [edi + 1]
push ecx
push dword [ebp - 0x24]
push eax
call fcn.004185a0
mov dword [ebp - 0x90], edi
add esp, 0xc
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x8c], esi
mov esi, dword [ebp - 0x70]
cmp esi, 0x10
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0x84]
cmovae eax, dword [ebp - 0x84]
push edi
push eax
push 0x4483c8
call fcn.004078e0
add esp, 0xc
push eax
call fcn.00408420
add esp, 4
lea eax, [ebp - 0xa0]
cmp dword [ebp - 0x8c], 0x10
cmovae eax, dword [ebp - 0xa0]
push dword [ebp - 0x90]
push eax
push 0x4483c8
call fcn.004078e0
add esp, 0xc
push eax
call fcn.00408420
mov ecx, dword [str.PIPYE__]
add esp, 4
cmp byte [0x436e3b], 0
mov esi, dword [0x436e38]
mov dword [ebp - 0x1bb], ecx
mov dword [ebp - 0x1b7], esi
je 0x41400a
xor edx, edx
cmp dword [0x448534], 2
mov dword [ebp - 0x24], edx
jl 0x413fe0
movaps xmm2, xmmword [0x436600]
mov eax, 4
movaps xmm4, xmmword [0x436630]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x437210]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x436980]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x1bb], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
pxor xmm1, xmm0
movd dword [ebp - 0x1b7], xmm1
jmp 0x41400a
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1bb], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 8
jl 0x413fe0
lea ecx, [ebp - 0x1bb]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x30], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414028
sub ecx, edx
lea eax, [ebp - 0x1bb]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.004018d0
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x44]
push dword [ebp - 0x34]
mov esi, dword [ebp - 0x44]
lea eax, [ebp - 0xa0]
cmp edi, 0x10
cmovae ecx, esi
cmp dword [ebp - 0x8c], 0x10
push ecx
cmovae eax, dword [ebp - 0xa0]
push 0
push dword [ebp - 0x90]
push eax
call fcn.004010d0
add esp, 0x14
mov dword [ebp - 0x54], eax
cmp edi, 0x10
jb 0x4140af
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4140a2
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cb7
push ecx
push esi
call fcn.004171b5
mov eax, dword [ebp - 0x54]
add esp, 8
cmp eax, 0xffffffff
je 0x4147ac
mov eax, dword [0x436e4c]
xor edx, edx
mov dword [ebp - 0x111], eax
mov al, byte [0x436e50]
mov byte [ebp - 0x10d], al
mov dword [ebp - 0x24], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x111], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 5
jl 0x4140d3
lea ecx, [ebp - 0x111]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414120
sub ecx, edx
lea eax, [ebp - 0x111]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.004018d0
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x44
push 0x18
push eax
call fcn.004065b0
add esp, 8
mov esi, eax
movups xmm0, xmmword [0x436e3c]
mov byte [ebp - 4], 0x45
movups xmmword [ebp - 0xb0], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x4142fa
xor edx, edx
cmp dword [0x448534], 2
mov dword [ebp - 0x24], edx
jl 0x4142d0
movaps xmm0, xmmword [0x437210]
mov eax, 4
movaps xmm4, xmmword [0x436600]
xor ecx, ecx
movaps xmm3, xmmword [0x436630]
movaps xmm6, xmmword [str.2222]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x1a0], xmm0
mov edx, dword [ebp - 0x1a0]
movd xmm7, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xb0]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0xb0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xac]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0xac], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x4141c2
jmp 0x4142fa
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0xb0], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x10
jl 0x4142d0
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x140], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414328
sub ecx, edx
lea eax, [ebp - 0xb0]
push ecx
push eax
lea ecx, [ebp - 0x150]
call fcn.004018d0
push esi
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x46
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1fc]
call fcn.004093b0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x47
push eax
lea eax, [ebp - 0x1fc]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x130]
call fcn.004093b0
lea ecx, [ebp - 0x1fc]
call fcn.00401290
mov edx, dword [ebp - 0x13c]
mov byte [ebp - 4], 0x4a
cmp edx, 0x10
jb 0x4143c4
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4143ba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415ca8
push edx
push ecx
call fcn.004171b5
add esp, 8
lea ecx, [ebp - 0x25c]
call fcn.00401290
mov edx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x4c
cmp edx, 0x10
jb 0x414407
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4143fd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415ca8
push edx
push ecx
call fcn.004171b5
add esp, 8
mov edi, dword [ebp - 0x2bc]
add edi, 0x30
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
cmp dword [edi + 0x14], 0x10
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x24], eax
jb 0x414433
mov edi, dword [edi]
cmp eax, 0x10
jae 0x414448
movups xmm0, xmmword [edi]
mov dword [ebp - 0x30], 0xf
movups xmmword [ebp - 0x44], xmm0
jmp 0x41447f
mov esi, eax
lea ecx, [ebp - 0x44]
or esi, 0xf
mov eax, SysReAllocString
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00401870
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x44], eax
push ecx
push edi
push eax
call fcn.004185a0
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x4d
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00402e30
add esp, 8
lea eax, [ebp - 0x130]
cmp dword [ebp - 0x11c], 0x10
cmovae eax, dword [ebp - 0x130]
push 1
push 0
push 0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov eax, dword [0x436e54]
mov dword [ebp - 0x1ac], eax
mov ax, word [0x436e58]
mov word [ebp - 0x1a8], ax
test ah, ah
je 0x41450c
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1ac], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 6
jl 0x4144e2
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414530
sub ecx, edx
lea eax, [ebp - 0x1ac]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.004018d0
cmp dword [ebp - 0x28], 0x10
lea edi, [ebp - 0xd8]
mov byte [ebp - 4], 0x4e
cmovae edi, dword [ebp - 0x88]
cmp dword [ebp - 0xbc], 0x10
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
jae 0x41459b
movups xmm0, xmmword [edi]
mov dword [ebp - 0xa4], 0xf
movups xmmword [ebp - 0xb8], xmm0
jmp 0x4145df
mov esi, dword [ebp - 0xc8]
lea ecx, [ebp - 0xb8]
or esi, 0xf
mov eax, SysReAllocString
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00401870
mov ecx, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0xb8], eax
push ecx
push edi
push eax
call fcn.004185a0
add esp, 0xc
mov dword [ebp - 0xa4], esi
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xf8], 0x10
lea eax, [ebp - 0x10c]
push dword [ebp - 0xfc]
cmovae eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 0x4f
call fcn.00403660
push eax
lea ecx, [ebp - 0x1a0]
call fcn.004055d0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x50
push eax
lea eax, [ebp - 0x1a0]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1fc]
call fcn.004093b0
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
push dword [ebp - 0x74]
cmovae eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x1fc]
push eax
mov byte [ebp - 4], 0x51
call fcn.00403660
push eax
lea ecx, [ebp - 0x150]
call fcn.004055d0
cmp dword [ebp - 0x13c], 0x10
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x52
cmovae eax, dword [ebp - 0x150]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.00405a20
add esp, 8
lea ecx, [ebp - 0x25c]
call fcn.00401290
lea ecx, [ebp - 0x150]
call fcn.00401290
lea ecx, [ebp - 0x1fc]
call fcn.00401290
lea ecx, [ebp - 0x1a0]
call fcn.00401290
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 0x4e
cmp edx, 0x10
jb 0x414700
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4146f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cad
push edx
push ecx
call fcn.004171b5
add esp, 8
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
mov byte [ebp - 4], 0x4d
cmp edx, 0x10
jb 0x414753
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414749
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cad
push edx
push ecx
call fcn.004171b5
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x4c
cmp edx, 0x10
jb 0x41478b
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414781
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cb2
push edx
push ecx
call fcn.004171b5
add esp, 8
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov byte [ebp - 4], 0x43
call fcn.00401290
mov eax, dword [str.UWDX_]
xor edx, edx
mov dword [ebp - 0x1b3], eax
mov ax, word [0x436e60]
mov word [ebp - 0x1af], ax
mov al, byte [0x436e62]
mov byte [ebp - 0x1ad], al
mov dword [ebp - 0x24], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1b3], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 7
jl 0x4147d4
lea ecx, [ebp - 0x1b3]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414820
sub ecx, edx
lea eax, [ebp - 0x1b3]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.004018d0
mov edi, dword [ebp - 0x58]
lea ecx, [ebp - 0x6c]
push dword [ebp - 0x5c]
mov esi, dword [ebp - 0x6c]
lea eax, [ebp - 0xa0]
cmp edi, 0x10
cmovae ecx, esi
cmp dword [ebp - 0x8c], 0x10
push ecx
cmovae eax, dword [ebp - 0xa0]
push 0
push dword [ebp - 0x90]
push eax
call fcn.004010d0
add esp, 0x14
mov dword [ebp - 0x54], eax
cmp edi, 0x10
jb 0x4148a7
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x41489a
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cb7
push ecx
push esi
call fcn.004171b5
mov eax, dword [ebp - 0x54]
add esp, 8
cmp eax, 0xffffffff
je 0x414eee
mov edi, dword [ebp - 0x2bc]
add edi, 0x30
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
cmp dword [edi + 0x14], 0x10
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x24], eax
jb 0x4148e5
mov edi, dword [edi]
cmp eax, 0x10
jae 0x4148fb
movups xmm0, xmmword [edi]
mov esi, 0xf
movups xmmword [ebp - 0xb8], xmm0
jmp 0x414935
mov esi, eax
lea ecx, [ebp - 0xb8]
or esi, 0xf
mov eax, SysReAllocString
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00401870
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0xb8], eax
push ecx
push edi
push eax
call fcn.004185a0
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa8], eax
cmp esi, 0x10
mov byte [ebp - 4], 0x53
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.004057d0
add esp, 8
movups xmm0, xmmword [0x436e64]
mov esi, dword [ebp - 0x2a0]
xor ecx, ecx
mov edi, dword [ebp - 0x2a4]
sub esi, edi
cmp dword [0x448534], 2
mov ax, word [0x436e9c]
movups xmmword [ebp - 0x3b1], xmm0
mov byte [ebp - 4], 0x54
movups xmm0, xmmword [0x436e74]
mov word [ebp - 0x379], ax
movups xmmword [ebp - 0x3a1], xmm0
movups xmm0, xmmword [0x436e84]
movups xmmword [ebp - 0x391], xmm0
movq xmm0, qword [0x436e94]
movq qword [ebp - 0x381], xmm0
jl 0x414b20
movaps xmm0, xmmword [0x437210]
mov eax, 4
movaps xmm4, xmmword [0x436600]
movaps xmm3, xmmword [0x436630]
movaps xmm6, xmmword [str.2222]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x1a0], xmm0
mov edx, dword [ebp - 0x1a0]
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x3b1]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x3b1], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, 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 [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x3ad]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x3ad], xmm1
add ecx, 8
cmp ecx, 0x38
jl 0x414a10
cmp ecx, 0x3a
jge 0x414b4b
nop dword [eax + eax]
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, cl
movsx eax, al
imul eax, eax, 0x32
sub dl, al
add dl, 0x38
xor byte [ebp + ecx - 0x3b1], dl
inc ecx
cmp ecx, 0x3a
jl 0x414b20
lea ecx, [ebp - 0x3b1]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414b70
sub ecx, edx
lea eax, [ebp - 0x3b1]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.004018d0
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
push esi
cmovae eax, dword [ebp - 0x44]
push edi
push eax
mov byte [ebp - 4], 0x55
call fcn.00404c30
mov edx, dword [ebp - 0x30]
add esp, 0xc
mov byte [ebp - 4], 0x54
cmp edx, 0x10
jb 0x414bdb
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414bd1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cbc
push edx
push ecx
call fcn.004171b5
add esp, 8
mov eax, dword [0x436ea0]
mov dword [ebp - 0x1a6], eax
mov ax, word [0x436ea4]
mov word [ebp - 0x1a2], ax
test ah, ah
je 0x414c2a
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1a6], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 6
jl 0x414c00
lea ecx, [ebp - 0x1a6]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414c50
sub ecx, edx
lea eax, [ebp - 0x1a6]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.004018d0
cmp dword [ebp - 0x28], 0x10
lea edi, [ebp - 0xd8]
mov byte [ebp - 4], 0x56
cmovae edi, dword [ebp - 0x88]
cmp dword [ebp - 0xbc], 0x10
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
jae 0x414cac
movups xmm0, xmmword [edi]
mov dword [ebp - 0x30], 0xf
movups xmmword [ebp - 0x44], xmm0
jmp 0x414ce7
mov esi, dword [ebp - 0xc8]
lea ecx, [ebp - 0x44]
or esi, 0xf
mov eax, SysReAllocString
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00401870
mov ecx, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0x44], eax
push ecx
push edi
push eax
call fcn.004185a0
add esp, 0xc
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xf8], 0x10
lea eax, [ebp - 0x10c]
push dword [ebp - 0xfc]
cmovae eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x44]
push eax
mov byte [ebp - 4], 0x57
call fcn.00403660
push eax
lea ecx, [ebp - 0x150]
call fcn.004055d0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x58
push eax
lea eax, [ebp - 0x150]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1fc]
call fcn.004093b0
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
push dword [ebp - 0x74]
cmovae eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x1fc]
push eax
mov byte [ebp - 4], 0x59
call fcn.00403660
push eax
lea ecx, [ebp - 0x130]
call fcn.004055d0
cmp dword [ebp - 0x11c], 0x10
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x5a
cmovae eax, dword [ebp - 0x130]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.00405a20
add esp, 8
lea ecx, [ebp - 0x25c]
call fcn.00401290
lea ecx, [ebp - 0x130]
call fcn.00401290
lea ecx, [ebp - 0x1fc]
call fcn.00401290
lea ecx, [ebp - 0x150]
call fcn.00401290
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x56
cmp edx, 0x10
jb 0x414dfc
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414df2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cc1
push edx
push ecx
call fcn.004171b5
add esp, 8
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov byte [ebp - 4], 0x54
cmp edx, 0x10
jb 0x414e46
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414e3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cc1
push edx
push ecx
call fcn.004171b5
add esp, 8
mov ecx, dword [ebp - 0x2a4]
test ecx, ecx
je 0x414e80
mov eax, dword [ebp - 0x29c]
sub eax, ecx
push eax
push ecx
call fcn.004078a0
add esp, 8
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 0x43
cmp edx, 0x10
jb 0x414ebe
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414eb4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cc6
push edx
push ecx
call fcn.004171b5
add esp, 8
lea ecx, [ebp - 0xa0]
call fcn.00401290
lea ecx, [ebp - 0x84]
call fcn.00401290
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 0x3f
call fcn.004056f0
mov esi, dword [ebp - 0x50]
add esi, 0x18
jmp 0x413cc2
cmp byte [0x436eaf], 0
mov ecx, dword [str.KM_ZPXL_]
mov esi, dword [0x436eac]
mov dword [ebp - 0x1c3], ecx
mov dword [ebp - 0x1bf], esi
je 0x41505a
xor edx, edx
cmp dword [0x448534], 2
mov dword [ebp - 0x24], edx
jl 0x415030
movaps xmm2, xmmword [0x436600]
mov eax, 4
movaps xmm4, xmmword [0x436630]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [0x437210]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x436980]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x1c3], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4368c0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
pxor xmm1, xmm0
movd dword [ebp - 0x1bf], xmm1
jmp 0x41505a
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1c3], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 8
jl 0x415030
lea ecx, [ebp - 0x1c3]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415078
sub ecx, edx
lea eax, [ebp - 0x1c3]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.004018d0
mov edi, dword [ebp - 0x58]
lea ecx, [ebp - 0x6c]
push dword [ebp - 0x5c]
mov esi, dword [ebp - 0x6c]
lea eax, [ebp - 0xa0]
cmp edi, 0x10
cmovae ecx, esi
cmp dword [ebp - 0x8c], 0x10
push ecx
cmovae eax, dword [ebp - 0xa0]
push 0
push dword [ebp - 0x90]
push eax
call fcn.004010d0
add esp, 0x14
mov dword [ebp - 0x54], eax
cmp edi, 0x10
jb 0x4150ff
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4150f2
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cd5
push ecx
push esi
call fcn.004171b5
mov eax, dword [ebp - 0x54]
add esp, 8
cmp eax, 0xffffffff
je 0x415486
push 1
mov dword [ebp - 0xb8], 0
lea ecx, [ebp - 0xb8]
push 0x436f18
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
call fcn.004018d0
cmp dword [ebp - 0x154], 0x10
lea eax, [ebp - 0x168]
push dword [ebp - 0x158]
cmovae eax, dword [ebp - 0x168]
lea ecx, [ebp - 0xb8]
push eax
push 0
mov byte [ebp - 4], 0x5b
call fcn.00410fc0
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004055d0
cmp dword [ebp - 0x2fc], 0x10
lea eax, [ebp - 0x310]
push dword [ebp - 0x300]
cmovae eax, dword [ebp - 0x310]
lea ecx, [ebp - 0x1fc]
push eax
mov byte [ebp - 4], 0x5c
call fcn.00403660
push eax
lea ecx, [ebp - 0x2e0]
call fcn.004055d0
lea ecx, [ebp - 0x1fc]
call fcn.00401290
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 0x5f
cmp edx, 0x10
jb 0x4151f6
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4151ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415ccb
push edx
push ecx
call fcn.004171b5
add esp, 8
mov eax, dword [0x436eb0]
mov dword [ebp - 0x174], eax
mov ax, word [0x436eb4]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
mov word [ebp - 0x170], ax
test ah, ah
je 0x41525c
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x174], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 6
jl 0x415232
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415280
sub ecx, edx
lea eax, [ebp - 0x174]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.004018d0
cmp dword [ebp - 0x28], 0x10
lea edi, [ebp - 0xd8]
mov byte [ebp - 4], 0x60
cmovae edi, dword [ebp - 0x88]
cmp dword [ebp - 0xbc], 0x10
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
jae 0x4152dc
movups xmm0, xmmword [edi]
mov dword [ebp - 0x30], 0xf
movups xmmword [ebp - 0x44], xmm0
jmp 0x415317
mov esi, dword [ebp - 0xc8]
lea ecx, [ebp - 0x44]
or esi, 0xf
mov eax, SysReAllocString
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00401870
mov ecx, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0x44], eax
push ecx
push edi
push eax
call fcn.004185a0
add esp, 0xc
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xf8], 0x10
lea eax, [ebp - 0x10c]
push dword [ebp - 0xfc]
cmovae eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x44]
push eax
mov byte [ebp - 4], 0x61
call fcn.00403660
push eax
lea ecx, [ebp - 0x1a0]
call fcn.004055d0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x62
push eax
lea eax, [ebp - 0x1a0]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x150]
call fcn.004093b0
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
push dword [ebp - 0x74]
cmovae eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x150]
push eax
mov byte [ebp - 4], 0x63
call fcn.00403660
push eax
lea ecx, [ebp - 0x130]
call fcn.004055d0
cmp dword [ebp - 0x11c], 0x10
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x64
cmovae eax, dword [ebp - 0x130]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.00405a20
add esp, 8
lea ecx, [ebp - 0x25c]
call fcn.00401290
lea ecx, [ebp - 0x130]
call fcn.00401290
lea ecx, [ebp - 0x150]
call fcn.00401290
lea ecx, [ebp - 0x1a0]
call fcn.00401290
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x60
cmp edx, 0x10
jb 0x41542c
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415422
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cd0
push edx
push ecx
call fcn.004171b5
add esp, 8
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov byte [ebp - 4], 0x5f
cmp edx, 0x10
jb 0x415476
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41546c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cd0
push edx
push ecx
call fcn.004171b5
add esp, 8
lea ecx, [ebp - 0x2e0]
call fcn.00401290
jmp 0x414ebe
mov ax, word [0x436ec0]
movq xmm0, qword [str.ZVNPUQRZ2A]
movq qword [ebp - 0x206], xmm0
mov word [ebp - 0x1fe], ax
test ah, ah
je 0x4154da
xor edx, edx
mov dword [ebp - 0x24], edx
nop dword [eax]
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x206], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xa
jl 0x4154b0
lea ecx, [ebp - 0x206]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4154f8
sub ecx, edx
lea eax, [ebp - 0x206]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.004018d0
mov edi, dword [ebp - 0x58]
lea ecx, [ebp - 0x6c]
push dword [ebp - 0x5c]
mov esi, dword [ebp - 0x6c]
lea eax, [ebp - 0xa0]
cmp edi, 0x10
cmovae ecx, esi
cmp dword [ebp - 0x8c], 0x10
push ecx
cmovae eax, dword [ebp - 0xa0]
push 0
push dword [ebp - 0x90]
push eax
call fcn.004010d0
add esp, 0x14
mov dword [ebp - 0x54], eax
cmp edi, 0x10
jb 0x41557f
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x415572
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cd5
push ecx
push esi
call fcn.004171b5
mov eax, dword [ebp - 0x54]
add esp, 8
cmp eax, 0xffffffff
je 0x4157cb
call fcn.00401330
mov eax, dword [0x436ec4]
mov dword [ebp - 0x16e], eax
mov ax, word [0x436ec8]
mov word [ebp - 0x16a], ax
test ah, ah
je 0x4155da
xor edx, edx
mov dword [ebp - 0x24], edx
nop
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x16e], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 6
jl 0x4155b0
lea ecx, [ebp - 0x16e]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415600
sub ecx, edx
lea eax, [ebp - 0x16e]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.004018d0
cmp dword [ebp - 0x28], 0x10
lea edi, [ebp - 0xd8]
mov byte [ebp - 4], 0x65
cmovae edi, dword [ebp - 0x88]
cmp dword [ebp - 0xbc], 0x10
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
jae 0x41565c
movups xmm0, xmmword [edi]
mov dword [ebp - 0x30], 0xf
movups xmmword [ebp - 0x44], xmm0
jmp 0x415697
mov esi, dword [ebp - 0xc8]
lea ecx, [ebp - 0x44]
or esi, 0xf
mov eax, SysReAllocString
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00401870
mov ecx, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0x44], eax
push ecx
push edi
push eax
call fcn.004185a0
add esp, 0xc
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xf8], 0x10
lea eax, [ebp - 0x10c]
push dword [ebp - 0xfc]
cmovae eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0x44]
push eax
mov byte [ebp - 4], 0x66
call fcn.00403660
push eax
lea ecx, [ebp - 0x150]
call fcn.004055d0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x67
push eax
lea eax, [ebp - 0x150]
push eax
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1fc]
call fcn.004093b0
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
push dword [ebp - 0x74]
cmovae eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x1fc]
push eax
mov byte [ebp - 4], 0x68
call fcn.00403660
push eax
lea ecx, [ebp - 0x130]
call fcn.004055d0
cmp dword [ebp - 0x11c], 0x10
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x69
cmovae eax, dword [ebp - 0x130]
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.00405a20
add esp, 8
lea ecx, [ebp - 0x2e0]
call fcn.00401290
lea ecx, [ebp - 0x130]
call fcn.00401290
lea ecx, [ebp - 0x1fc]
call fcn.00401290
lea ecx, [ebp - 0x150]
call fcn.00401290
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x65
cmp edx, 0x10
jb 0x4157ac
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4157a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415cda
push edx
push ecx
call fcn.004171b5
add esp, 8
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00401290
jmp 0x414ebe
mov eax, dword [str.MIZHX_]
xor edx, edx
mov dword [ebp - 0x1e3], eax
mov ax, word [0x436ed0]
mov word [ebp - 0x1df], ax
mov al, byte [0x436ed2]
mov byte [ebp - 0x1dd], al
mov dword [ebp - 0x24], edx
mov eax, 0x51eb851f
mul edx
shr edx, 4
movsx eax, dl
mov edx, dword [ebp - 0x24]
mov cl, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1e3], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 7
jl 0x4157f3
lea eax, [ebp - 0x1e3]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.00405620
push 0
push eax
lea ecx, [ebp - 0xa0]
call fcn.00410c90
lea ecx, [ebp - 0x2e0]
mov esi, eax
call fcn.00401290
cmp esi, 0xffffffff
je 0x414ebe
lea eax, [ebp - 0x116]
push eax
lea ecx, [ebp - 0x29]
call fcn.00409d90
mov edi, eax
cmp byte [edi + 4], 0
je 0x415896
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [esi], cl
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 5
jl 0x415870
push edi
lea ecx, [ebp - 0x6c]
call fcn.00405620
mov esi, eax
mov dword [ebp - 0x54], esi
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x6a
push 0x18
push eax
call fcn.004065b0
add esp, 8
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 0x6b
push eax
lea ecx, [ebp - 0x29]
call fcn.00409dd0
mov edi, eax
cmp byte [edi + 0xf], 0
je 0x415a6f
xor ecx, ecx
cmp dword [0x448534], 2
mov dword [ebp - 0x24], ecx
jl 0x415a46
movaps xmm0, xmmword [0x437210]
mov ecx, 4
xor eax, eax
movaps xmmword [ebp - 0x1a0], xmm0
mov dword [ebp - 0x24], eax
mov edx, edi
movd xmm3, ecx
mov ecx, 0x1f
movd xmm4, ecx
mov ecx, 4
sub ecx, edi
nop dword [eax + eax]
movd xmm0, eax
lea eax, [ecx + edx]
pshufd xmm2, xmm0, 0
lea edx, [edx + 8]
paddd xmm2, xmmword [0x436600]
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmmword [0x436630]
punpckldq xmm1, xmm2
pmuldq xmm1, xmmword [0x436630]
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm3
movaps xmm0, xmm1
psrld xmm0, xmm4
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4368c0]
movd xmm0, dword [ebp - 0x1a0]
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [edx - 8]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmmword [0x436600]
movd dword [edx - 8], xmm1
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
movaps xmm1, xmm2
pmuldq xmm0, xmmword [0x436630]
punpckldq xmm1, xmm2
pmuldq xmm1, xmmword [0x436630]
shufps xmm1, xmm0, 0xdd
mov eax, dword [ebp - 0x24]
psrad xmm1, xmm3
add eax, 8
mov dword [ebp - 0x24], eax
movaps xmm0, xmm1
psrld xmm0, xmm4
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.2222]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x4368c0]
movd xmm0, dword [ebp - 0x1a0]
packuswb xmm1, xmm1
paddb xmm1, xmm0
movd xmm0, dword [edx - 4]
pxor xmm1, xmm0
movd dword [edx - 4], xmm1
cmp eax, 0x10
jl 0x415920
jmp 0x415a6f
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [esi], cl
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x10
jl 0x415a46
mov esi, dword [ebp - 0x54]
push edi
lea ecx, [ebp - 0x25c]
call fcn.00405620
push dword [ebp - 0x50]
mov byte [ebp - 4], 0x6c
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.00407570
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 0x6d
push eax
call fcn.00407570
add esp, 0xc
lea ecx, [ebp - 0x2e0]
call fcn.00401290
lea ecx, [ebp - 0x25c]
call fcn.00401290
lea ecx, [ebp - 0x130]
call fcn.00401290
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x72
call fcn.00401290
push 2
lea ecx, [ebp - 0x2bc]
call fcn.00409d70
push eax
lea ecx, [ebp - 0x150]
call fcn.00409270
lea eax, [ebp - 0x1fc]
mov byte [ebp - 4], 0x73
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.00402e30
add esp, 8
lea eax, [ebp - 0x136]
lea ecx, [ebp - 0x29]
push eax
call fcn.00409db0
mov edi, eax
cmp byte [edi + 5], 0
je 0x415cdf
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop word [eax + eax]
mov eax, 0x51eb851f
lea esi, [ecx + edi]
mul ecx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x32
sub cl, al
add cl, 0x38
xor byte [esi], cl
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 6
jge 0x415cdf
jmp 0x415b30
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x1d0]
call fcn.004056f0
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x36
call fcn.00401290
mov eax, dword [ebp - 0xc8]
mov ecx, SysReAllocString
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x88]
jmp 0x413522
push fcn.00401290
push 2
push 0x18
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x32
push eax
call fcn.004173f4
jmp 0x412ff0
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.00401840
call fcn.00401840
call fcn.0041b74f
call fcn.0041b74f
push str.error
lea ecx, [ebp - 0x3d0]
call fcn.00405660
push 0x444110
lea eax, [ebp - 0x3d0]
push eax
call fcn.004180bf
push str.error
lea ecx, [ebp - 0x3c4]
call fcn.00405660
push 0x444110
lea eax, [ebp - 0x3c4]
push eax
call fcn.004180bf
call fcn.00406450
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
call fcn.0041b74f
push edi
lea ecx, [ebp - 0xb8]
call fcn.00405620
mov esi, eax
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x74
push eax
lea ecx, [ebp - 0x44]
call fcn.00409270
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x75
push ecx
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00407590
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x76
push eax
call fcn.00407570
add esp, 0xc
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x77
push ecx
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.00407590
add esp, 0xc
mov ecx, eax
mov byte [ebp - 4], 0x78
call fcn.00406460
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.00405a20
add esp, 8
lea ecx, [ebp - 0x2e0]
call fcn.00401290
lea ecx, [ebp - 0x25c]
call fcn.00401290
lea ecx, [ebp - 0x130]
call fcn.00401290
lea ecx, [ebp - 0x6c]
call fcn.00401290
lea ecx, [ebp - 0x44]
call fcn.00401290
lea ecx, [ebp - 0xb8]
call fcn.00401290
lea eax, [ebp - 0x1fc]
push eax
call fcn.0040bcb0
add esp, 4
push 0
call fcn.0041d3a7
int3