Function at 0x45cbd0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

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 0x82334f
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x598
mov eax, dword [0x93bf44]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x47c], ecx
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x460], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x474]
mov dword [ebp - 0x474], ecx
test ecx, ecx
je 0x45cca2
mov eax, dword [ebp - 0x460]
nop dword [eax + eax]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45cc80
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x474]
jne 0x45cc70
mov eax, dword [ebp - 0x458]
cmp esi, 0xa3e6f6c3
je 0x45cca9
mov eax, dword [eax]
jmp 0x45cc23
mov edi, dword [0x181cfbc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x478], esi
test edi, edi
jne 0x45cd86
test esi, esi
je 0x45cd7e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x458], ecx
cmp ecx, esi
je 0x45cd7e
xor eax, eax
mov dword [ebp - 0x468], eax
cmp dword [ecx + 0x18], eax
je 0x45cd7e
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45cd3a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45cd1d
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45cd10
cmp esi, 0x3bbc54d9
je 0x45cd57
mov eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x458]
inc eax
add edi, 4
mov dword [ebp - 0x468], eax
cmp eax, dword [ecx + 0x18]
je 0x45cd7e
mov esi, dword [ebp - 0x478]
jmp 0x45cd00
mov eax, dword [ebp - 0x458]
mov esi, dword [ebp - 0x478]
mov edx, dword [ebp - 0x468]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45cd80
xor edi, edi
mov dword [0x181cfbc], edi
cmp word [0x900c32], 0
movups xmm0, xmmword [0x900c20]
mov eax, dword [0x900c30]
mov dword [ebp - 0x41c], eax
movups xmmword [ebp - 0x42c], xmm0
je 0x45cdd9
xor esi, esi
nop dword [eax + eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x42c], cx
inc esi
cmp esi, 0xa
jl 0x45cdb0
lea eax, [ebp - 0x42c]
push eax
call edi
mov dword [ebp - 0x478], eax
test eax, eax
je 0x461310
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x460], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x474]
mov dword [ebp - 0x474], ecx
test ecx, ecx
je 0x45ce76
mov eax, dword [ebp - 0x460]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45ce54
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x474]
jne 0x45ce44
mov eax, dword [ebp - 0x458]
cmp esi, 0xa3e6f6c3
je 0x45ce7a
mov eax, dword [eax]
jmp 0x45cdfc
mov esi, dword [0x181d028]
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x46c], edi
test esi, esi
jne 0x45cf58
mov esi, edi
test esi, esi
je 0x45cf50
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x458], ecx
cmp ecx, esi
je 0x45cf50
xor eax, eax
mov dword [ebp - 0x468], eax
cmp dword [ecx + 0x18], eax
je 0x45cf50
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45cf0c
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45ceef
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45cee2
cmp esi, 0xb8e4e945
je 0x45cf29
mov eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x458]
inc eax
add edi, 4
mov dword [ebp - 0x468], eax
cmp eax, dword [ecx + 0x18]
je 0x45cf50
mov esi, dword [ebp - 0x46c]
jmp 0x45ced2
mov eax, dword [ebp - 0x458]
mov edi, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x468]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edi
add eax, edi
movzx eax, word [eax + edx*2]
mov esi, dword [ecx + eax*4]
add esi, edi
jmp 0x45cf52
xor esi, esi
mov dword [0x181d028], esi
cmp byte [0x900c1f], 0
mov eax, dword [str.bNyWSN__V]
mov dword [ebp - 0x140], eax
mov eax, dword [0x900c1c]
mov dword [ebp - 0x13c], eax
je 0x45d0d7
xor edx, edx
cmp dword [0x1816094], 2
mov dword [ebp - 0x458], edx
jl 0x45d0a0
movaps xmm2, xmmword [0x9036b0]
mov ecx, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, ecx
mov ecx, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, ecx
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x903720]
movd xmm0, dword [str.bNyWSN__V]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x903730]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x140], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x903720]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x903730]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [ebp - 0x13c], xmm1
jmp 0x45d0d7
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x458]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x140], cl
inc edx
mov dword [ebp - 0x458], edx
cmp edx, 8
jl 0x45d0a0
lea eax, [ebp - 0x140]
push eax
push dword [ebp - 0x478]
call esi
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x474], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
movzx eax, word [ecx + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [ecx + 0x30]
and eax, 0xfffffffe
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x45c], 0
lea edx, [eax + edi]
inc eax
shr eax, 1
cmp edi, edx
cmova eax, dword [ebp - 0x460]
mov dword [ebp - 0x460], eax
test eax, eax
je 0x45d172
mov ecx, dword [ebp - 0x45c]
mov dl, byte [edi]
lea eax, [edx - 0x41]
cmp al, 0x19
movsx eax, dl
ja 0x45d150
or eax, 0x20
xor esi, eax
inc ecx
imul esi, esi, 0x1000193
add edi, 2
cmp ecx, dword [ebp - 0x460]
jne 0x45d141
mov ecx, dword [ebp - 0x458]
cmp esi, 0xa3e6f6c3
je 0x45d176
mov ecx, dword [ecx]
jmp 0x45d0f9
mov edi, dword [0x181d028]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x46c], esi
test edi, edi
jne 0x45d256
test esi, esi
je 0x45d24e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x458], ecx
cmp ecx, esi
je 0x45d24e
xor eax, eax
mov dword [ebp - 0x468], eax
cmp dword [ecx + 0x18], eax
je 0x45d24e
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45d20a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45d1ed
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45d1e0
cmp esi, 0xb8e4e945
je 0x45d227
mov eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x458]
inc eax
add edi, 4
mov dword [ebp - 0x468], eax
cmp eax, dword [ecx + 0x18]
je 0x45d24e
mov esi, dword [ebp - 0x46c]
jmp 0x45d1d0
mov eax, dword [ebp - 0x458]
mov esi, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x468]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45d250
xor edi, edi
mov dword [0x181d028], edi
mov eax, dword [0x900c10]
xor edx, edx
cmp dword [0x1816094], 2
movups xmm0, xmmword [str.jMVrRTJj.___]
mov dword [ebp - 0x17c], eax
mov al, byte [0x900c14]
movups xmmword [ebp - 0x18c], xmm0
mov byte [ebp - 0x178], al
mov dword [ebp - 0x468], edx
jl 0x45d3e0
movaps xmm0, xmmword [0x903730]
mov eax, 4
movaps xmm4, xmmword [0x9036b0]
movaps xmm3, xmmword [0x903750]
movaps xmm6, xmmword [0x9036e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x150], xmm0
mov ecx, dword [ebp - 0x150]
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 [0x903720]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x18c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x18c], 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 [0x903720]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x188]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x188], xmm1
add edx, 8
cmp edx, 0x10
jl 0x45d2d0
mov dword [ebp - 0x468], edx
cmp edx, 0x15
jge 0x45d417
nop
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x468]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x18c], cl
inc edx
mov dword [ebp - 0x468], edx
cmp edx, 0x15
jl 0x45d3e0
lea eax, [ebp - 0x18c]
push eax
push dword [ebp - 0x478]
call edi
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x470], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
movzx eax, word [ecx + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [ecx + 0x30]
and eax, 0xfffffffe
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x45c], 0
lea edx, [eax + edi]
inc eax
shr eax, 1
cmp edi, edx
cmova eax, dword [ebp - 0x460]
mov dword [ebp - 0x460], eax
test eax, eax
je 0x45d4b2
mov ecx, dword [ebp - 0x45c]
mov dl, byte [edi]
lea eax, [edx - 0x41]
cmp al, 0x19
movsx eax, dl
ja 0x45d490
or eax, 0x20
xor esi, eax
inc ecx
imul esi, esi, 0x1000193
add edi, 2
cmp ecx, dword [ebp - 0x460]
jne 0x45d481
mov ecx, dword [ebp - 0x458]
cmp esi, 0xa3e6f6c3
je 0x45d4b6
mov ecx, dword [ecx]
jmp 0x45d439
mov esi, dword [0x181d028]
mov edi, dword [ecx + 0x18]
mov dword [ebp - 0x46c], edi
test esi, esi
jne 0x45d596
mov esi, edi
test esi, esi
je 0x45d58e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x458], ecx
cmp ecx, esi
je 0x45d58e
xor eax, eax
mov dword [ebp - 0x468], eax
cmp dword [ecx + 0x18], eax
je 0x45d58e
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45d54a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45d52d
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45d520
cmp esi, 0xb8e4e945
je 0x45d567
mov eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x458]
inc eax
add edi, 4
mov dword [ebp - 0x468], eax
cmp eax, dword [ecx + 0x18]
je 0x45d58e
mov esi, dword [ebp - 0x46c]
jmp 0x45d510
mov eax, dword [ebp - 0x458]
mov edi, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x468]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edi
add eax, edi
movzx eax, word [eax + edx*2]
mov esi, dword [ecx + eax*4]
add esi, edi
jmp 0x45d590
xor esi, esi
mov dword [0x181d028], esi
mov eax, dword [0x900bf8]
movups xmm0, xmmword [str.bNuKYSzV2__77__b__8M]
mov dword [ebp - 0x194], eax
mov ax, word [0x900bfc]
mov word [ebp - 0x190], ax
movups xmmword [ebp - 0x1a4], xmm0
test ah, ah
je 0x45d759
xor edx, edx
cmp dword [0x1816094], 2
mov dword [ebp - 0x468], edx
jl 0x45d722
movaps xmm0, xmmword [0x903730]
mov eax, 4
movaps xmm4, xmmword [0x9036b0]
movaps xmm3, xmmword [0x903750]
movaps xmm6, xmmword [0x9036e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x150], xmm0
mov ecx, dword [ebp - 0x150]
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 [0x903720]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x1a4]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x1a4], 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 [0x903720]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x1a0]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x1a0], xmm1
add edx, 8
cmp edx, 0x10
jl 0x45d614
mov dword [ebp - 0x468], edx
cmp edx, 0x16
jge 0x45d759
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x468]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1a4], cl
inc edx
mov dword [ebp - 0x468], edx
cmp edx, 0x16
jl 0x45d722
lea eax, [ebp - 0x1a4]
push eax
push dword [ebp - 0x478]
call esi
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x488], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
movzx eax, word [ecx + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [ecx + 0x30]
and eax, 0xfffffffe
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x45c], 0
lea edx, [eax + edi]
inc eax
shr eax, 1
cmp edi, edx
cmova eax, dword [ebp - 0x460]
mov dword [ebp - 0x460], eax
test eax, eax
je 0x45d7f4
mov ecx, dword [ebp - 0x45c]
mov dl, byte [edi]
lea eax, [edx - 0x41]
cmp al, 0x19
movsx eax, dl
ja 0x45d7d2
or eax, 0x20
xor esi, eax
inc ecx
imul esi, esi, 0x1000193
add edi, 2
cmp ecx, dword [ebp - 0x460]
jne 0x45d7c3
mov ecx, dword [ebp - 0x458]
cmp esi, 0xa3e6f6c3
je 0x45d7f8
mov ecx, dword [ecx]
jmp 0x45d77b
mov esi, dword [0x181d028]
mov edi, dword [ecx + 0x18]
mov dword [ebp - 0x46c], edi
test esi, esi
jne 0x45d8d6
mov esi, edi
test esi, esi
je 0x45d8ce
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x458], ecx
cmp ecx, esi
je 0x45d8ce
xor eax, eax
mov dword [ebp - 0x468], eax
cmp dword [ecx + 0x18], eax
je 0x45d8ce
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45d88a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45d86d
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45d860
cmp esi, 0xb8e4e945
je 0x45d8a7
mov eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x458]
inc eax
add edi, 4
mov dword [ebp - 0x468], eax
cmp eax, dword [ecx + 0x18]
je 0x45d8ce
mov esi, dword [ebp - 0x46c]
jmp 0x45d850
mov eax, dword [ebp - 0x458]
mov edi, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x468]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edi
add eax, edi
movzx eax, word [eax + edx*2]
mov esi, dword [ecx + eax*4]
add esi, edi
jmp 0x45d8d0
xor esi, esi
mov dword [0x181d028], esi
mov eax, dword [0x900be0]
xor edx, edx
cmp dword [0x1816094], 2
movups xmm0, xmmword [str.bNkNYOG_3_04__a_._9N]
mov dword [ebp - 0x164], eax
mov ax, word [0x900be4]
mov word [ebp - 0x160], ax
mov al, byte [0x900be6]
movups xmmword [ebp - 0x174], xmm0
mov byte [ebp - 0x15e], al
mov dword [ebp - 0x468], edx
jl 0x45da70
movaps xmm0, xmmword [0x903730]
mov eax, 4
movaps xmm4, xmmword [0x9036b0]
movaps xmm3, xmmword [0x903750]
movaps xmm6, xmmword [0x9036e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x150], xmm0
mov ecx, dword [ebp - 0x150]
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 [0x903720]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x174]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x174], 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 [0x903720]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x170]
pxor xmm1, xmm0
movd dword [ebp + edx - 0x170], xmm1
add edx, 8
cmp edx, 0x10
jl 0x45d960
mov dword [ebp - 0x468], edx
cmp edx, 0x17
jge 0x45daa7
nop
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x468]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x174], cl
inc edx
mov dword [ebp - 0x468], edx
cmp edx, 0x17
jl 0x45da70
lea eax, [ebp - 0x174]
push eax
push dword [ebp - 0x478]
call esi
mov edi, eax
lea eax, [ebp - 0x4b4]
push str.Driver
push eax
call dword [ebp - 0x470]
lea eax, [ebp - 0x4b4]
mov dword [ebp - 0x4ac], 0x18
mov dword [ebp - 0x4a4], eax
lea eax, [ebp - 0x4ac]
push eax
push 1
lea eax, [ebp - 0x494]
mov dword [ebp - 0x4a8], 0
push eax
mov dword [ebp - 0x4a0], 0x40
mov dword [ebp - 0x49c], 0
mov dword [ebp - 0x498], 0
call dword [ebp - 0x488]
test eax, eax
jne 0x461012
xor ecx, ecx
mov esi, 0x800
mov dword [ebp - 0x480], ecx
mov dword [ebp - 0x490], ecx
nop dword [eax]
push ecx
call fcn.006d7710
add esi, esi
push esi
call fcn.006d7c2d
add esp, 8
mov dword [ebp - 0x468], eax
test eax, eax
je 0x4610a3
lea ecx, [ebp - 0x490]
push ecx
lea ecx, [ebp - 0x480]
push ecx
push 1
push 0
push esi
push eax
push dword [ebp - 0x494]
call edi
mov ecx, dword [ebp - 0x468]
cmp eax, 0x105
je 0x45db40
cmp eax, 0xc0000023
je 0x45db40
test eax, eax
jne 0x460ff3
movups xmm0, xmmword [0x900bbc]
mov ax, word [0x900bcc]
xor esi, esi
mov word [ebp - 0x2e4], ax
movups xmmword [ebp - 0x2f4], xmm0
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x2f4], cx
inc esi
cmp esi, 9
jl 0x45dbb4
lea eax, [ebp - 0x2f4]
push eax
lea ecx, [ebp - 0xc0]
call fcn.0040eba0
mov dword [ebp - 4], 0
movups xmm0, xmmword [str.NTWTIN__NTBdOKY_]
mov edi, dword [0x1816094]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x1c4], xmm0
test ax, ax
je 0x45dd49
xor esi, esi
cmp edi, 2
jl 0x45dd20
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, str.NTWTIN__NTBdOKY_
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
paddw xmm1, xmmword [0x903710]
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x1c4], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [ebp - 0x1bc]
paddw xmm1, xmmword [0x903710]
pxor xmm1, xmm0
movq qword [ebp - 0x1bc], xmm1
jmp 0x45dd49
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x1c4], cx
inc esi
cmp esi, 8
jl 0x45dd20
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0040eba0
mov byte [ebp - 4], 1
xor esi, esi
movq xmm0, qword [str.NTYR_]
mov ax, word [0x900ba8]
movq qword [ebp - 0x15c], xmm0
mov word [ebp - 0x154], ax
nop
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x15c], cx
inc esi
cmp esi, 5
jl 0x45dd80
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040eba0
mov byte [ebp - 4], 2
xor esi, esi
mov eax, dword [0x900b98]
movups xmm0, xmmword [0x900b88]
mov dword [ebp - 0x38c], eax
mov ax, word [0x900b9c]
movups xmmword [ebp - 0x39c], xmm0
mov word [ebp - 0x388], ax
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x39c], cx
inc esi
cmp esi, 0xb
jl 0x45dde7
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x78]
call fcn.0040eba0
mov byte [ebp - 4], 3
xor esi, esi
mov eax, dword [0x900b84]
mov dword [ebp - 0x334], eax
movups xmm0, xmmword [0x900b64]
movups xmmword [ebp - 0x354], xmm0
movups xmm0, xmmword [0x900b74]
movups xmmword [ebp - 0x344], xmm0
cmp edi, 2
jl 0x45df80
movaps xmm4, xmmword [0x9036b0]
mov eax, 4
movaps xmm3, xmmword [0x903750]
movaps xmm6, xmmword [0x9036e0]
movd xmm5, eax
mov eax, 0x1f
movd xmm7, eax
nop dword [eax]
movd xmm0, esi
lea eax, [esi + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
punpckldq xmm1, xmm2
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
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp + esi*2 - 0x354]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + esi*2 - 0x354], 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
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp + esi*2 - 0x34c]
pxor xmm1, xmm0
movq qword [ebp + esi*2 - 0x34c], xmm1
add esi, 8
cmp esi, 0x10
jl 0x45de80
cmp esi, 0x12
jge 0x45dfa9
nop dword [eax + eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x354], cx
inc esi
cmp esi, 0x12
jl 0x45df80
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x60]
call fcn.0040eba0
mov byte [ebp - 4], 4
cmp word [0x900b62], 0
movups xmm0, xmmword [0x900b50]
mov eax, dword [0x900b60]
mov dword [ebp - 0x430], eax
movups xmmword [ebp - 0x440], xmm0
je 0x45e00a
xor esi, esi
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x440], cx
inc esi
cmp esi, 0xa
jl 0x45dfe1
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040eba0
mov byte [ebp - 4], 5
cmp word [0x900b4e], 0
movups xmm0, xmmword [0x900b3c]
mov eax, dword [0x900b4c]
mov dword [ebp - 0x444], eax
movups xmmword [ebp - 0x454], xmm0
je 0x45e06b
xor esi, esi
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x454], cx
inc esi
cmp esi, 0xa
jl 0x45e042
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x30]
call fcn.0040eba0
mov dword [ebp - 4], 6
cmp word [0x900b3a], 0
movups xmm0, xmmword [0x900b20]
mov eax, dword [0x900b38]
mov dword [ebp - 0x258], eax
movups xmmword [ebp - 0x270], xmm0
movq xmm0, qword [0x900b30]
movq qword [ebp - 0x260], xmm0
je 0x45e1ef
xor esi, esi
cmp edi, 2
jl 0x45e1c6
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, 0x900b20
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x270], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x268]
pxor xmm1, xmm0
movq qword [ebp - 0x268], xmm1
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x270], cx
inc esi
cmp esi, 0xe
jl 0x45e1c6
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x138]
call fcn.0040eba0
mov byte [ebp - 4], 7
cmp word [0x900b1e], 0
movups xmm0, xmmword [0x900b04]
mov eax, dword [0x900b1c]
mov dword [ebp - 0x274], eax
movups xmmword [ebp - 0x28c], xmm0
movq xmm0, qword [0x900b14]
movq qword [ebp - 0x27c], xmm0
je 0x45e379
xor esi, esi
cmp edi, 2
jl 0x45e350
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, 0x900b04
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x28c], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x284]
pxor xmm1, xmm0
movq qword [ebp - 0x284], xmm1
nop word [eax + eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x28c], cx
inc esi
cmp esi, 0xe
jl 0x45e350
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x120]
call fcn.0040eba0
mov byte [ebp - 4], 8
movups xmm0, xmmword [str.K_I_UY_ljZXPL_]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x1d4], xmm0
test ax, ax
je 0x45e4df
xor esi, esi
cmp edi, 2
jl 0x45e4b6
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, str.K_I_UY_ljZXPL_
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x1d4], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x1cc]
pxor xmm1, xmm0
movq qword [ebp - 0x1cc], xmm1
jmp 0x45e4df
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x1d4], cx
inc esi
cmp esi, 8
jl 0x45e4b6
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x108]
call fcn.0040eba0
mov byte [ebp - 4], 9
xor esi, esi
mov eax, dword [0x900a78]
movups xmm0, xmmword [0x900a68]
mov dword [ebp - 0x3a4], eax
mov ax, word [0x900a7c]
movups xmmword [ebp - 0x3b4], xmm0
mov word [ebp - 0x3a0], ax
nop dword [eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x3b4], cx
inc esi
cmp esi, 0xb
jl 0x45e520
lea eax, [ebp - 0x3b4]
push eax
lea ecx, [ebp - 0xf0]
call fcn.0040eba0
mov byte [ebp - 4], 0xa
cmp word [0x900a66], 0
movups xmm0, xmmword [0x900a50]
movups xmmword [ebp - 0x23c], xmm0
movq xmm0, qword [0x900a60]
movq qword [ebp - 0x22c], xmm0
je 0x45e6c9
xor esi, esi
cmp edi, 2
jl 0x45e6a0
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, 0x900a50
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x23c], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x234]
pxor xmm1, xmm0
movq qword [ebp - 0x234], xmm1
nop dword [eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x23c], cx
inc esi
cmp esi, 0xc
jl 0x45e6a0
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0040eba0
mov ecx, dword [ebp - 0x468]
mov eax, ecx
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x46c], ecx
cmp word [ecx], 0
je 0x460fbe
nop word [eax + eax]
cmp word [eax + 8], 0
je 0x460fbe
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x458], edi
xor edi, edi
mov dword [ebp - 0x488], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x470], ecx
test ecx, ecx
je 0x45e7a1
mov eax, dword [ebp - 0x458]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45e775
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x470]
jne 0x45e765
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0x8ec4c73b
mov eax, dword [ebp - 0x488]
je 0x45e7a5
mov eax, dword [eax]
jmp 0x45e72d
mov esi, dword [eax + 0x18]
mov eax, dword [0x181cfd0]
mov dword [ebp - 0x470], esi
test eax, eax
jne 0x45e885
test esi, esi
je 0x45e87e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x488], eax
xor eax, eax
mov dword [ebp - 0x488], ecx
cmp ecx, esi
je 0x45e880
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45e87e
mov edi, dword [ecx + 0x20]
add edi, esi
nop word [eax + eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45e83a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45e81d
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x45e810
cmp esi, 0xc626c590
je 0x45e857
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x488]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45e87e
mov esi, dword [ebp - 0x470]
jmp 0x45e800
mov eax, dword [ebp - 0x488]
mov esi, dword [ebp - 0x470]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x45e880
xor eax, eax
mov dword [0x181cfd0], eax
mov esi, dword [ebp - 0x460]
mov ecx, esi
cmp dword [esi + 0x14], 8
jb 0x45e895
mov ecx, dword [esi]
push ecx
mov ecx, dword [ebp - 0x46c]
push dword [ecx + 4]
call eax
test eax, eax
je 0x45e8c4
mov ecx, dword [ebp - 0x45c]
add esi, 0x18
inc ecx
mov dword [ebp - 0x460], esi
mov dword [ebp - 0x45c], ecx
cmp ecx, 7
jb 0x45e721
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x458], edi
xor edi, edi
mov dword [ebp - 0x460], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45e944
mov eax, dword [ebp - 0x458]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45e918
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x45c]
jne 0x45e908
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0x8ec4c73b
mov eax, dword [ebp - 0x460]
je 0x45e948
mov eax, dword [eax]
jmp 0x45e8d0
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45ea26
test esi, esi
je 0x45ea1e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45ea1e
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45ea1e
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45e9da
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45e9bd
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45e9b0
cmp esi, 0xc626c590
je 0x45e9f7
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45ea1e
mov esi, dword [ebp - 0x45c]
jmp 0x45e9a0
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45ea20
xor edi, edi
mov dword [0x181cfd0], edi
cmp word [0x900b3a], 0
movups xmm0, xmmword [0x900b20]
mov eax, dword [0x900b38]
mov dword [ebp - 0x290], eax
movups xmmword [ebp - 0x2a8], xmm0
movq xmm0, qword [0x900b30]
movq qword [ebp - 0x298], xmm0
je 0x45eb99
xor esi, esi
cmp dword [0x1816094], 2
jl 0x45eb70
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, 0x900b20
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x2a8], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x2a0]
pxor xmm1, xmm0
movq qword [ebp - 0x2a0], xmm1
nop
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x2a8], cx
inc esi
cmp esi, 0xe
jl 0x45eb70
lea eax, [ebp - 0x2a8]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x45f422
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45ec39
mov eax, dword [ebp - 0x470]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45ec17
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x45ec07
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x45ec3d
mov eax, dword [eax]
jmp 0x45ebbf
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45ed19
test esi, esi
je 0x45ed11
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45ed11
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45ed11
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45eccd
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45ecb0
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45eca3
cmp esi, 0xc626c590
je 0x45ecea
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45ed11
mov esi, dword [ebp - 0x45c]
jmp 0x45ec93
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45ed13
xor edi, edi
mov dword [0x181cfd0], edi
cmp word [0x900b1e], 0
movups xmm0, xmmword [0x900b04]
mov eax, dword [0x900b1c]
mov dword [ebp - 0x2ac], eax
movups xmmword [ebp - 0x2c4], xmm0
movq xmm0, qword [0x900b14]
movq qword [ebp - 0x2b4], xmm0
je 0x45ee8b
xor esi, esi
cmp dword [0x1816094], 2
jl 0x45ee62
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, 0x900b04
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x2c4], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x2bc]
pxor xmm1, xmm0
movq qword [ebp - 0x2bc], xmm1
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x2c4], cx
inc esi
cmp esi, 0xe
jl 0x45ee62
lea eax, [ebp - 0x2c4]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x45f422
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45ef32
mov eax, dword [ebp - 0x470]
nop dword [eax]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45ef10
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x45ef00
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x45ef39
mov eax, dword [eax]
jmp 0x45eeb1
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45f016
test esi, esi
je 0x45f00e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45f00e
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45f00e
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45efca
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45efad
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45efa0
cmp esi, 0xc626c590
je 0x45efe7
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45f00e
mov esi, dword [ebp - 0x45c]
jmp 0x45ef90
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45f010
xor edi, edi
mov dword [0x181cfd0], edi
cmp word [0x900b02], 0
movups xmm0, xmmword [0x900af0]
mov eax, dword [0x900b00]
mov dword [ebp - 0x3b8], eax
movups xmmword [ebp - 0x3c8], xmm0
je 0x45f069
xor esi, esi
nop dword [eax + eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x3c8], cx
inc esi
cmp esi, 0xa
jl 0x45f040
lea eax, [ebp - 0x3c8]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x45f422
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45f109
mov eax, dword [ebp - 0x470]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45f0e7
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x45f0d7
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x45f10d
mov eax, dword [eax]
jmp 0x45f08f
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45f1e9
test esi, esi
je 0x45f1e1
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45f1e1
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45f1e1
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f19d
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45f180
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45f173
cmp esi, 0xc626c590
je 0x45f1ba
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45f1e1
mov esi, dword [ebp - 0x45c]
jmp 0x45f163
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45f1e3
xor edi, edi
mov dword [0x181cfd0], edi
mov eax, dword [0x900ae8]
xor esi, esi
movq xmm0, qword [0x900ae0]
mov dword [ebp - 0x21c], eax
mov ax, word [0x900aec]
movq qword [ebp - 0x224], xmm0
mov word [ebp - 0x218], ax
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x224], cx
inc esi
cmp esi, 7
jl 0x45f213
lea eax, [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x45f422
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45f2e2
mov eax, dword [ebp - 0x470]
nop word [eax + eax]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45f2c0
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x45f2b0
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x45f2e9
mov eax, dword [eax]
jmp 0x45f262
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45f3c6
test esi, esi
je 0x45f3be
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45f3be
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45f3be
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f37a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45f35d
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45f350
cmp esi, 0xc626c590
je 0x45f397
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45f3be
mov esi, dword [ebp - 0x45c]
jmp 0x45f340
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45f3c0
xor edi, edi
mov dword [0x181cfd0], edi
movups xmm0, xmmword [0x900acc]
mov ax, word [0x900adc]
xor esi, esi
mov word [ebp - 0x2f8], ax
movups xmmword [ebp - 0x308], xmm0
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x308], cx
inc esi
cmp esi, 9
jl 0x45f3e3
lea eax, [ebp - 0x308]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
jne 0x45f468
mov esi, dword [ebp - 0x47c]
mov ecx, esi
push 1
or dword [esi + 4], 1
call fcn.0045cb70
test eax, eax
jne 0x45f468
push 1
lea ecx, [ebp - 0x4d0]
call fcn.00488400
lea eax, [ebp - 0x4d0]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [esi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0xb
call fcn.00488820
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45f4f2
mov eax, dword [ebp - 0x470]
nop dword [eax]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45f4d0
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x45f4c0
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x45f4f9
mov eax, dword [eax]
jmp 0x45f474
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45f5d6
test esi, esi
je 0x45f5ce
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45f5ce
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45f5ce
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f58a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45f56d
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45f560
cmp esi, 0xc626c590
je 0x45f5a7
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45f5ce
mov esi, dword [ebp - 0x45c]
jmp 0x45f550
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45f5d0
xor edi, edi
mov dword [0x181cfd0], edi
movups xmm0, xmmword [str.sxlySRJ_]
mov ax, word [0x900ac8]
xor esi, esi
mov word [ebp - 0x30c], ax
movups xmmword [ebp - 0x31c], xmm0
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x31c], cx
inc esi
cmp esi, 9
jl 0x45f5f3
lea eax, [ebp - 0x31c]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x45fca0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x458], edi
xor edi, edi
mov dword [ebp - 0x460], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45f6bc
mov eax, dword [ebp - 0x458]
nop word [eax + eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45f690
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x45c]
jne 0x45f680
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0x8ec4c73b
mov eax, dword [ebp - 0x460]
je 0x45f6c0
mov eax, dword [eax]
jmp 0x45f642
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45f79c
test esi, esi
je 0x45f794
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45f794
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45f794
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f750
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45f733
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x45f726
cmp esi, 0xc626c590
je 0x45f76d
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45f794
mov esi, dword [ebp - 0x45c]
jmp 0x45f716
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45f796
xor edi, edi
mov dword [0x181cfd0], edi
movups xmm0, xmmword [0x900aa4]
mov ax, word [0x900ab4]
xor esi, esi
mov word [ebp - 0x320], ax
movups xmmword [ebp - 0x330], xmm0
nop dword [eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x330], cx
inc esi
cmp esi, 9
jl 0x45f7c0
lea eax, [ebp - 0x330]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x45fca0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45f889
mov eax, dword [ebp - 0x470]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45f867
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x45f857
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x45f88d
mov eax, dword [eax]
jmp 0x45f80f
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45f969
test esi, esi
je 0x45f961
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45f961
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45f961
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f91d
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45f900
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x45f8f3
cmp esi, 0xc626c590
je 0x45f93a
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45f961
mov esi, dword [ebp - 0x45c]
jmp 0x45f8e3
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45f963
xor edi, edi
mov dword [0x181cfd0], edi
cmp word [0x900aa2], 0
movups xmm0, xmmword [0x900a90]
mov eax, dword [0x900aa0]
mov dword [ebp - 0x408], eax
movups xmmword [ebp - 0x418], xmm0
je 0x45f9b9
xor esi, esi
nop
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x418], cx
inc esi
cmp esi, 0xa
jl 0x45f990
lea eax, [ebp - 0x418]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x45fca0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x458], edi
xor edi, edi
mov dword [ebp - 0x460], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45fa53
mov eax, dword [ebp - 0x458]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45fa27
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x45c]
jne 0x45fa17
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0x8ec4c73b
mov eax, dword [ebp - 0x460]
je 0x45fa57
mov eax, dword [eax]
jmp 0x45f9df
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45fb36
test esi, esi
je 0x45fb2e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45fb2e
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45fb2e
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45faea
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45facd
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x45fac0
cmp esi, 0xc626c590
je 0x45fb07
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45fb2e
mov esi, dword [ebp - 0x45c]
jmp 0x45fab0
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45fb30
xor edi, edi
mov dword [0x181cfd0], edi
movups xmm0, xmmword [str.jjjkodm_jJyxYSJZ2AjJhZJpQQ_]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x1e4], xmm0
test ax, ax
je 0x45fc8a
xor esi, esi
cmp dword [0x1816094], 2
jl 0x45fc61
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, str.jjjkodm_jJyxYSJZ2AjJhZJpQQ_
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x1e4], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x1dc]
pxor xmm1, xmm0
movq qword [ebp - 0x1dc], xmm1
jmp 0x45fc8a
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x1e4], cx
inc esi
cmp esi, 8
jl 0x45fc61
lea eax, [ebp - 0x1e4]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
jne 0x45fce6
mov esi, dword [ebp - 0x47c]
mov ecx, esi
push 8
or dword [esi + 4], 8
call fcn.0045cb70
test eax, eax
jne 0x45fce6
push 8
lea ecx, [ebp - 0x590]
call fcn.00488400
lea eax, [ebp - 0x590]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [esi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x590]
mov byte [ebp - 4], 0xb
call fcn.00488820
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x458], edi
xor edi, edi
mov dword [ebp - 0x460], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45fd6c
mov eax, dword [ebp - 0x458]
nop word [eax + eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45fd40
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x45c]
jne 0x45fd30
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0x8ec4c73b
mov eax, dword [ebp - 0x460]
je 0x45fd70
mov eax, dword [eax]
jmp 0x45fcf2
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x45fe4c
test esi, esi
je 0x45fe44
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x45fe44
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x45fe44
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45fe00
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45fde3
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x45fdd6
cmp esi, 0xc626c590
je 0x45fe1d
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x45fe44
mov esi, dword [ebp - 0x45c]
jmp 0x45fdc6
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x45fe46
xor edi, edi
mov dword [0x181cfd0], edi
mov eax, dword [0x900a78]
xor esi, esi
movups xmm0, xmmword [0x900a68]
mov dword [ebp - 0x374], eax
mov ax, word [0x900a7c]
movups xmmword [ebp - 0x384], xmm0
mov word [ebp - 0x370], ax
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x384], cx
inc esi
cmp esi, 0xb
jl 0x45fe74
lea eax, [ebp - 0x384]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x46019f
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x458], edi
xor edi, edi
mov dword [ebp - 0x460], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x45ff3c
mov eax, dword [ebp - 0x458]
nop dword [eax + eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x45ff10
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x45c]
jne 0x45ff00
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0x8ec4c73b
mov eax, dword [ebp - 0x460]
je 0x45ff40
mov eax, dword [eax]
jmp 0x45fec3
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x46001c
test esi, esi
je 0x460014
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x460014
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x460014
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45ffd0
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45ffb3
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x45ffa6
cmp esi, 0xc626c590
je 0x45ffed
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x460014
mov esi, dword [ebp - 0x45c]
jmp 0x45ff96
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x460016
xor edi, edi
mov dword [0x181cfd0], edi
cmp word [0x900a66], 0
movups xmm0, xmmword [0x900a50]
movups xmmword [ebp - 0x254], xmm0
movq xmm0, qword [0x900a60]
movq qword [ebp - 0x244], xmm0
je 0x460189
xor esi, esi
cmp dword [0x1816094], 2
jl 0x460160
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, 0x900a50
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x254], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x24c]
pxor xmm1, xmm0
movq qword [ebp - 0x24c], xmm1
nop word [eax + eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x254], cx
inc esi
cmp esi, 0xc
jl 0x460160
lea eax, [ebp - 0x254]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
jne 0x4601e5
mov esi, dword [ebp - 0x47c]
mov ecx, esi
push 4
or dword [esi + 4], 4
call fcn.0045cb70
test eax, eax
jne 0x4601e5
push 4
lea ecx, [ebp - 0x4e8]
call fcn.00488400
lea eax, [ebp - 0x4e8]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [esi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x4e8]
mov byte [ebp - 4], 0xb
call fcn.00488820
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x458], edi
xor edi, edi
mov dword [ebp - 0x460], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x46026c
mov eax, dword [ebp - 0x458]
nop dword [eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x460240
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x45c]
jne 0x460230
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0x8ec4c73b
mov eax, dword [ebp - 0x460]
je 0x460270
mov eax, dword [eax]
jmp 0x4601f1
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x46034c
test esi, esi
je 0x460344
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x460344
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x460344
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460300
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4602e3
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x4602d6
cmp esi, 0xc626c590
je 0x46031d
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x460344
mov esi, dword [ebp - 0x45c]
jmp 0x4602c6
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x460346
xor edi, edi
mov dword [0x181cfd0], edi
movups xmm0, xmmword [str.K_I_UY_ljZXPL_]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x1f4], xmm0
test ax, ax
je 0x4604a0
xor esi, esi
cmp dword [0x1816094], 2
jl 0x460477
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, str.K_I_UY_ljZXPL_
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x1f4], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x1ec]
pxor xmm1, xmm0
movq qword [ebp - 0x1ec], xmm1
jmp 0x4604a0
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x1f4], cx
inc esi
cmp esi, 8
jl 0x460477
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
jne 0x4604fc
mov esi, dword [ebp - 0x47c]
mov ecx, esi
push 0x40
or dword [esi + 4], 0x40
call fcn.0045cb70
test eax, eax
jne 0x4604fc
push 0x40
lea ecx, [ebp - 0x500]
call fcn.00488400
lea eax, [ebp - 0x500]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [esi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x500]
mov byte [ebp - 4], 0xb
call fcn.00488820
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x458], edi
xor edi, edi
mov dword [ebp - 0x460], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x46057c
mov eax, dword [ebp - 0x458]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x460550
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x45c]
jne 0x460540
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0x8ec4c73b
mov eax, dword [ebp - 0x460]
je 0x460580
mov eax, dword [eax]
jmp 0x460508
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x46065c
test esi, esi
je 0x460654
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x460654
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x460654
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460610
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4605f3
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x4605e6
cmp esi, 0xc626c590
je 0x46062d
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x460654
mov esi, dword [ebp - 0x45c]
jmp 0x4605d6
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x460656
xor edi, edi
mov dword [0x181cfd0], edi
mov eax, dword [0x900a38]
xor esi, esi
movq xmm0, qword [str.JJQOXT_]
mov dword [ebp - 0x20c], eax
mov ax, word [0x900a3c]
movq qword [ebp - 0x214], xmm0
mov word [ebp - 0x208], ax
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x214], cx
inc esi
cmp esi, 7
jl 0x460686
lea eax, [ebp - 0x214]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x460b73
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x460752
mov eax, dword [ebp - 0x470]
nop dword [eax]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x460730
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x460720
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x460759
mov eax, dword [eax]
jmp 0x4606d5
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x460836
test esi, esi
je 0x46082e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x46082e
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x46082e
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4607ea
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4607cd
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x4607c0
cmp esi, 0xc626c590
je 0x460807
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x46082e
mov esi, dword [ebp - 0x45c]
jmp 0x4607b0
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x460830
xor edi, edi
mov dword [0x181cfd0], edi
mov eax, dword [0x900a28]
xor esi, esi
movq xmm0, qword [0x900a20]
mov dword [ebp - 0x1fc], eax
mov ax, word [0x900a2c]
movq qword [ebp - 0x204], xmm0
mov word [ebp - 0x1f8], ax
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x204], cx
inc esi
cmp esi, 7
jl 0x460860
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x460b73
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x460929
mov eax, dword [ebp - 0x470]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x460907
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x4608f7
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x46092d
mov eax, dword [eax]
jmp 0x4608af
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x460a09
test esi, esi
je 0x460a01
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x460a01
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x460a01
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4609bd
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4609a0
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x460993
cmp esi, 0xc626c590
je 0x4609da
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x460a01
mov esi, dword [ebp - 0x45c]
jmp 0x460983
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x460a03
xor edi, edi
mov dword [0x181cfd0], edi
movups xmm0, xmmword [0x900a10]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x1b4], xmm0
test ax, ax
je 0x460b5d
xor esi, esi
cmp dword [0x1816094], 2
jl 0x460b34
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, 0x900a10
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x1b4], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x1ac]
pxor xmm1, xmm0
movq qword [ebp - 0x1ac], xmm1
jmp 0x460b5d
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x1b4], cx
inc esi
cmp esi, 8
jl 0x460b34
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
jne 0x460bc2
mov esi, dword [ebp - 0x47c]
mov ecx, esi
push 0x80
or dword [esi + 4], 0x80
call fcn.0045cb70
test eax, eax
jne 0x460bc2
push 0x80
lea ecx, [ebp - 0x518]
call fcn.00488400
lea eax, [ebp - 0x518]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [esi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x518]
mov byte [ebp - 4], 0xb
call fcn.00488820
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x460c48
mov eax, dword [ebp - 0x470]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x460c26
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x460c16
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x460c4c
mov eax, dword [eax]
jmp 0x460bce
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x460d28
test esi, esi
je 0x460d20
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x460d20
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x460d20
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460cdc
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x460cbf
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x460cb2
cmp esi, 0xc626c590
je 0x460cf9
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x460d20
mov esi, dword [ebp - 0x45c]
jmp 0x460ca2
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x460d22
xor edi, edi
mov dword [0x181cfd0], edi
cmp word [0x900a0e], 0
movups xmm0, xmmword [0x9009fc]
mov eax, dword [0x900a0c]
mov dword [ebp - 0x3f4], eax
movups xmmword [ebp - 0x404], xmm0
je 0x460d79
xor esi, esi
nop dword [eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x404], cx
inc esi
cmp esi, 0xa
jl 0x460d50
lea eax, [ebp - 0x404]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
je 0x460f5f
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x470], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x460e19
mov eax, dword [ebp - 0x470]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x460df7
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x45c]
jne 0x460de7
mov eax, dword [ebp - 0x460]
cmp esi, 0x8ec4c73b
je 0x460e1d
mov eax, dword [eax]
jmp 0x460d9f
mov edi, dword [0x181cfd0]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x45c], esi
test edi, edi
jne 0x460ef9
test esi, esi
je 0x460ef1
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x460], ecx
cmp ecx, esi
je 0x460ef1
xor eax, eax
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x460ef1
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460ead
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x460e90
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x460e83
cmp esi, 0xc626c590
je 0x460eca
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x460]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x460ef1
mov esi, dword [ebp - 0x45c]
jmp 0x460e73
mov eax, dword [ebp - 0x460]
mov esi, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x460ef3
xor edi, edi
mov dword [0x181cfd0], edi
cmp word [0x9009fa], 0
movups xmm0, xmmword [0x9009e8]
mov eax, dword [0x9009f8]
mov dword [ebp - 0x3e0], eax
movups xmmword [ebp - 0x3f0], xmm0
je 0x460f49
xor esi, esi
nop
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x3f0], cx
inc esi
cmp esi, 0xa
jl 0x460f20
lea eax, [ebp - 0x3f0]
push eax
mov eax, dword [ebp - 0x46c]
push dword [eax + 4]
call edi
test eax, eax
jne 0x460fa5
mov esi, dword [ebp - 0x47c]
mov ecx, esi
push 0x20
or dword [esi + 4], 0x20
call fcn.0045cb70
test eax, eax
jne 0x460fa5
push 0x20
lea ecx, [ebp - 0x530]
call fcn.00488400
lea eax, [ebp - 0x530]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [esi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x530]
mov byte [ebp - 4], 0xb
call fcn.00488820
mov eax, dword [ebp - 0x46c]
add eax, 0x10
mov dword [ebp - 0x46c], eax
cmp word [eax], 0
jne 0x45e700
push fcn.00406e40
push 5
push 0x18
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 6
push eax
call fcn.005c27a1
push fcn.00406e40
push 7
push 0x18
lea eax, [ebp - 0xc0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.005c27a1
push dword [ebp - 0x468]
call fcn.006d7710
mov eax, dword [ebp - 0x494]
add esp, 4
test eax, eax
je 0x461012
push eax
call dword [ebp - 0x474]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x480], 0
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x490], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0x480]
mov dword [ebp - 0x480], ecx
test ecx, ecx
je 0x46109c
mov eax, dword [ebp - 0x490]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x461076
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x480]
jne 0x461066
mov eax, dword [ebp - 0x474]
cmp esi, 0xa3e6f6c3
je 0x461238
mov eax, dword [eax]
jmp 0x46101e
mov eax, dword [ebp - 0x494]
test eax, eax
je 0x4610b4
push eax
call dword [ebp - 0x474]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx edx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and edx, 0xfffffffe
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x45c], 0
lea ecx, [edx + edi]
inc edx
shr edx, 1
cmp edi, ecx
cmova edx, dword [ebp - 0x460]
mov dword [ebp - 0x460], edx
test edx, edx
je 0x46113a
mov eax, dword [ebp - 0x45c]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x461118
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x460]
jne 0x461108
mov eax, dword [ebp - 0x474]
cmp esi, 0xa3e6f6c3
je 0x46113e
mov eax, dword [eax]
jmp 0x4610c0
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d0cc]
mov dword [ebp - 0x460], esi
test eax, eax
jne 0x461229
test esi, esi
je 0x461222
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
xor eax, eax
add ecx, esi
mov dword [ebp - 0x474], ecx
cmp ecx, esi
je 0x461224
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x461222
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4611ca
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4611ad
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x4611a0
cmp esi, 0x2e672dee
je 0x4611e7
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x474]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x461222
mov esi, dword [ebp - 0x460]
jmp 0x461190
mov esi, dword [ebp - 0x474]
mov ecx, dword [ebp - 0x458]
mov edx, dword [ebp - 0x460]
push dword [ebp - 0x478]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x181d0cc], eax
call eax
xor eax, eax
jmp 0x4617e2
xor eax, eax
mov dword [0x181d0cc], eax
push dword [ebp - 0x478]
call eax
xor eax, eax
jmp 0x4617e2
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d0cc]
mov dword [ebp - 0x460], esi
test eax, eax
jne 0x461308
test esi, esi
je 0x461301
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
xor eax, eax
add ecx, esi
mov dword [ebp - 0x474], ecx
cmp ecx, esi
je 0x461303
mov dword [ebp - 0x458], eax
cmp dword [ecx + 0x18], eax
je 0x461301
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4612bd
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4612a0
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x461293
cmp esi, 0x2e672dee
je 0x4612da
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x474]
inc eax
add edi, 4
mov dword [ebp - 0x458], eax
cmp eax, dword [ecx + 0x18]
je 0x461301
mov esi, dword [ebp - 0x460]
jmp 0x461283
mov eax, dword [ebp - 0x474]
mov esi, dword [ebp - 0x460]
mov edx, dword [ebp - 0x458]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x461303
xor eax, eax
mov dword [0x181d0cc], eax
push dword [ebp - 0x478]
call eax
cmp word [0x9009e6], 0
movups xmm0, xmmword [0x9009d4]
mov eax, dword [0x9009e4]
mov dword [ebp - 0x3cc], eax
movups xmmword [ebp - 0x3dc], xmm0
je 0x46135e
xor esi, esi
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x3dc], cx
inc esi
cmp esi, 0xa
jl 0x461335
lea ecx, [ebp - 0x3dc]
call fcn.00486dd0
mov edi, dword [ebp - 0x47c]
cmp eax, 4
jne 0x4613c3
or dword [edi + 4], 0x100
mov ecx, edi
push 0x100
call fcn.0045cb70
test eax, eax
jne 0x4613c3
push 0x100
lea ecx, [ebp - 0x548]
call fcn.00488400
lea eax, [ebp - 0x548]
mov dword [ebp - 4], 0x12
push eax
lea ecx, [edi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x548]
mov dword [ebp - 4], 0xffffffff
call fcn.00488820
cmp word [0x9009d2], 0
movups xmm0, xmmword [0x9009b8]
mov eax, dword [str.1EoPT]
mov dword [ebp - 0x2c8], eax
movups xmmword [ebp - 0x2e0], xmm0
movq xmm0, qword [0x9009c8]
movq qword [ebp - 0x2d0], xmm0
je 0x461539
xor esi, esi
cmp dword [0x1816094], 2
jl 0x461510
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, 0x9009b8
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x2e0], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x2d8]
pxor xmm1, xmm0
movq qword [ebp - 0x2d8], xmm1
nop dword [eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x2e0], cx
inc esi
cmp esi, 0xe
jl 0x461510
lea ecx, [ebp - 0x2e0]
call fcn.00486dd0
cmp eax, 4
jne 0x46158f
or dword [edi + 4], 1
mov ecx, edi
push 1
call fcn.0045cb70
test eax, eax
jne 0x46158f
push 1
lea ecx, [ebp - 0x560]
call fcn.00488400
lea eax, [ebp - 0x560]
mov dword [ebp - 4], 0x13
push eax
lea ecx, [edi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x560]
mov dword [ebp - 4], 0xffffffff
call fcn.00488820
movups xmm0, xmmword [str.ihjxnin_bQO]
pextrw eax, xmm0, 7
movups xmmword [ebp - 0x150], xmm0
test ax, ax
je 0x4616e9
xor esi, esi
cmp dword [0x1816094], 2
jl 0x4616c0
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, str.ihjxnin_bQO
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x150], 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 [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0x148]
pxor xmm1, xmm0
movq qword [ebp - 0x148], xmm1
jmp 0x4616e9
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x150], cx
inc esi
cmp esi, 8
jl 0x4616c0
lea ecx, [ebp - 0x150]
call fcn.00486dd0
cmp eax, 4
jne 0x46173d
or dword [edi + 4], eax
mov ecx, edi
push eax
call fcn.0045cb70
test eax, eax
jne 0x46173d
push 4
lea ecx, [ebp - 0x578]
call fcn.00488400
lea eax, [ebp - 0x578]
mov dword [ebp - 4], 0x14
push eax
lea ecx, [edi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x578]
mov dword [ebp - 4], 0xffffffff
call fcn.00488820
mov eax, dword [0x9009a0]
xor esi, esi
movups xmm0, xmmword [0x900990]
mov dword [ebp - 0x35c], eax
mov ax, word [0x9009a4]
movups xmmword [ebp - 0x36c], xmm0
mov word [ebp - 0x358], ax
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0x36c], cx
inc esi
cmp esi, 0xb
jl 0x461765
lea ecx, [ebp - 0x36c]
call fcn.00486dd0
cmp eax, 4
jne 0x4617dd
or dword [edi + 4], 0x40
mov ecx, edi
push 0x40
call fcn.0045cb70
test eax, eax
jne 0x4617dd
push 0x40
lea ecx, [ebp - 0x5a8]
call fcn.00488400
lea eax, [ebp - 0x5a8]
mov dword [ebp - 4], 0x15
push eax
lea ecx, [edi + 8]
call fcn.004898f0
lea ecx, [ebp - 0x5a8]
call fcn.00488820
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005c22ca
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret