Function at 0x4153b0
Capabilities:
Check os version
Create thread
Encode data using xor
Terminate process

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 0x43c670
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
sub esp, 0x600
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x44], 0
movups xmm0, xmmword [str.v_fkmJ_IOa_____]
movups xmmword [ebp - 0xec], xmm0
movups xmm0, xmmword [str._2_____]
movups xmmword [ebp - 0xdc], xmm0
movups xmm0, xmmword [0x43de4c]
movups xmmword [ebp - 0xcc], xmm0
movq xmm0, qword [0x43de5c]
movq qword [ebp - 0xbc], xmm0
mov al, byte [0x43de64]
mov byte [ebp - 0xb4], al
xor edx, edx
mov dword [ebp - 0x24], edx
mov edi, dword [0x44f7b8]
lea esi, [edx + 4]
cmp edi, 2
jl 0x415590
movaps xmm4, xmmword [0x43d580]
movaps xmm3, xmmword [0x43d990]
movd xmm5, esi
movaps xmm6, xmmword [str.4444]
mov ecx, 0x1f
movd xmm7, ecx
movaps xmm0, xmmword [str.5555555555555555]
movaps xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x50]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xec]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xec], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xe8]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xe8], xmm1
add edx, 8
cmp edx, 0x38
jl 0x415483
mov dword [ebp - 0x24], edx
cmp edx, 0x39
jge 0x4155c1
nop
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0xec], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x39
jl 0x415590
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0xec]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4155e0
sub ecx, edx
push ecx
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
lea eax, [ebp - 0x74]
cmp dword [ebp - 0x60], 0x10
cmovae eax, dword [ebp - 0x74]
push 1
push 0x40
push 1
push eax
lea ecx, [ebp - 0x558]
call fcn.0040b860
mov eax, dword [ebp - 0x558]
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 - 0x558]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x55c], eax
mov eax, dword [ebp - 0x558]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + eax - 0x54c]
mov dword [ebp - 0x2c], ecx
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 - 0x558]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x55c], eax
lea ecx, [ebp - 0x548]
call fcn.00402580
mov eax, dword [ebp - 0x558]
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 - 0x558]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x55c], eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x4e8]
push eax
call fcn.0041edc1
add esp, 4
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x4156ee
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x4156e4
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4156e4
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
cmp dword [ebp - 0x2c], 0
jne 0x4156fe
mov dword [0], 0x2a
push 1
push str._a_z_8_
lea ecx, [ebp - 0x474]
call fcn.0040ba60
push 1
push str._A_Z_8_
lea ecx, [ebp - 0x488]
call fcn.0040ba60
push 1
push str.d6_
lea ecx, [ebp - 0x49c]
call fcn.0040ba60
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x2c], eax
movq xmm0, qword [str.eWBT]
movq qword [ebp - 0x193], xmm0
mov cx, word [0x43de70]
mov word [ebp - 0x18b], cx
mov cl, byte [0x43de72]
mov byte [ebp - 0x189], cl
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x193], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xb
jl 0x415775
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x193]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4157c6
sub ecx, edx
push ecx
lea eax, [ebp - 0x193]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00413a20
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x41582c
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x415822
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415858
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov edx, dword [ebp - 0xf0]
cmp edx, 0x10
jb 0x415867
inc edx
mov ecx, dword [ebp - 0x104]
mov eax, ecx
cmp edx, 0x1000
jb 0x41585d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41585d
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
cmp dword [ebp - 0x2c], 0xffffffff
je 0x415877
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, dword [str.RSXJ__]
mov dword [ebp - 0x143], ecx
mov cx, word [0x43de78]
mov word [ebp - 0x13f], cx
mov cl, byte [0x43de7a]
mov byte [ebp - 0x13d], cl
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x143], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 7
jl 0x4158b4
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x143]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415905
sub ecx, edx
push ecx
lea eax, [ebp - 0x143]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00413a20
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x41596b
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x415961
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415997
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov edx, dword [ebp - 0xf0]
cmp edx, 0x10
jb 0x4159a6
inc edx
mov ecx, dword [ebp - 0x104]
mov eax, ecx
cmp edx, 0x1000
jb 0x41599c
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41599c
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4159b6
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x2c], eax
movq xmm0, qword [str.WEJ_]
movq qword [ebp - 0x11a], xmm0
mov ecx, dword [0x43de84]
mov dword [ebp - 0x112], ecx
mov cx, word [0x43de88]
mov word [ebp - 0x10e], cx
test ch, ch
je 0x415b46
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x415b15
movaps xmm4, xmmword [0x43d990]
movd xmm5, esi
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x43d580]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.WEJ_]
pxor xmm1, xmm0
movd dword [ebp - 0x11a], xmm1
movaps xmm2, xmmword [0x43d710]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x116]
pxor xmm1, xmm0
movd dword [ebp - 0x116], xmm1
mov edx, 8
mov dword [ebp - 0x24], edx
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x11a], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xe
jl 0x415b15
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x11a]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415b70
sub ecx, edx
push ecx
lea eax, [ebp - 0x11a]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00413a20
mov esi, eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x415bd5
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x415bcb
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c01
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov edx, dword [ebp - 0xf0]
cmp edx, 0x10
jb 0x415c10
inc edx
mov ecx, dword [ebp - 0x104]
mov eax, ecx
cmp edx, 0x1000
jb 0x415c06
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415c06
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
cmp esi, 0xffffffff
je 0x415c1f
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, dword [str.TLBJ:]
mov dword [ebp - 0x3e], ecx
mov cx, word [0x43de90]
mov word [ebp - 0x3a], cx
test ch, ch
je 0x415c77
xor edx, edx
mov dword [ebp - 0x24], edx
nop
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x3e], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 6
jl 0x415c50
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x3e]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415c92
sub ecx, edx
push ecx
lea eax, [ebp - 0x3e]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
mov esi, 3
mov dword [ebp - 0x30], esi
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x415d7f
lea eax, [ebp - 0x13c]
push eax
call fcn.00413c30
add esp, 4
mov dword [ebp - 0x2c], eax
movq xmm0, qword [str.tlbj]
movq qword [ebp - 0x59], xmm0
mov cl, byte [0x43de9c]
mov byte [ebp - 0x51], cl
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x59], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 9
jl 0x415cf4
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x59]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415d40
sub ecx, edx
push ecx
lea eax, [ebp - 0x59]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
mov esi, 0xf
mov dword [ebp - 0x30], esi
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x415d7f
mov byte [ebp - 0x25], 1
mov eax, esi
jmp 0x415d8a
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test al, 8
je 0x415dcd
and eax, 0xfffffff7
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x415dcd
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x415dc0
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415e8e
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov eax, dword [ebp - 0x30]
test al, 4
je 0x415e2c
and eax, 0xfffffffb
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x128]
cmp edx, 0x10
jb 0x415e11
inc edx
mov ecx, dword [ebp - 0x13c]
mov eax, ecx
cmp edx, 0x1000
jb 0x415e07
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415e8e
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x415e5c
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x415e52
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415e8e
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov esi, dword [ebp - 0x30]
and esi, 0xfffffffc
mov edx, dword [ebp - 0xf0]
cmp edx, 0x10
jb 0x415e9d
inc edx
mov ecx, dword [ebp - 0x104]
mov eax, ecx
cmp edx, 0x1000
jb 0x415e93
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415e93
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
cmp byte [ebp - 0x25], 0
je 0x415ead
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x2c], eax
or esi, 0x30
mov dword [ebp - 0x30], esi
mov ecx, dword [str.TRZQW:]
mov dword [ebp - 0x3e], ecx
mov cx, word [0x43dea4]
mov word [ebp - 0x3a], cx
test ch, ch
je 0x415f09
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x3e], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 6
jl 0x415ee2
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x3e]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415f24
sub ecx, edx
push ecx
lea eax, [ebp - 0x3e]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x416130
lea eax, [ebp - 0x13c]
push eax
call fcn.00413c30
add esp, 4
mov dword [ebp - 0x2c], eax
or dword [ebp - 0x30], 0xc0
mov ecx, dword [str._erj]
mov esi, dword [0x43deac]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], esi
cmp byte [0x43deaf], 0
je 0x4160cb
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x4160a1
movaps xmm4, xmmword [0x43d990]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x43d580]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x94], xmm1
movaps xmm2, xmmword [0x43d710]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
pxor xmm1, xmm0
movd dword [ebp - 0x90], xmm1
jmp 0x4160cb
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x94], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 8
jl 0x4160a1
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x94]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4160f2
sub ecx, edx
push ecx
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x416130
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x416137
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test al, al
jns 0x416180
and eax, 0xffffff7f
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x416180
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x416173
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416241
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov eax, dword [ebp - 0x30]
test al, 0x40
je 0x4161df
and eax, 0xffffffbf
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x128]
cmp edx, 0x10
jb 0x4161c4
inc edx
mov ecx, dword [ebp - 0x13c]
mov eax, ecx
cmp edx, 0x1000
jb 0x4161ba
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416241
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x41620f
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x416205
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416241
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov esi, dword [ebp - 0x30]
and esi, 0xffffffcf
mov edx, dword [ebp - 0xf0]
cmp edx, 0x10
jb 0x416250
inc edx
mov ecx, dword [ebp - 0x104]
mov eax, ecx
cmp edx, 0x1000
jb 0x416246
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x416246
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
cmp byte [ebp - 0x25], 0
je 0x416260
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0x300
mov dword [ebp - 0x30], esi
mov ecx, dword [0x43deb0]
mov dword [ebp - 0x24], ecx
cmp byte [0x43deb3], 0
je 0x416357
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp edi, 2
jl 0x416330
movaps xmm3, xmmword [0x43d580]
movaps xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x43d990]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x43d990]
shufps xmm2, xmm0, 0xdd
mov eax, 4
movd xmm0, eax
psrad xmm2, xmm0
movaps xmm1, xmm2
mov eax, 0x1f
movd xmm0, eax
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [str.4444]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.5555555555555555]
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x24], xmm1
jmp 0x416357
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x24], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 4
jl 0x416330
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x24]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416372
sub ecx, edx
push ecx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x41645a
lea eax, [ebp - 0x13c]
push eax
call fcn.00413c30
add esp, 4
mov esi, eax
or dword [ebp - 0x30], 0xc00
mov ecx, dword [0x43deb4]
mov dword [ebp - 0x45], ecx
mov cl, byte [0x43deb8]
mov byte [ebp - 0x41], cl
xor edx, edx
mov dword [ebp - 0x2c], edx
nop
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x45], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 5
jl 0x4163d0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x45]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416420
sub ecx, edx
push ecx
lea eax, [ebp - 0x45]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, esi
call fcn.00413a20
cmp eax, 0xffffffff
je 0x41645a
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x416461
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test eax, 0x800
je 0x4164ad
and eax, 0xfffff7ff
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x4164ad
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x4164a0
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416576
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov eax, dword [ebp - 0x30]
test eax, 0x400
je 0x416511
and eax, 0xfffffbff
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x128]
cmp edx, 0x10
jb 0x4164f6
inc edx
mov ecx, dword [ebp - 0x13c]
mov eax, ecx
cmp edx, 0x1000
jb 0x4164ec
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416576
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x416541
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x416537
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416576
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov esi, dword [ebp - 0x30]
and esi, 0xfffffcff
mov edx, dword [ebp - 0xf0]
cmp edx, 0x10
jb 0x416585
inc edx
mov ecx, dword [ebp - 0x104]
mov eax, ecx
cmp edx, 0x1000
jb 0x41657b
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41657b
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
cmp byte [ebp - 0x25], 0
je 0x416595
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0x3000
mov dword [ebp - 0x30], esi
mov ecx, dword [str.tez8tez]
mov dword [ebp - 0x24], ecx
cmp byte [0x43debf], 0
je 0x416687
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp edi, 2
jl 0x416660
movaps xmm3, xmmword [0x43d580]
movaps xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x43d990]
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x43d990]
shufps xmm2, xmm0, 0xdd
mov eax, 4
movd xmm0, eax
psrad xmm2, xmm0
movaps xmm1, xmm2
mov eax, 0x1f
movd xmm0, eax
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [str.4444]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.5555555555555555]
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x24], xmm1
jmp 0x416687
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x24], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 4
jl 0x416660
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x24]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4166a2
sub ecx, edx
push ecx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x41678a
lea eax, [ebp - 0x15c]
push eax
call fcn.00413c30
add esp, 4
mov esi, eax
or dword [ebp - 0x30], 0xc000
mov ecx, dword [0x43dec0]
mov dword [ebp - 0x3e], ecx
mov cx, word [0x43dec4]
mov word [ebp - 0x3a], cx
test ch, ch
je 0x41672b
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x3e], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 6
jl 0x416704
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x3e]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416750
sub ecx, edx
push ecx
lea eax, [ebp - 0x3e]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, esi
call fcn.00413a20
cmp eax, 0xffffffff
je 0x41678a
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x416791
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test eax, 0x8000
je 0x4167d9
and eax, 0xffff7fff
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x4167d9
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x4167cc
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416819
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov eax, dword [ebp - 0x30]
test eax, 0x4000
je 0x4167f3
and eax, 0xffffbfff
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x15c]
call fcn.00401290
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x416828
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x41681e
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41681e
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov esi, dword [ebp - 0x30]
and esi, 0xffffcfff
lea ecx, [ebp - 0x104]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x41684c
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0x30000
mov dword [ebp - 0x30], esi
mov ecx, dword [str.TTUA9]
mov dword [ebp - 0x45], ecx
mov cl, byte [0x43decc]
mov byte [ebp - 0x41], cl
xor edx, edx
mov dword [ebp - 0x2c], edx
nop
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x45], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 5
jl 0x416880
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x45]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4168c2
sub ecx, edx
push ecx
lea eax, [ebp - 0x45]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x416acf
lea eax, [ebp - 0x15c]
push eax
call fcn.00413c30
add esp, 4
mov dword [ebp - 0x38], eax
or dword [ebp - 0x30], 0xc0000
mov ecx, dword [str.ttua]
mov esi, dword [0x43ded4]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], esi
cmp byte [0x43ded7], 0
je 0x416a6a
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp edi, 2
jl 0x416a40
movaps xmm4, xmmword [0x43d990]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x43d580]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x94], xmm1
movaps xmm2, xmmword [0x43d710]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
pxor xmm1, xmm0
movd dword [ebp - 0x90], xmm1
jmp 0x416a6a
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x94], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 8
jl 0x416a40
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x94]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416a91
sub ecx, edx
push ecx
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x416acf
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x416ad6
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test eax, 0x80000
je 0x416b1e
and eax, 0xfff7ffff
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x416b1e
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x416b11
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416b5e
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov eax, dword [ebp - 0x30]
test eax, 0x40000
je 0x416b38
and eax, 0xfffbffff
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x15c]
call fcn.00401290
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x416b6d
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x416b63
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x416b63
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov esi, dword [ebp - 0x30]
and esi, 0xfffcffff
lea ecx, [ebp - 0x104]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x416b91
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0x300000
mov dword [ebp - 0x30], esi
mov ecx, dword [0x43ded8]
mov dword [ebp - 0x3e], ecx
mov cx, word [0x43dedc]
mov word [ebp - 0x3a], cx
test ch, ch
je 0x416bf7
xor edx, edx
mov dword [ebp - 0x2c], edx
nop dword [eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x3e], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 6
jl 0x416bd0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x3e]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416c12
sub ecx, edx
push ecx
lea eax, [ebp - 0x3e]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x416cfa
lea eax, [ebp - 0x15c]
push eax
call fcn.00413c30
add esp, 4
mov esi, eax
or dword [ebp - 0x30], 0xc00000
movq xmm0, qword [0x43dee0]
movq qword [ebp - 0x59], xmm0
mov cl, byte [0x43dee8]
mov byte [ebp - 0x51], cl
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x59], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 9
jl 0x416c72
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x59]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416cc0
sub ecx, edx
push ecx
lea eax, [ebp - 0x59]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, esi
call fcn.00413a20
cmp eax, 0xffffffff
je 0x416cfa
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x416d01
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test eax, 0x800000
je 0x416d49
and eax, 0xff7fffff
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x416d49
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x416d3c
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416d89
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov eax, dword [ebp - 0x30]
test eax, 0x400000
je 0x416d63
and eax, 0xffbfffff
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x15c]
call fcn.00401290
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x416d98
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x416d8e
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x416d8e
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov esi, dword [ebp - 0x30]
and esi, 0xffcfffff
lea ecx, [ebp - 0x104]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x416dbc
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0x3000000
mov dword [ebp - 0x30], esi
mov ecx, dword [str.YEKM:]
mov dword [ebp - 0x3e], ecx
mov cx, word [0x43def0]
mov word [ebp - 0x3a], cx
test ch, ch
je 0x416e1b
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x3e], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 6
jl 0x416df4
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x3e]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416e36
sub ecx, edx
push ecx
lea eax, [ebp - 0x3e]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x416f1b
lea eax, [ebp - 0x15c]
push eax
call fcn.00413c30
add esp, 4
mov esi, eax
or dword [ebp - 0x30], 0xc000000
movq xmm0, qword [str.yekm]
movq qword [ebp - 0x59], xmm0
mov cl, byte [0x43defc]
mov byte [ebp - 0x51], cl
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x59], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 9
jl 0x416e96
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x59]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416ee1
sub ecx, edx
push ecx
lea eax, [ebp - 0x59]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, esi
call fcn.00413a20
cmp eax, 0xffffffff
je 0x416f1b
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x416f22
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test eax, 0x8000000
je 0x416f6a
and eax, 0xf7ffffff
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x416f6a
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x416f5d
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416faa
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov eax, dword [ebp - 0x30]
test eax, 0x4000000
je 0x416f84
and eax, 0xfbffffff
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x15c]
call fcn.00401290
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x416fb9
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x416faf
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x416faf
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov esi, dword [ebp - 0x30]
and esi, 0xfcffffff
lea ecx, [ebp - 0x104]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x416fdd
mov dword [0], 0x2a
lea eax, [ebp - 0x104]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0x30000000
mov dword [ebp - 0x30], esi
mov ecx, dword [str.bwsh_]
mov dword [ebp - 0x143], ecx
mov cx, word [0x43df04]
mov word [ebp - 0x13f], cx
mov cl, byte [0x43df06]
mov byte [ebp - 0x13d], cl
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x143], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 7
jl 0x417023
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x143]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417070
sub ecx, edx
push ecx
lea eax, [ebp - 0x143]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x417162
lea eax, [ebp - 0x15c]
push eax
call fcn.00413c30
add esp, 4
mov esi, eax
or dword [ebp - 0x30], 0xc0000000
movq xmm0, qword [str.bwsh]
movq qword [ebp - 0x5a], xmm0
mov cx, word [0x43df10]
mov word [ebp - 0x52], cx
test ch, ch
je 0x417107
xor edx, edx
mov dword [ebp - 0x2c], edx
nop dword [eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x5a], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 0xa
jl 0x4170e0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x5a]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417130
sub ecx, edx
push ecx
lea eax, [ebp - 0x5a]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, esi
call fcn.00413a20
cmp eax, 0xffffffff
mov byte [ebp - 0x25], 1
jne 0x417166
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test eax, eax
jns 0x4171ae
and eax, 0x7fffffff
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x4171ae
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x4171a1
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4171e6
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov eax, dword [ebp - 0x30]
test eax, 0x40000000
je 0x4171c0
lea ecx, [ebp - 0x15c]
call fcn.00401290
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x4171f5
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x4171eb
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4171eb
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
lea ecx, [ebp - 0x104]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x417210
mov dword [0], 0x2a
lea eax, [ebp - 0x13c]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x38], eax
mov ecx, dword [0x43df14]
mov dword [ebp - 0x45], ecx
mov cl, byte [0x43df18]
mov byte [ebp - 0x41], cl
xor edx, edx
mov dword [ebp - 0x2c], edx
nop dword [eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x45], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 5
jl 0x417240
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x45]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417290
sub ecx, edx
push ecx
lea eax, [ebp - 0x45]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
mov esi, 3
mov dword [ebp - 0x30], esi
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x417470
lea eax, [ebp - 0x104]
push eax
call fcn.00413c30
add esp, 4
mov dword [ebp - 0x38], eax
mov ecx, dword [0x43df1c]
mov esi, dword [0x43df20]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], esi
cmp byte [0x43df23], 0
je 0x41743e
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp edi, 2
jl 0x417414
movaps xmm4, xmmword [0x43d990]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x43d580]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x94], xmm1
movaps xmm2, xmmword [0x43d710]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, esi
pxor xmm1, xmm0
movd dword [ebp - 0x90], xmm1
jmp 0x41743e
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x94], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 8
jl 0x417414
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404740
mov esi, 0xf
mov dword [ebp - 0x30], esi
push 0
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x417470
mov byte [ebp - 0x25], 1
mov eax, esi
jmp 0x41747b
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test al, 8
je 0x41748f
and eax, 0xfffffff7
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x15c]
call fcn.00401290
mov eax, dword [ebp - 0x30]
test al, 4
je 0x4174a4
and eax, 0xfffffffb
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x104]
call fcn.00401290
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x4174df
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x4174d5
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4174d5
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov esi, dword [ebp - 0x30]
and esi, 0xfffffffc
lea ecx, [ebp - 0x13c]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x417500
mov dword [0], 0x2a
lea eax, [ebp - 0x13c]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0x30
mov dword [ebp - 0x30], esi
movq xmm0, qword [0x43df24]
movq qword [ebp - 0x11a], xmm0
mov ecx, dword [0x43df2c]
mov dword [ebp - 0x112], ecx
mov cx, word [0x43df30]
mov word [ebp - 0x10e], cx
test ch, ch
je 0x4176a1
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x417670
movaps xmm4, xmmword [0x43d990]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x43d580]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x43df24]
pxor xmm1, xmm0
movd dword [ebp - 0x11a], xmm1
movaps xmm2, xmmword [0x43d710]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x116]
pxor xmm1, xmm0
movd dword [ebp - 0x116], xmm1
mov edx, 8
mov dword [ebp - 0x24], edx
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x11a], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xe
jl 0x417670
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x11a]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4176c8
sub ecx, edx
push ecx
lea eax, [ebp - 0x11a]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x417788
lea eax, [ebp - 0x104]
push eax
call fcn.00413c30
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0xc0
mov dword [ebp - 0x30], esi
mov ecx, dword [str.f_ZWW:]
mov dword [ebp - 0x3e], ecx
mov cx, word [0x43df38]
mov word [ebp - 0x3a], cx
test ch, ch
je 0x41775d
xor edx, edx
mov dword [ebp - 0x2c], edx
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x3e], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 6
jl 0x417736
lea eax, [ebp - 0x3e]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404740
push 0
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x417788
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x41778f
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x30]
test al, al
jns 0x4177a9
and eax, 0xffffff7f
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x15c]
call fcn.00401290
mov eax, dword [ebp - 0x30]
test al, 0x40
je 0x4177be
and eax, 0xffffffbf
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x104]
call fcn.00401290
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x4177f9
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x4177ef
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4177ef
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov esi, dword [ebp - 0x30]
and esi, 0xffffffcf
lea ecx, [ebp - 0x13c]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x41781a
mov dword [0], 0x2a
lea eax, [ebp - 0x13c]
push eax
call fcn.00413da0
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0x300
mov ecx, dword [str.tXYY9]
mov dword [ebp - 0x45], ecx
mov cl, byte [0x43df40]
mov byte [ebp - 0x41], cl
xor edx, edx
mov dword [ebp - 0x2c], edx
nop dword [eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x45], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 5
jl 0x417850
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x45]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4178a0
sub ecx, edx
push ecx
lea eax, [ebp - 0x45]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
je 0x417a76
lea eax, [ebp - 0x104]
push eax
call fcn.00413c30
add esp, 4
mov dword [ebp - 0x38], eax
or esi, 0xc00
mov ecx, dword [str.txyy]
mov dword [ebp - 0x94], ecx
mov edx, dword [0x43df48]
mov dword [ebp - 0x90], edx
cmp byte [0x43df4b], 0
je 0x417a50
xor edx, edx
mov dword [ebp - 0x2c], edx
cmp edi, 2
jl 0x417a26
movaps xmm4, xmmword [0x43d990]
mov eax, 4
movd xmm5, eax
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x43d580]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x94], xmm1
movaps xmm2, xmmword [0x43d710]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x43df48]
pxor xmm1, xmm0
movd dword [ebp - 0x90], xmm1
jmp 0x417a50
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x94], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 8
jl 0x417a26
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404740
push 0
push eax
mov ecx, dword [ebp - 0x38]
call fcn.00413a20
cmp eax, 0xffffffff
mov byte [ebp - 0x25], 1
jne 0x417a7a
mov byte [ebp - 0x25], 0
test esi, 0x800
je 0x417a93
and esi, 0xfffff7ff
lea ecx, [ebp - 0x15c]
call fcn.00401290
test esi, 0x400
je 0x417aa6
lea ecx, [ebp - 0x104]
call fcn.00401290
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x417ae1
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x417ad7
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x417ad7
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
lea ecx, [ebp - 0x13c]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x417afc
mov dword [0], 0x2a
lea eax, [ebp - 0x15c]
push eax
call fcn.00413c30
add esp, 4
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x417b15
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 0x417b20
sub ecx, esi
lea eax, [edx + ecx]
push 1
push 0x10
lea ecx, [ebp - 0x474]
push ecx
push 0
push eax
push edx
call fcn.0040a980
add esp, 0x18
mov byte [ebp - 0x25], al
lea ecx, [ebp - 0x15c]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x417b61
mov dword [0], 0x2a
lea eax, [ebp - 0x15c]
push eax
call fcn.00413c30
add esp, 4
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x417b7a
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417b80
sub ecx, esi
lea eax, [edx + ecx]
push 1
push 0x10
lea ecx, [ebp - 0x488]
push ecx
push 0
push eax
push edx
call fcn.0040a980
add esp, 0x18
mov byte [ebp - 0x25], al
lea ecx, [ebp - 0x15c]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x417bc1
mov dword [0], 0x2a
lea eax, [ebp - 0x15c]
push eax
call fcn.00413c30
add esp, 4
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x417bda
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417be0
sub ecx, esi
lea eax, [edx + ecx]
push 1
push 0x10
lea ecx, [ebp - 0x49c]
push ecx
push 0
push eax
push edx
call fcn.0040a980
add esp, 0x18
mov byte [ebp - 0x25], al
lea ecx, [ebp - 0x15c]
call fcn.00401290
cmp byte [ebp - 0x25], 0
je 0x417c21
mov dword [0], 0x2a
movups xmm0, xmmword [0x43df68]
movups xmmword [ebp - 0x86], xmm0
mov ax, word [0x43df78]
mov word [ebp - 0x76], ax
test ah, ah
je 0x417dd1
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x417da0
movaps xmm4, xmmword [0x43d580]
movaps xmm3, xmmword [0x43d990]
mov eax, 4
movd xmm5, eax
movaps xmm6, xmmword [str.4444]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [str.5555555555555555]
movaps xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x50]
nop dword [eax]
nop dword [eax + eax]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x86]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x86], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x82]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x82], xmm1
add edx, 8
cmp edx, 0x10
jl 0x417c90
mov dword [ebp - 0x24], edx
cmp edx, 0x12
jge 0x417dd1
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x86], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x12
jl 0x417da0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
lea ecx, [ebp - 0x86]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417df8
sub ecx, edx
push ecx
lea eax, [ebp - 0x86]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00401820
movups xmm0, xmmword [0x43df4c]
movups xmmword [ebp - 0xcf], xmm0
movq xmm0, qword [0x43df5c]
movq qword [ebp - 0xbf], xmm0
mov eax, dword [0x43df64]
mov dword [ebp - 0xb7], eax
cmp byte [0x43df67], 0
je 0x417fd1
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x417fa0
movaps xmm4, xmmword [0x43d580]
movaps xmm3, xmmword [0x43d990]
mov eax, 4
movd xmm5, eax
movaps xmm6, xmmword [str.4444]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [str.5555555555555555]
movaps xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x50]
nop dword [eax]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xcf]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xcf], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xcb]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xcb], xmm1
add edx, 8
cmp edx, 0x18
jl 0x417e90
mov dword [ebp - 0x24], edx
cmp edx, 0x1c
jge 0x417fd1
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0xcf], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x1c
jl 0x417fa0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0xcf]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417ff0
sub ecx, edx
push ecx
lea eax, [ebp - 0xcf]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
mov dword [ebp - 0x38], reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.00409390
add esp, 0x10
mov esi, eax
mov ecx, dword [str.sbyl_b:]
mov dword [ebp - 0x3e], ecx
mov cx, word [0x43df80]
mov word [ebp - 0x3a], cx
test ch, ch
je 0x418077
xor edx, edx
mov dword [ebp - 0x2c], edx
nop dword [eax]
mov eax, 0x4ec4ec4f
mul edx
shr edx, 4
movsx eax, dl
imul eax, eax, 0x34
mov edx, dword [ebp - 0x2c]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x3e], cl
inc edx
mov dword [ebp - 0x2c], edx
cmp edx, 6
jl 0x418050
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x3e]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4180a0
sub ecx, edx
push ecx
lea eax, [ebp - 0x3e]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, esi
call fcn.00413a20
mov esi, eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x418105
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x4180fb
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41817e
push edx
push ecx
call fcn.0041fbcc
add esp, 8
lea ecx, [ebp - 0x15c]
call fcn.00401290
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x418140
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x418136
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41817e
push edx
push ecx
call fcn.0041fbcc
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
mov edx, dword [ebp - 0x1ac]
cmp edx, 0x10
jb 0x41818d
inc edx
mov ecx, dword [ebp - 0x1c0]
mov eax, ecx
cmp edx, 0x1000
jb 0x418183
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x418183
call fcn.00423faf
push edx
push ecx
call fcn.0041fbcc
add esp, 8
cmp esi, 0xffffffff
je 0x41819c
mov dword [0], 0x2a
movups xmm0, xmmword [0x43dfa0]
movups xmmword [ebp - 0x86], xmm0
mov ax, word [0x43dfb0]
mov word [ebp - 0x76], ax
test ah, ah
je 0x418341
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x418310
movaps xmm4, xmmword [0x43d580]
movaps xmm3, xmmword [0x43d990]
mov eax, 4
movd xmm5, eax
movaps xmm6, xmmword [str.4444]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [str.5555555555555555]
movaps xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x50]
nop
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x86]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x86], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x82]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x82], xmm1
add edx, 8
cmp edx, 0x10
jl 0x418200
mov dword [ebp - 0x24], edx
cmp edx, 0x12
jge 0x418341
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x86], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x12
jl 0x418310
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
lea ecx, [ebp - 0x86]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418368
sub ecx, edx
push ecx
lea eax, [ebp - 0x86]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00401820
movups xmm0, xmmword [0x43df84]
movups xmmword [ebp - 0xcf], xmm0
movq xmm0, qword [0x43df94]
movq qword [ebp - 0xbf], xmm0
mov eax, dword [0x43df9c]
mov dword [ebp - 0xb7], eax
cmp byte [0x43df9f], 0
je 0x418541
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edi, 2
jl 0x418510
movaps xmm4, xmmword [0x43d580]
movaps xmm3, xmmword [0x43d990]
mov eax, 4
movd xmm5, eax
movaps xmm6, xmmword [str.4444]
mov eax, 0x1f
movd xmm7, eax
movaps xmm0, xmmword [str.5555555555555555]
movaps xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x50]
nop dword [eax]
movd xmm0, edx
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xcf]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xcf], xmm1
lea eax, [edx + 4]
movd xmm0, eax
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0xcb]
pxor xmm1, xmm0
movd dword [ebp + edx - 0xcb], xmm1
add edx, 8
cmp edx, 0x18
jl 0x418400
mov dword [ebp - 0x24], edx
cmp edx, 0x1c
jge 0x418541
nop dword [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0xcf], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x1c
jl 0x418510
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0xcf]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418560
sub ecx, edx
push ecx
lea eax, [ebp - 0xcf]
push eax
lea ecx, [ebp - 0x74]
call fcn.00401820
mov dword [ebp - 0x38], reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.00409390
add esp, 0x10
mov dword [ebp - 0x2c], eax
movq xmm0, qword [str.xcu]
movq qword [ebp - 0x119], xmm0
mov ecx, dword [0x43dfbc]
mov dword [ebp - 0x111], ecx
mov cl, byte [0x43dfc0]
mov byte [ebp - 0x10d], cl
xor edx, edx
mov dword [ebp - 0x24], edx
lea esi, [edx + 4]
cmp edi, 2
jl 0x4186f0
movaps xmm4, xmmword [0x43d990]
movd xmm5, esi
mov eax, 0x1f
movd xmm6, eax
movaps xmm2, xmmword [0x43d580]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
mov eax, dword [str.5555555555555555]
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.xcu]
pxor xmm1, xmm0
movd dword [ebp - 0x119], xmm1
movaps xmm2, xmmword [0x43d710]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.4444]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x43d600]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x115]
pxor xmm1, xmm0
movd dword [ebp - 0x115], xmm1
mov edx, 8
mov dword [ebp - 0x24], edx
nop word [eax + eax]
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x34
mov edx, dword [ebp - 0x24]
mov cl, dl
sub cl, al
add cl, 0x35
xor byte [ebp + edx - 0x119], cl
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0xd
jl 0x4186f0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
lea ecx, [ebp - 0x119]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418748
sub ecx, edx
push ecx
lea eax, [ebp - 0x119]
push eax
lea ecx, [ebp - 0xac]
call fcn.00401820
push 0
lea eax, [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.00413a20
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x4187b2
inc edx
mov ecx, dword [ebp - 0xac]
mov eax, ecx
cmp edx, 0x1000
jb 0x4187a8
add edx, 0x23
mov ecx, dword [ecx - 4]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41882b
push edx
push ecx
call fcn.0041fbcc
add esp, 8
lea ecx, [ebp - 0x15c]
call fcn.00401290
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x4187ed
inc edx
mov ecx, dword [ebp - 0x74]
mov eax, ecx
cmp edx, 0x1000
jb 0x4187e3
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
mov edx, dword [ebp - 0x1ac]
cmp edx, 0x10
jb 0x41883a