Function at 0x4646f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x82378a
mov eax, dword fs:[0]
push eax
mov eax, 0x11f4
call fcn.005c3530
mov eax, dword [0x93bf44]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [0x181cbec]
mov dword [ebp - 0x1200], edi
mov dword [ebp - 0x1044], 0
mov dword [ebp - 0x103c], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1064]
push 8
push 0x8ffffc
mov dword [ebp - 0x1054], 0
mov dword [ebp - 0x1050], 0xf
mov byte [ebp - 0x1064], 0
call fcn.00406210
lea eax, [ebp - 0x1064]
mov byte [ebp - 4], 1
push eax
mov ecx, 0x181cde0
call fcn.00405210
mov esi, eax
mov ecx, esi
call fcn.00405650
mov ecx, dword [ebp - 0x1040]
mov dword [esi], 0
mov dword [esi + 4], ecx
mov dword [esi + 8], 0
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x1050]
mov dword [ebp - 0x1044], 0
mov dword [ebp - 0x103c], 0
cmp edx, 0x10
jb 0x4647fb
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4647f1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466915
push edx
push ecx
call fcn.005c24d6
add esp, 8
lea ecx, [ebp - 0x1044]
mov dword [ebp - 0x1054], 0
mov dword [ebp - 0x1050], 0xf
mov byte [ebp - 0x1064], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00406fc0
mov eax, dword [edi + 0x48]
lea esi, [edi + 0x38]
test eax, eax
je 0x464e75
push 0
lea ecx, [ebp - 0x10ac]
call fcn.004884d0
lea ecx, [ebp - 0x1188]
mov dword [ebp - 4], 2
call fcn.0048da10
push 1
lea eax, [ebp - 0x10ac]
mov byte [ebp - 4], 3
push eax
push esi
lea ecx, [ebp - 0x1188]
call fcn.0048f6b0
push 0x900008
lea ecx, [ebp - 0x10ac]
call fcn.00488cd0
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.00489fa0
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1034]
call fcn.004780b0
mov edx, eax
mov byte [ebp - 4], 5
cmp dword [edx + 0x14], 8
jb 0x4648ab
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1018], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4648b6
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0x68c]
call fcn.0040ea60
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x46491a
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x464910
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46691a
push edx
push ecx
call fcn.005c24d6
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1050]
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 7
mov word [ebp - 0x1034], ax
cmp edx, 0x10
jb 0x464975
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46496b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46691f
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x900010
lea ecx, [ebp - 0x10ac]
call fcn.00488cd0
push 0x90001c
mov ecx, eax
call fcn.00488cd0
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.00489fa0
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1034]
call fcn.004780b0
mov edx, eax
mov byte [ebp - 4], 7
cmp dword [edx + 0x14], 8
jb 0x4649be
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1018], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4649d0
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0x9c]
call fcn.0040ea60
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x464a34
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x464a2a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466924
push edx
push ecx
call fcn.005c24d6
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1050]
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 7
mov word [ebp - 0x1034], ax
cmp edx, 0x10
jb 0x464a8f
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x464a85
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466929
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x900010
lea ecx, [ebp - 0x10ac]
call fcn.00488cd0
push 0x900020
mov ecx, eax
call fcn.00488cd0
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.00489fa0
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1034]
call fcn.004780b0
mov edx, eax
mov byte [ebp - 4], 9
cmp dword [edx + 0x14], 8
jb 0x464ad8
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1018], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x464ae3
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0xb4]
call fcn.0040ea60
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x464b47
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x464b3d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46692e
push edx
push ecx
call fcn.005c24d6
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1050]
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 7
mov word [ebp - 0x1034], ax
cmp edx, 0x10
jb 0x464ba2
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x464b98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466933
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x90002c
lea ecx, [ebp - 0x10ac]
call fcn.00488cd0
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.00489fa0
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1034]
call fcn.004780b0
mov edx, eax
mov byte [ebp - 4], 0xb
cmp dword [edx + 0x14], 8
jb 0x464bdf
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x103c], 0
xor eax, eax
mov dword [ebp - 0x1038], 7
mov word [ebp - 0x104c], ax
lea eax, [ecx + 2]
mov dword [ebp - 0x1018], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x464c07
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x104c]
call fcn.0040ea60
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x464c6b
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x464c61
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466938
push edx
push ecx
call fcn.005c24d6
add esp, 8
xor eax, eax
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 7
mov word [ebp - 0x1034], ax
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x1050]
cmp edx, 0x10
jb 0x464cc6
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x464cbc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46693d
push edx
push ecx
call fcn.005c24d6
add esp, 8
cmp dword [esi + 0x14], 0x10
mov eax, esi
mov dword [ebp - 0x1054], 0
mov dword [ebp - 0x1050], 0xf
mov byte [ebp - 0x1064], 0
jb 0x464ceb
mov eax, dword [esi]
mov dword [esi + 0x10], 0
lea ecx, [ebp - 0x104c]
mov byte [eax], 0
cmp dword [ebp - 0x1038], 8
cmovae ecx, dword [ebp - 0x104c]
call fcn.00419fd0
test eax, eax
je 0x464df4
lea ecx, [edi + 0xcc]
lea eax, [ebp - 0x104c]
cmp ecx, eax
je 0x464d40
cmp dword [ebp - 0x1038], 8
push dword [ebp - 0x103c]
cmovae eax, dword [ebp - 0x104c]
push eax
call fcn.0040ea60
xor edi, edi
nop dword [eax]
nop word [eax + eax]
xorps xmm0, xmm0
mov dword [ebp - 0x10dc], 0
xor eax, eax
movlpd qword [ebp - 0x10f4], xmm0
movaps xmm0, xmmword [0x903700]
mov dword [ebp - 0x10d8], 7
mov word [ebp - 0x10ec], ax
mov dword [ebp - 0x10c4], eax
mov dword [ebp - 0x10c0], 7
mov word [ebp - 0x10d4], ax
movups xmmword [ebp - 0x10bc], xmm0
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x104c]
cmp dword [ebp - 0x1038], 8
lea ecx, [ebp - 0x10f4]
push esi
cmovae eax, dword [ebp - 0x104c]
push eax
call fcn.0047fa50
test eax, eax
je 0x464dcc
cmp dword [esi + 0x10], 0
jne 0x464de3
lea ecx, [ebp - 0x10f4]
call fcn.0047f010
inc edi
cmp edi, 0xa
jl 0x464d50
jmp 0x464dee
lea ecx, [ebp - 0x10f4]
call fcn.0047f010
mov edi, dword [ebp - 0x1200]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1038]
cmp edx, 8
jb 0x464e38
mov ecx, dword [ebp - 0x104c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x464e2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466942
push edx
push ecx
call fcn.005c24d6
add esp, 8
xor eax, eax
mov dword [ebp - 0x103c], 0
lea ecx, [ebp - 0x1188]
mov dword [ebp - 0x1038], 7
mov word [ebp - 0x104c], ax
call fcn.00464420
lea ecx, [ebp - 0x10ac]
mov dword [ebp - 4], 0xffffffff
call fcn.00488820
mov eax, dword [esi + 0x10]
cmp eax, 0xa
jbe 0x4668ef
push 0
lea ecx, [ebp - 0x1064]
call fcn.004884d0
lea ecx, [ebp - 0x11fc]
mov dword [ebp - 4], 0x10
call fcn.0048da10
push 1
lea eax, [ebp - 0x1064]
mov byte [ebp - 4], 0x11
push eax
push esi
lea ecx, [ebp - 0x11fc]
call fcn.0048f6b0
push 0x900038
lea ecx, [ebp - 0x1064]
call fcn.00488cd0
lea ecx, [ebp - 0x1034]
push ecx
mov ecx, eax
call fcn.00489fa0
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x12
cmp dword [edi], 0
jne 0x464f02
mov esi, 7
mov dword [ebp - 0x109c], 0
xor eax, eax
mov dword [ebp - 0x1098], esi
mov word [ebp - 0x10ac], ax
jmp 0x464f42
lea ecx, [ebp - 0x10fc]
call fcn.00422760
mov byte [ebp - 4], 0x13
cmp dword [esi + 0x14], 0x10
jb 0x464f19
mov esi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x10fc]
add eax, esi
push eax
push esi
lea eax, [ebp - 0x10ac]
push eax
call fcn.00435f50
lea ecx, [ebp - 0x10fc]
call fcn.00422a40
mov esi, dword [ebp - 0x1098]
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x1020]
cmp edx, 0x10
jb 0x464f80
mov ecx, dword [ebp - 0x1034]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x464f76
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466947
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov eax, dword [0x8fedbc]
lea edi, [ebp - 0x10ac]
cmp esi, 8
mov dword [ebp - 0x101c], eax
mov eax, dword [0x8fedc0]
mov ecx, 4
cmovae edi, dword [ebp - 0x10ac]
cmp byte [0x8fedc3], 0
mov esi, dword [0x1816094]
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 0xf
mov byte [ebp - 0x1034], 0
mov dword [ebp - 0x1018], eax
je 0x465127
xor edx, edx
mov dword [ebp - 0x1200], edx
cmp esi, 2
jl 0x4650f0
movaps xmm2, xmmword [0x9036b0]
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 [0x8fedbc]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x903730]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x101c], 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 - 0x1018], xmm1
jmp 0x465127
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x4650f0
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x465150
push edi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.0046c680
cmp byte [0x8fedc3], 0
mov eax, dword [0x8fedbc]
mov ecx, dword [0x8fedc0]
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1018], ecx
je 0x465317
xor edx, edx
mov dword [ebp - 0x1200], edx
cmp esi, 2
jl 0x4652e0
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm5, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
movd xmm6, eax
mov eax, 0x1f
psrad xmm1, xmm6
movaps xmm0, xmm1
movd xmm7, eax
mov eax, dword [0x903730]
psrld xmm0, xmm7
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]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x8fedbc]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x101c], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movaps xmm0, xmm1
psrld xmm0, xmm7
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
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x465317
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x4652e0
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x465340
push 0
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x1114]
push eax
call fcn.0046c7e0
lea edx, [ebp - 0x1114]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1034]
call fcn.00471600
lea edx, [ebp - 0x1034]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x104c]
call fcn.00471470
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x465401
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4653f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46694c
push edx
push ecx
call fcn.005c24d6
add esp, 8
lea ecx, [ebp - 0x1114]
call fcn.00406e40
movups xmm0, xmmword [ebp - 0x104c]
sub esp, 0x18
lea eax, [ebp - 0x1114]
mov ecx, esp
movups xmmword [ebp - 0x1114], xmm0
movq xmm0, qword [ebp - 0x103c]
push eax
movq qword [ebp - 0x1104], xmm0
call fcn.00404770
lea ecx, [ebp - 0x1094]
call fcn.00418ee0
push 0x1000
lea eax, [ebp - 0x1010]
mov byte [ebp - 4], 0x18
push 0
push eax
call fcn.006ce4d0
add esp, 0x24
lea ecx, [ebp - 0x1094]
cmp dword [ebp - 0x1080], 8
lea edx, [ebp - 0x1010]
cmovae ecx, dword [ebp - 0x1094]
call fcn.0041cba0
test eax, eax
je 0x4654c2
lea eax, [ebp - 0x1010]
push eax
call dword [0x83c5b8]
test eax, eax
jle 0x4654c2
lea ecx, [ebp - 0x1010]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4654a0
sub ecx, edx
lea eax, [ebp - 0x1010]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x1094]
call fcn.0040ea60
sub esp, 0x18
lea eax, [ebp - 0x1094]
mov ecx, esp
push eax
call fcn.00404770
lea ecx, [ebp - 0x1034]
call fcn.0041a490
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0x1094]
cmp eax, esi
je 0x46551e
mov ecx, eax
call fcn.00406e40
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x1094], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1084], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x46555e
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x465554
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466951
push edx
push ecx
call fcn.005c24d6
add esp, 8
cmp dword [ebp - 0x1080], 8
lea esi, [ebp - 0x1094]
movq xmm0, qword [0x900890]
cmovae esi, dword [ebp - 0x1094]
xor edx, edx
mov al, byte [0x900898]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x465595
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
nop
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x4655f0
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.0046c680
push 0x900040
lea ecx, [ebp - 0x1064]
call fcn.00488cd0
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00489fa0
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x19
cmp dword [edi], 0
jne 0x465687
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x4656c7
lea ecx, [ebp - 0x10fc]
call fcn.00422760
mov byte [ebp - 4], 0x1a
cmp dword [esi + 0x14], 0x10
jb 0x46569e
mov esi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x10fc]
add eax, esi
push eax
push esi
lea eax, [ebp - 0x1034]
push eax
call fcn.00435f50
lea ecx, [ebp - 0x10fc]
call fcn.00422a40
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x1b
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8ff324]
cmp eax, 8
mov al, byte [0x8ff32c]
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x465700
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x465760
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.0046c680
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x4657ef
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4657e5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466956
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x46582d
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x465823
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46695b
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x90004c
lea ecx, [ebp - 0x1064]
call fcn.00488cd0
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00489fa0
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x1c
cmp dword [edi], 0
jne 0x465879
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x4658b9
lea ecx, [ebp - 0x10fc]
call fcn.00422760
mov byte [ebp - 4], 0x1d
cmp dword [esi + 0x14], 0x10
jb 0x465890
mov esi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x10fc]
add eax, esi
push eax
push esi
lea eax, [ebp - 0x1034]
push eax
call fcn.00435f50
lea ecx, [ebp - 0x10fc]
call fcn.00422a40
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x1e
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8fed70]
cmp eax, 8
mov al, byte [0x8fed78]
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x4658f0
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x465950
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.0046c680
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x4659df
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4659d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466960
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x465a1d
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x465a13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466965
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x900908
lea ecx, [ebp - 0x1064]
call fcn.00488cd0
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00489fa0
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x1f
cmp dword [edi], 0
jne 0x465a69
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x465aa9
lea ecx, [ebp - 0x10fc]
call fcn.00422760
mov byte [ebp - 4], 0x20
cmp dword [esi + 0x14], 0x10
jb 0x465a80
mov esi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x10fc]
add eax, esi
push eax
push esi
lea eax, [ebp - 0x1034]
push eax
call fcn.00435f50
lea ecx, [ebp - 0x10fc]
call fcn.00422a40
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x21
lea esi, [ebp - 0x1034]
mov ecx, dword [0x900934]
cmp eax, 8
mov eax, dword [0x900930]
cmovae esi, dword [ebp - 0x1034]
cmp byte [0x900937], 0
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1018], ecx
je 0x465c3d
xor edx, edx
cmp dword [0x1816094], 2
mov dword [ebp - 0x1200], edx
jl 0x465c06
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm5, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
movd xmm6, eax
mov eax, 0x1f
psrad xmm1, xmm6
movaps xmm0, xmm1
movd xmm7, eax
mov eax, dword [0x903730]
psrld xmm0, xmm7
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]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x900930]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x101c], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movaps xmm0, xmm1
psrld xmm0, xmm7
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
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x465c3d
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x465c06
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x465c60
push esi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.0046c680
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x465cef
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x465ce5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46696a
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x465d2d
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x465d23
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46696f
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x900058
lea ecx, [ebp - 0x1064]
call fcn.00488cd0
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00489fa0
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x22
cmp dword [edi], 0
jne 0x465d79
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x465db9
lea ecx, [ebp - 0x10fc]
call fcn.00422760
mov byte [ebp - 4], 0x23
cmp dword [esi + 0x14], 0x10
jb 0x465d90
mov esi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x10fc]
add eax, esi
push eax
push esi
lea eax, [ebp - 0x1034]
push eax
call fcn.00435f50
lea ecx, [ebp - 0x10fc]
call fcn.00422a40
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x24
lea esi, [ebp - 0x1034]
mov ecx, dword [0x90092c]
cmp eax, 8
mov eax, dword [0x900928]
cmovae esi, dword [ebp - 0x1034]
cmp byte [0x90092f], 0
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1018], ecx
je 0x465f4d
xor edx, edx
cmp dword [0x1816094], 2
mov dword [ebp - 0x1200], edx
jl 0x465f16
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm5, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
movd xmm6, eax
mov eax, 0x1f
psrad xmm1, xmm6
movaps xmm0, xmm1
movd xmm7, eax
mov eax, dword [0x903730]
psrld xmm0, xmm7
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]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x900928]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x101c], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movaps xmm0, xmm1
psrld xmm0, xmm7
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
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x465f4d
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x465f16
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x465f70
push esi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.0046c680
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x465fff
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x465ff5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466974
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x46603d
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x466033
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466979
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x900060
lea ecx, [ebp - 0x1064]
call fcn.00488cd0
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00489fa0
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x25
cmp dword [edi], 0
jne 0x466089
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x4660c9
lea ecx, [ebp - 0x10fc]
call fcn.00422760
mov byte [ebp - 4], 0x26
cmp dword [esi + 0x14], 0x10
jb 0x4660a0
mov esi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x10fc]
add eax, esi
push eax
push esi
lea eax, [ebp - 0x1034]
push eax
call fcn.00435f50
lea ecx, [ebp - 0x10fc]
call fcn.00422a40
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x27
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x90091c]
cmp eax, 8
mov al, byte [0x900924]
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x466100
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x466160
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.0046c680
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x4661ef
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4661e5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46697e
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x46622d
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x466223
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466983
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x90006c
lea ecx, [ebp - 0x1064]
call fcn.00488cd0
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00489fa0
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x28
cmp dword [edi], 0
jne 0x466279
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x4662b9
lea ecx, [ebp - 0x10fc]
call fcn.00422760
mov byte [ebp - 4], 0x29
cmp dword [esi + 0x14], 0x10
jb 0x466290
mov esi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x10fc]
add eax, esi
push eax
push esi
lea eax, [ebp - 0x1034]
push eax
call fcn.00435f50
lea ecx, [ebp - 0x10fc]
call fcn.00422a40
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x2a
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x900910]
cmp eax, 8
mov al, byte [0x900918]
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x4662f0
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x466350
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.0046c680
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x4663df
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4663d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466988
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x46641d
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x466413
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46698d
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x900078
lea ecx, [ebp - 0x1064]
call fcn.00488cd0
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00489fa0
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x2b
cmp dword [edi], 0
jne 0x466469
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x4664a9
lea ecx, [ebp - 0x10fc]
call fcn.00422760
mov byte [ebp - 4], 0x2c
cmp dword [esi + 0x14], 0x10
jb 0x466480
mov esi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x10fc]
add eax, esi
push eax
push esi
lea eax, [ebp - 0x1034]
push eax
call fcn.00435f50
lea ecx, [ebp - 0x10fc]
call fcn.00422a40
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x2d
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8fedb0]
cmp eax, 8
mov ax, word [0x8fedb8]
cmovae esi, dword [ebp - 0x1034]
movq qword [ebp - 0x101c], xmm0
mov word [ebp - 0x1014], ax
test ah, ah
je 0x46651d
xor edx, edx
mov dword [ebp - 0x1200], edx
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 0xa
jl 0x4664e6
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x466540
push esi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.0046c680
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x4665cf
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4665c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466992
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x46660d
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x466603
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x466997
push edx
push ecx
call fcn.005c24d6
add esp, 8
push 0x900084
lea ecx, [ebp - 0x1064]
call fcn.00488cd0
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00489fa0
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x2e
cmp dword [edi], 0
jne 0x466659
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x466699
lea ecx, [ebp - 0x10fc]
call fcn.00422760
mov byte [ebp - 4], 0x2f
cmp dword [esi + 0x14], 0x10
jb 0x466670
mov esi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x10fc]
add eax, esi
push eax
push esi
lea eax, [ebp - 0x1034]
push eax
call fcn.00435f50
lea ecx, [ebp - 0x10fc]
call fcn.00422a40
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x30
lea esi, [ebp - 0x1034]
cmp eax, 8
mov eax, dword [0x8ff73c]
mov dword [ebp - 0x1018], eax
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
mov al, byte [0x8ff740]
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
nop dword [eax + eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1018], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 5
jl 0x4666d0
movq xmm0, qword [0x8fed7c]
xor edx, edx
mov al, byte [0x8fed84]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x466730
push esi
lea eax, [ebp - 0x1018]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.0046c680
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x4667bb
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4667b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46699c
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x4667f5
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4667eb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4669a1
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov edx, dword [ebp - 0x1080]
cmp edx, 8
jb 0x466835
mov ecx, dword [ebp - 0x1094]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46682b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4669a6
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov edx, dword [ebp - 0x1100]
xor eax, eax
mov dword [ebp - 0x1084], 0
mov dword [ebp - 0x1080], 7
mov word [ebp - 0x1094], ax
cmp edx, 8
jb 0x466892
mov ecx, dword [ebp - 0x1114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x466888
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4669ab
push edx
push ecx
call fcn.005c24d6
add esp, 8
mov edx, dword [ebp - 0x1098]
cmp edx, 8
jb 0x4668d2
mov ecx, dword [ebp - 0x10ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4668c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4669b0
push edx
push ecx
call fcn.005c24d6
add esp, 8
lea ecx, [ebp - 0x11fc]
call fcn.00464420
lea ecx, [ebp - 0x1064]
call fcn.00488820
mov eax, 1
jmp 0x4668fa
push 9
mov ecx, edi
call fcn.004692b0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c22ca
mov esp, ebp
pop ebp
ret
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
call fcn.006d1429
int3