Function at 0x43df90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7f8ffa
mov eax, dword fs:[0]
push eax
mov eax, 0x11f4
call fcn.0059b630
mov eax, dword [0x90df34]
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 [0x1808d24]
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 0x8d3c1c
mov dword [ebp - 0x1054], 0
mov dword [ebp - 0x1050], 0xf
mov byte [ebp - 0x1064], 0
call fcn.00405b40
lea eax, [ebp - 0x1064]
mov byte [ebp - 4], 1
push eax
mov ecx, 0x1808f18
call fcn.00404b90
mov esi, eax
mov ecx, esi
call fcn.00404fd0
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 0x43e09b
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43e091
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44027c
push edx
push ecx
call fcn.0059a5db
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.004068f0
mov eax, dword [edi + 0x7c]
lea esi, [edi + 0x6c]
test eax, eax
je 0x43e715
push 0
lea ecx, [ebp - 0x10ac]
call fcn.0045fcf0
lea ecx, [ebp - 0x1188]
mov dword [ebp - 4], 2
call fcn.00465aa0
push 1
lea eax, [ebp - 0x10ac]
mov byte [ebp - 4], 3
push eax
push esi
lea ecx, [ebp - 0x1188]
call fcn.00467740
push 0x8d3c28
lea ecx, [ebp - 0x10ac]
call fcn.00460570
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.00461950
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1034]
call fcn.00450ec0
mov edx, eax
mov byte [ebp - 4], 5
cmp dword [edx + 0x14], 8
jb 0x43e14b
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 0x43e156
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0x6c0]
call fcn.0040d850
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43e1ba
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43e1b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440281
push edx
push ecx
call fcn.0059a5db
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 0x43e215
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43e20b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440286
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3c30
lea ecx, [ebp - 0x10ac]
call fcn.00460570
push 0x8d3c3c
mov ecx, eax
call fcn.00460570
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.00461950
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1034]
call fcn.00450ec0
mov edx, eax
mov byte [ebp - 4], 7
cmp dword [edx + 0x14], 8
jb 0x43e25e
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 0x43e270
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0xd0]
call fcn.0040d850
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43e2d4
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43e2ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44028b
push edx
push ecx
call fcn.0059a5db
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 0x43e32f
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43e325
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440290
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3c30
lea ecx, [ebp - 0x10ac]
call fcn.00460570
push 0x8d3c40
mov ecx, eax
call fcn.00460570
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.00461950
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1034]
call fcn.00450ec0
mov edx, eax
mov byte [ebp - 4], 9
cmp dword [edx + 0x14], 8
jb 0x43e378
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 0x43e383
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0xe8]
call fcn.0040d850
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43e3e7
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43e3dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440295
push edx
push ecx
call fcn.0059a5db
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 0x43e442
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43e438
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44029a
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3c4c
lea ecx, [ebp - 0x10ac]
call fcn.00460570
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.00461950
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1034]
call fcn.00450ec0
mov edx, eax
mov byte [ebp - 4], 0xb
cmp dword [edx + 0x14], 8
jb 0x43e47f
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 0x43e4a7
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x104c]
call fcn.0040d850
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43e50b
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43e501
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44029f
push edx
push ecx
call fcn.0059a5db
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 0x43e566
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43e55c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402a4
push edx
push ecx
call fcn.0059a5db
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 0x43e58b
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.00414970
test eax, eax
je 0x43e694
lea ecx, [edi + 0x100]
lea eax, [ebp - 0x104c]
cmp ecx, eax
je 0x43e5e0
cmp dword [ebp - 0x1038], 8
push dword [ebp - 0x103c]
cmovae eax, dword [ebp - 0x104c]
push eax
call fcn.0040d850
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 [0x8d6ca0]
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.00456990
test eax, eax
je 0x43e66c
cmp dword [esi + 0x10], 0
jne 0x43e683
lea ecx, [ebp - 0x10f4]
call fcn.00456020
inc edi
cmp edi, 0xa
jl 0x43e5f0
jmp 0x43e68e
lea ecx, [ebp - 0x10f4]
call fcn.00456020
mov edi, dword [ebp - 0x1200]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1038]
cmp edx, 8
jb 0x43e6d8
mov ecx, dword [ebp - 0x104c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43e6ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402a9
push edx
push ecx
call fcn.0059a5db
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.0043dcc0
lea ecx, [ebp - 0x10ac]
mov dword [ebp - 4], 0xffffffff
call fcn.004600c0
mov eax, dword [esi + 0x10]
cmp eax, 0xa
jbe 0x440256
push 0
lea ecx, [ebp - 0x1064]
call fcn.0045fcf0
lea ecx, [ebp - 0x11fc]
mov dword [ebp - 4], 0x10
call fcn.00465aa0
push 1
lea eax, [ebp - 0x1064]
mov byte [ebp - 4], 0x11
push eax
push esi
lea ecx, [ebp - 0x11fc]
call fcn.00467740
push 0x8d3c58
lea ecx, [ebp - 0x1064]
call fcn.00460570
lea ecx, [ebp - 0x1034]
push ecx
mov ecx, eax
call fcn.00461950
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x12
cmp dword [edi], 0
jne 0x43e7a2
mov esi, 7
mov dword [ebp - 0x109c], 0
xor eax, eax
mov dword [ebp - 0x1098], esi
mov word [ebp - 0x10ac], ax
jmp 0x43e7e2
lea ecx, [ebp - 0x10fc]
call fcn.00417380
mov byte [ebp - 4], 0x13
cmp dword [esi + 0x14], 0x10
jb 0x43e7b9
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.0041ec10
lea ecx, [ebp - 0x10fc]
call fcn.00417660
mov esi, dword [ebp - 0x1098]
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x1020]
cmp edx, 0x10
jb 0x43e820
mov ecx, dword [ebp - 0x1034]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43e816
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402ae
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov eax, dword [0x8d2b8c]
lea edi, [ebp - 0x10ac]
cmp esi, 8
mov dword [ebp - 0x101c], eax
mov eax, dword [0x8d2b90]
mov ecx, 5
cmovae edi, dword [ebp - 0x10ac]
cmp byte [0x8d2b93], 0
mov esi, dword [0x18021f4]
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 0xf
mov byte [ebp - 0x1034], 0
mov dword [ebp - 0x1018], eax
je 0x43e9dd
xor edx, edx
mov dword [ebp - 0x1200], edx
cmp esi, 2
jl 0x43e9a0
movaps xmm2, xmmword [0x8d6c60]
movaps xmm4, xmmword [0x8d6d00]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm4
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, ecx
psrad xmm1, xmm5
mov ecx, 0x1f
movaps xmm0, xmm1
movd xmm6, ecx
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x8d6c70]
paddd xmm2, xmmword [0x8d6c60]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
movd xmm0, dword [0x8d2b8c]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x8d6ce0]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x101c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm4
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x8d6ce0]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x43e9dd
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x43e9a0
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43ea00
push edi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00445120
cmp byte [0x8d2b93], 0
mov eax, dword [0x8d2b8c]
mov ecx, dword [0x8d2b90]
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1018], ecx
je 0x43ebdd
xor edx, edx
mov dword [ebp - 0x1200], edx
cmp esi, 2
jl 0x43eba0
movaps xmm2, xmmword [0x8d6c60]
mov eax, 5
movaps xmm5, xmmword [0x8d6d00]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm6, eax
psrad xmm1, xmm6
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm7, eax
mov eax, dword [0x8d6ce0]
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x8d6c70]
paddd xmm2, xmmword [0x8d6c60]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x8d2b8c]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x101c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x43ebdd
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x43eba0
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43ec00
push ecx
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x1114]
push eax
call fcn.00445360
lea edx, [ebp - 0x1114]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1034]
call fcn.00449380
lea edx, [ebp - 0x1034]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x104c]
call fcn.004491f0
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43ecc6
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43ecbc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402b3
push edx
push ecx
call fcn.0059a5db
add esp, 8
lea ecx, [ebp - 0x1114]
call fcn.00406770
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.004040f0
lea ecx, [ebp - 0x1094]
call fcn.00414290
push 0x1000
lea eax, [ebp - 0x1010]
mov byte [ebp - 4], 0x18
push 0
push eax
call fcn.006a4bc0
add esp, 0x24
lea ecx, [ebp - 0x1094]
cmp dword [ebp - 0x1080], 8
lea edx, [ebp - 0x1010]
cmovae ecx, dword [ebp - 0x1094]
call fcn.00414fa0
test eax, eax
je 0x43ed84
lea eax, [ebp - 0x1010]
push eax
call dword [0x811388]
test eax, eax
jle 0x43ed84
lea ecx, [ebp - 0x1010]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ed62
sub ecx, edx
lea eax, [ebp - 0x1010]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x1094]
call fcn.0040d850
sub esp, 0x18
lea eax, [ebp - 0x1094]
mov ecx, esp
push eax
call fcn.004040f0
lea ecx, [ebp - 0x1034]
call fcn.00414af0
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0x1094]
cmp eax, esi
je 0x43ede0
mov ecx, eax
call fcn.00406770
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 0x43ee20
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43ee16
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402b8
push edx
push ecx
call fcn.0059a5db
add esp, 8
cmp dword [ebp - 0x1080], 8
lea esi, [ebp - 0x1094]
movq xmm0, qword [0x8d43f4]
cmovae esi, dword [ebp - 0x1094]
xor edx, edx
mov al, byte [0x8d43fc]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43ee60
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43eec0
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00445120
push 0x8d3c60
lea ecx, [ebp - 0x1064]
call fcn.00460570
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00461950
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x19
cmp dword [edi], 0
jne 0x43ef5d
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43ef9d
lea ecx, [ebp - 0x10fc]
call fcn.00417380
mov byte [ebp - 4], 0x1a
cmp dword [esi + 0x14], 0x10
jb 0x43ef74
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.0041ec10
lea ecx, [ebp - 0x10fc]
call fcn.00417660
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x1b
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8d3070]
cmp eax, 8
mov al, byte [0x8d3078]
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop dword [eax]
nop dword [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43efe0
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43f040
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00445120
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43f0d5
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f0cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402bd
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43f113
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43f109
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402c2
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3c6c
lea ecx, [ebp - 0x1064]
call fcn.00460570
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00461950
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x1c
cmp dword [edi], 0
jne 0x43f15f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43f19f
lea ecx, [ebp - 0x10fc]
call fcn.00417380
mov byte [ebp - 4], 0x1d
cmp dword [esi + 0x14], 0x10
jb 0x43f176
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.0041ec10
lea ecx, [ebp - 0x10fc]
call fcn.00417660
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x1e
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8d2b40]
cmp eax, 8
mov al, byte [0x8d2b48]
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43f1e0
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43f240
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00445120
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43f2d5
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f2cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402c7
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43f313
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43f309
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402cc
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d43c4
lea ecx, [ebp - 0x1064]
call fcn.00460570
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00461950
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x1f
cmp dword [edi], 0
jne 0x43f35f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43f39f
lea ecx, [ebp - 0x10fc]
call fcn.00417380
mov byte [ebp - 4], 0x20
cmp dword [esi + 0x14], 0x10
jb 0x43f376
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.0041ec10
lea ecx, [ebp - 0x10fc]
call fcn.00417660
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x21
lea esi, [ebp - 0x1034]
mov ecx, dword [0x8d43f0]
cmp eax, 8
mov eax, dword [0x8d43ec]
cmovae esi, dword [ebp - 0x1034]
cmp byte [0x8d43f3], 0
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1018], ecx
je 0x43f54d
xor edx, edx
cmp dword [0x18021f4], 2
mov dword [ebp - 0x1200], edx
jl 0x43f510
movaps xmm2, xmmword [0x8d6c60]
mov eax, 5
movaps xmm5, xmmword [0x8d6d00]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm6, eax
psrad xmm1, xmm6
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm7, eax
mov eax, dword [0x8d6ce0]
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x8d6c70]
paddd xmm2, xmmword [0x8d6c60]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x8d43ec]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x101c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x43f54d
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x43f510
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43f570
push esi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00445120
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43f605
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f5fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402d1
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43f643
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43f639
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402d6
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3c78
lea ecx, [ebp - 0x1064]
call fcn.00460570
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00461950
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x22
cmp dword [edi], 0
jne 0x43f68f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43f6cf
lea ecx, [ebp - 0x10fc]
call fcn.00417380
mov byte [ebp - 4], 0x23
cmp dword [esi + 0x14], 0x10
jb 0x43f6a6
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.0041ec10
lea ecx, [ebp - 0x10fc]
call fcn.00417660
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x24
lea esi, [ebp - 0x1034]
mov ecx, dword [0x8d43e8]
cmp eax, 8
mov eax, dword [0x8d43e4]
cmovae esi, dword [ebp - 0x1034]
cmp byte [0x8d43eb], 0
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1018], ecx
je 0x43f87d
xor edx, edx
cmp dword [0x18021f4], 2
mov dword [ebp - 0x1200], edx
jl 0x43f840
movaps xmm2, xmmword [0x8d6c60]
mov eax, 5
movaps xmm5, xmmword [0x8d6d00]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm6, eax
psrad xmm1, xmm6
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm7, eax
mov eax, dword [0x8d6ce0]
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x8d6c70]
paddd xmm2, xmmword [0x8d6c60]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x8d43e4]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x101c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
pmuldq xmm1, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d6c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d6cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x43f87d
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x43f840
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43f8a0
push esi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00445120
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43f935
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43f92b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402db
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43f973
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43f969
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402e0
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3c80
lea ecx, [ebp - 0x1064]
call fcn.00460570
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00461950
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x25
cmp dword [edi], 0
jne 0x43f9bf
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43f9ff
lea ecx, [ebp - 0x10fc]
call fcn.00417380
mov byte [ebp - 4], 0x26
cmp dword [esi + 0x14], 0x10
jb 0x43f9d6
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.0041ec10
lea ecx, [ebp - 0x10fc]
call fcn.00417660
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x27
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8d43d8]
cmp eax, 8
mov al, byte [0x8d43e0]
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43fa40
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43faa0
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00445120
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43fb35
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43fb2b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402e5
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43fb73
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43fb69
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402ea
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3c8c
lea ecx, [ebp - 0x1064]
call fcn.00460570
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00461950
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x28
cmp dword [edi], 0
jne 0x43fbbf
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43fbff
lea ecx, [ebp - 0x10fc]
call fcn.00417380
mov byte [ebp - 4], 0x29
cmp dword [esi + 0x14], 0x10
jb 0x43fbd6
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.0041ec10
lea ecx, [ebp - 0x10fc]
call fcn.00417660
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x2a
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8d43cc]
cmp eax, 8
mov al, byte [0x8d43d4]
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43fc40
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43fca0
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00445120
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43fd35
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43fd2b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402ef
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43fd73
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43fd69
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402f4
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3c98
lea ecx, [ebp - 0x1064]
call fcn.00460570
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00461950
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x2b
cmp dword [edi], 0
jne 0x43fdbf
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43fdff
lea ecx, [ebp - 0x10fc]
call fcn.00417380
mov byte [ebp - 4], 0x2c
cmp dword [esi + 0x14], 0x10
jb 0x43fdd6
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.0041ec10
lea ecx, [ebp - 0x10fc]
call fcn.00417660
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x2d
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8d2b80]
cmp eax, 8
mov ax, word [0x8d2b88]
cmovae esi, dword [ebp - 0x1034]
movq qword [ebp - 0x101c], xmm0
mov word [ebp - 0x1014], ax
test ah, ah
je 0x43fe7d
xor edx, edx
mov dword [ebp - 0x1200], edx
nop dword [eax]
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 0xa
jl 0x43fe40
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43fea0
push esi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00445120
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43ff35
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43ff2b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402f9
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43ff73
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43ff69
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4402fe
push edx
push ecx
call fcn.0059a5db
add esp, 8
push 0x8d3ca4
lea ecx, [ebp - 0x1064]
call fcn.00460570
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.00461950
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x2e
cmp dword [edi], 0
jne 0x43ffbf
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43ffff
lea ecx, [ebp - 0x10fc]
call fcn.00417380
mov byte [ebp - 4], 0x2f
cmp dword [esi + 0x14], 0x10
jb 0x43ffd6
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.0041ec10
lea ecx, [ebp - 0x10fc]
call fcn.00417660
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x30
lea esi, [ebp - 0x1034]
cmp eax, 8
mov eax, dword [0x8d3444]
mov dword [ebp - 0x1018], eax
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
mov al, byte [0x8d3448]
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1018], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 5
jl 0x440031
movq xmm0, qword [0x8d2b4c]
xor edx, edx
mov al, byte [0x8d2b54]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x1200]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1200]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x440091
push esi
lea eax, [ebp - 0x1018]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00445120
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x440122
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x440118
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440303
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x44015c
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x440152
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440308
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov edx, dword [ebp - 0x1080]
cmp edx, 8
jb 0x44019c
mov ecx, dword [ebp - 0x1094]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x440192
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44030d
push edx
push ecx
call fcn.0059a5db
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 0x4401f9
mov ecx, dword [ebp - 0x1114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4401ef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440312
push edx
push ecx
call fcn.0059a5db
add esp, 8
mov edx, dword [ebp - 0x1098]
cmp edx, 8
jb 0x440239
mov ecx, dword [ebp - 0x10ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44022f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x440317
push edx
push ecx
call fcn.0059a5db
add esp, 8
lea ecx, [ebp - 0x11fc]
call fcn.0043dcc0
lea ecx, [ebp - 0x1064]
call fcn.004600c0
mov eax, 1
jmp 0x440261
push 9
mov ecx, edi
call fcn.00442590
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.0059a3cf
mov esp, ebp
pop ebp
ret
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
call fcn.006a7c79
int3