Function at 0x439c40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7f768a
mov eax, dword fs:[0]
push eax
mov eax, 0x11f4
call fcn.0047a570
mov eax, dword [0x908074]
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 [0x181e118]
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 0x8cec24
mov dword [ebp - 0x1054], 0
mov dword [ebp - 0x1050], 0xf
mov byte [ebp - 0x1064], 0
call fcn.00406070
lea eax, [ebp - 0x1064]
mov byte [ebp - 4], 1
push eax
mov ecx, 0x181e310
call fcn.00405060
mov esi, eax
mov ecx, esi
call fcn.00405500
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 0x439d4b
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x439d41
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf2c
push edx
push ecx
call fcn.00479074
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.00406e20
mov eax, dword [edi + 0x7c]
lea esi, [edi + 0x6c]
test eax, eax
je 0x43a3c5
push 0
lea ecx, [ebp - 0x10ac]
call fcn.0045a5d0
lea ecx, [ebp - 0x1188]
mov dword [ebp - 4], 2
call fcn.004609c0
push 1
lea eax, [ebp - 0x10ac]
mov byte [ebp - 4], 3
push eax
push esi
lea ecx, [ebp - 0x1188]
call fcn.00462710
push 0x8cec30
lea ecx, [ebp - 0x10ac]
call fcn.0045af30
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.0045c490
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1034]
call fcn.0044cae0
mov edx, eax
mov byte [ebp - 4], 5
cmp dword [edx + 0x14], 8
jb 0x439dfb
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 0x439e06
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0x6c0]
call fcn.0040db70
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x439e6a
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x439e60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf31
push edx
push ecx
call fcn.00479074
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 0x439ec5
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x439ebb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf36
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8cec38
lea ecx, [ebp - 0x10ac]
call fcn.0045af30
push 0x8cec44
mov ecx, eax
call fcn.0045af30
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.0045c490
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1034]
call fcn.0044cae0
mov edx, eax
mov byte [ebp - 4], 7
cmp dword [edx + 0x14], 8
jb 0x439f0e
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 0x439f20
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0xd0]
call fcn.0040db70
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x439f84
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x439f7a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf3b
push edx
push ecx
call fcn.00479074
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 0x439fdf
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x439fd5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf40
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8cec38
lea ecx, [ebp - 0x10ac]
call fcn.0045af30
push 0x8cec48
mov ecx, eax
call fcn.0045af30
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.0045c490
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1034]
call fcn.0044cae0
mov edx, eax
mov byte [ebp - 4], 9
cmp dword [edx + 0x14], 8
jb 0x43a028
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 0x43a033
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0xe8]
call fcn.0040db70
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43a097
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43a08d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf45
push edx
push ecx
call fcn.00479074
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 0x43a0f2
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43a0e8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf4a
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8cec54
lea ecx, [ebp - 0x10ac]
call fcn.0045af30
lea ecx, [ebp - 0x1064]
push ecx
mov ecx, eax
call fcn.0045c490
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1034]
call fcn.0044cae0
mov edx, eax
mov byte [ebp - 4], 0xb
cmp dword [edx + 0x14], 8
jb 0x43a12f
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 0x43a157
sub ecx, dword [ebp - 0x1018]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x104c]
call fcn.0040db70
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43a1bb
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43a1b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf4f
push edx
push ecx
call fcn.00479074
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 0x43a216
mov ecx, dword [ebp - 0x1064]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43a20c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf54
push edx
push ecx
call fcn.00479074
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 0x43a23b
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.00410610
test eax, eax
je 0x43a344
lea ecx, [edi + 0x100]
lea eax, [ebp - 0x104c]
cmp ecx, eax
je 0x43a290
cmp dword [ebp - 0x1038], 8
push dword [ebp - 0x103c]
cmovae eax, dword [ebp - 0x104c]
push eax
call fcn.0040db70
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 [0x8d1ca0]
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.00452600
test eax, eax
je 0x43a31c
cmp dword [esi + 0x10], 0
jne 0x43a333
lea ecx, [ebp - 0x10f4]
call fcn.00451c90
inc edi
cmp edi, 0xa
jl 0x43a2a0
jmp 0x43a33e
lea ecx, [ebp - 0x10f4]
call fcn.00451c90
mov edi, dword [ebp - 0x1200]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1038]
cmp edx, 8
jb 0x43a388
mov ecx, dword [ebp - 0x104c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43a37e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf59
push edx
push ecx
call fcn.00479074
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.00439970
lea ecx, [ebp - 0x10ac]
mov dword [ebp - 4], 0xffffffff
call fcn.0045aa80
mov eax, dword [esi + 0x10]
cmp eax, 0xa
jbe 0x43bf06
push 0
lea ecx, [ebp - 0x1064]
call fcn.0045a5d0
lea ecx, [ebp - 0x11fc]
mov dword [ebp - 4], 0x10
call fcn.004609c0
push 1
lea eax, [ebp - 0x1064]
mov byte [ebp - 4], 0x11
push eax
push esi
lea ecx, [ebp - 0x11fc]
call fcn.00462710
push 0x8cec60
lea ecx, [ebp - 0x1064]
call fcn.0045af30
lea ecx, [ebp - 0x1034]
push ecx
mov ecx, eax
call fcn.0045c490
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x12
cmp dword [edi], 0
jne 0x43a452
mov esi, 7
mov dword [ebp - 0x109c], 0
xor eax, eax
mov dword [ebp - 0x1098], esi
mov word [ebp - 0x10ac], ax
jmp 0x43a492
lea ecx, [ebp - 0x10fc]
call fcn.00413020
mov byte [ebp - 4], 0x13
cmp dword [esi + 0x14], 0x10
jb 0x43a469
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.0041a920
lea ecx, [ebp - 0x10fc]
call fcn.004132c0
mov esi, dword [ebp - 0x1098]
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x1020]
cmp edx, 0x10
jb 0x43a4d0
mov ecx, dword [ebp - 0x1034]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43a4c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf5e
push edx
push ecx
call fcn.00479074
add esp, 8
mov eax, dword [0x8cdb94]
lea edi, [ebp - 0x10ac]
cmp esi, 8
mov dword [ebp - 0x101c], eax
mov eax, dword [0x8cdb98]
mov ecx, 5
cmovae edi, dword [ebp - 0x10ac]
cmp byte [0x8cdb9b], 0
mov esi, dword [0x1813edc]
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 0xf
mov byte [ebp - 0x1034], 0
mov dword [ebp - 0x1018], eax
je 0x43a68d
xor edx, edx
mov dword [ebp - 0x1200], edx
cmp esi, 2
jl 0x43a650
movaps xmm2, xmmword [0x8d1c50]
movaps xmm4, xmmword [0x8d1d00]
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 [0x8d1c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x8d1c60]
paddd xmm2, xmmword [0x8d1c50]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d1cc0]
movd xmm0, dword [0x8cdb94]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x8d1cd0]
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 [0x8d1c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d1cc0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x8d1cd0]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x43a68d
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x43a650
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43a6b0
push edi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00440dd0
cmp byte [0x8cdb9b], 0
mov eax, dword [0x8cdb94]
mov ecx, dword [0x8cdb98]
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1018], ecx
je 0x43a88d
xor edx, edx
mov dword [ebp - 0x1200], edx
cmp esi, 2
jl 0x43a850
movaps xmm2, xmmword [0x8d1c50]
mov eax, 5
movaps xmm5, xmmword [0x8d1d00]
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 [0x8d1cd0]
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d1c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x8d1c60]
paddd xmm2, xmmword [0x8d1c50]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d1cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x8cdb94]
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 [0x8d1c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d1cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x43a88d
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x43a850
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43a8b0
push ecx
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x1114]
push eax
call fcn.00441000
lea edx, [ebp - 0x1114]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1034]
call fcn.00445000
lea edx, [ebp - 0x1034]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x104c]
call fcn.00444e70
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43a976
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43a96c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf63
push edx
push ecx
call fcn.00479074
add esp, 8
lea ecx, [ebp - 0x1114]
call fcn.00406ca0
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.00404170
lea ecx, [ebp - 0x1094]
call fcn.0040ff30
push 0x1000
lea eax, [ebp - 0x1010]
mov byte [ebp - 4], 0x18
push 0
push eax
call fcn.006b9e50
add esp, 0x24
lea ecx, [ebp - 0x1094]
cmp dword [ebp - 0x1080], 8
lea edx, [ebp - 0x1010]
cmovae ecx, dword [ebp - 0x1094]
call fcn.00410c40
test eax, eax
je 0x43aa34
lea eax, [ebp - 0x1010]
push eax
call dword [0x80f2bc]
test eax, eax
jle 0x43aa34
lea ecx, [ebp - 0x1010]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43aa12
sub ecx, edx
lea eax, [ebp - 0x1010]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x1094]
call fcn.0040db70
sub esp, 0x18
lea eax, [ebp - 0x1094]
mov ecx, esp
push eax
call fcn.00404170
lea ecx, [ebp - 0x1034]
call fcn.00410790
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0x1094]
cmp eax, esi
je 0x43aa90
mov ecx, eax
call fcn.00406ca0
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 0x43aad0
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43aac6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf68
push edx
push ecx
call fcn.00479074
add esp, 8
cmp dword [ebp - 0x1080], 8
lea esi, [ebp - 0x1094]
movq xmm0, qword [0x8cf3fc]
cmovae esi, dword [ebp - 0x1094]
xor edx, edx
mov al, byte [0x8cf404]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
nop word [eax + eax]
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43ab10
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43ab70
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00440dd0
push 0x8cec68
lea ecx, [ebp - 0x1064]
call fcn.0045af30
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.0045c490
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x19
cmp dword [edi], 0
jne 0x43ac0d
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43ac4d
lea ecx, [ebp - 0x10fc]
call fcn.00413020
mov byte [ebp - 4], 0x1a
cmp dword [esi + 0x14], 0x10
jb 0x43ac24
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.0041a920
lea ecx, [ebp - 0x10fc]
call fcn.004132c0
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x1b
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8ce078]
cmp eax, 8
mov al, byte [0x8ce080]
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, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43ac90
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43acf0
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00440dd0
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43ad85
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43ad7b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf6d
push edx
push ecx
call fcn.00479074
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43adc3
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43adb9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf72
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8cec74
lea ecx, [ebp - 0x1064]
call fcn.0045af30
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.0045c490
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x1c
cmp dword [edi], 0
jne 0x43ae0f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43ae4f
lea ecx, [ebp - 0x10fc]
call fcn.00413020
mov byte [ebp - 4], 0x1d
cmp dword [esi + 0x14], 0x10
jb 0x43ae26
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.0041a920
lea ecx, [ebp - 0x10fc]
call fcn.004132c0
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x1e
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8cdb48]
cmp eax, 8
mov al, byte [0x8cdb50]
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, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43ae90
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43aef0
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00440dd0
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43af85
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43af7b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf77
push edx
push ecx
call fcn.00479074
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43afc3
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43afb9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf7c
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8cf3cc
lea ecx, [ebp - 0x1064]
call fcn.0045af30
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.0045c490
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x1f
cmp dword [edi], 0
jne 0x43b00f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43b04f
lea ecx, [ebp - 0x10fc]
call fcn.00413020
mov byte [ebp - 4], 0x20
cmp dword [esi + 0x14], 0x10
jb 0x43b026
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.0041a920
lea ecx, [ebp - 0x10fc]
call fcn.004132c0
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x21
lea esi, [ebp - 0x1034]
mov ecx, dword [0x8cf3f8]
cmp eax, 8
mov eax, dword [0x8cf3f4]
cmovae esi, dword [ebp - 0x1034]
cmp byte [0x8cf3fb], 0
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1018], ecx
je 0x43b1fd
xor edx, edx
cmp dword [0x1813edc], 2
mov dword [ebp - 0x1200], edx
jl 0x43b1c0
movaps xmm2, xmmword [0x8d1c50]
mov eax, 5
movaps xmm5, xmmword [0x8d1d00]
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 [0x8d1cd0]
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d1c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x8d1c60]
paddd xmm2, xmmword [0x8d1c50]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d1cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x8cf3f4]
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 [0x8d1c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d1cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x43b1fd
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x43b1c0
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43b220
push esi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00440dd0
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43b2b5
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43b2ab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf81
push edx
push ecx
call fcn.00479074
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43b2f3
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43b2e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf86
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8cec80
lea ecx, [ebp - 0x1064]
call fcn.0045af30
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.0045c490
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x22
cmp dword [edi], 0
jne 0x43b33f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43b37f
lea ecx, [ebp - 0x10fc]
call fcn.00413020
mov byte [ebp - 4], 0x23
cmp dword [esi + 0x14], 0x10
jb 0x43b356
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.0041a920
lea ecx, [ebp - 0x10fc]
call fcn.004132c0
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x24
lea esi, [ebp - 0x1034]
mov ecx, dword [0x8cf3f0]
cmp eax, 8
mov eax, dword [0x8cf3ec]
cmovae esi, dword [ebp - 0x1034]
cmp byte [0x8cf3f3], 0
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1018], ecx
je 0x43b52d
xor edx, edx
cmp dword [0x1813edc], 2
mov dword [ebp - 0x1200], edx
jl 0x43b4f0
movaps xmm2, xmmword [0x8d1c50]
mov eax, 5
movaps xmm5, xmmword [0x8d1d00]
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 [0x8d1cd0]
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x8d1c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x8d1c60]
paddd xmm2, xmmword [0x8d1c50]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d1cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x8cf3ec]
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 [0x8d1c90]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x8d1cc0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x1018], xmm1
jmp 0x43b52d
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 8
jl 0x43b4f0
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43b550
push esi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00440dd0
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43b5e5
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43b5db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf8b
push edx
push ecx
call fcn.00479074
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43b623
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43b619
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf90
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8cec88
lea ecx, [ebp - 0x1064]
call fcn.0045af30
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.0045c490
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x25
cmp dword [edi], 0
jne 0x43b66f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43b6af
lea ecx, [ebp - 0x10fc]
call fcn.00413020
mov byte [ebp - 4], 0x26
cmp dword [esi + 0x14], 0x10
jb 0x43b686
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.0041a920
lea ecx, [ebp - 0x10fc]
call fcn.004132c0
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x27
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8cf3e0]
cmp eax, 8
mov al, byte [0x8cf3e8]
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, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43b6f0
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43b750
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00440dd0
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43b7e5
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43b7db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf95
push edx
push ecx
call fcn.00479074
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43b823
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43b819
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf9a
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8cec94
lea ecx, [ebp - 0x1064]
call fcn.0045af30
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.0045c490
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x28
cmp dword [edi], 0
jne 0x43b86f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43b8af
lea ecx, [ebp - 0x10fc]
call fcn.00413020
mov byte [ebp - 4], 0x29
cmp dword [esi + 0x14], 0x10
jb 0x43b886
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.0041a920
lea ecx, [ebp - 0x10fc]
call fcn.004132c0
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x2a
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8cf3d4]
cmp eax, 8
mov al, byte [0x8cf3dc]
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, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43b8f0
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x101c], xmm0
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43b950
push esi
lea eax, [ebp - 0x1040]
push eax
lea eax, [ebp - 0x101c]
push eax
call fcn.00440dd0
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43b9e5
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43b9db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bf9f
push edx
push ecx
call fcn.00479074
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43ba23
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43ba19
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bfa4
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8ceca0
lea ecx, [ebp - 0x1064]
call fcn.0045af30
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.0045c490
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x2b
cmp dword [edi], 0
jne 0x43ba6f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43baaf
lea ecx, [ebp - 0x10fc]
call fcn.00413020
mov byte [ebp - 4], 0x2c
cmp dword [esi + 0x14], 0x10
jb 0x43ba86
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.0041a920
lea ecx, [ebp - 0x10fc]
call fcn.004132c0
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x2d
lea esi, [ebp - 0x1034]
movq xmm0, qword [0x8cdb88]
cmp eax, 8
mov ax, word [0x8cdb90]
cmovae esi, dword [ebp - 0x1034]
movq qword [ebp - 0x101c], xmm0
mov word [ebp - 0x1014], ax
test ah, ah
je 0x43bb2d
xor edx, edx
mov dword [ebp - 0x1200], edx
nop dword [eax]
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x101c], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 0xa
jl 0x43baf0
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43bb50
push esi
lea eax, [ebp - 0x101c]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00440dd0
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43bbe5
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43bbdb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bfa9
push edx
push ecx
call fcn.00479074
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43bc23
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43bc19
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bfae
push edx
push ecx
call fcn.00479074
add esp, 8
push 0x8cecac
lea ecx, [ebp - 0x1064]
call fcn.0045af30
lea ecx, [ebp - 0x107c]
push ecx
mov ecx, eax
call fcn.0045c490
mov esi, eax
lea edi, [esi + 0x10]
mov byte [ebp - 4], 0x2e
cmp dword [edi], 0
jne 0x43bc6f
mov eax, 7
mov dword [ebp - 0x1024], 0
xor ecx, ecx
mov dword [ebp - 0x1020], eax
mov word [ebp - 0x1034], cx
jmp 0x43bcaf
lea ecx, [ebp - 0x10fc]
call fcn.00413020
mov byte [ebp - 4], 0x2f
cmp dword [esi + 0x14], 0x10
jb 0x43bc86
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.0041a920
lea ecx, [ebp - 0x10fc]
call fcn.004132c0
mov eax, dword [ebp - 0x1020]
mov byte [ebp - 4], 0x30
lea esi, [ebp - 0x1034]
cmp eax, 8
mov eax, dword [0x8ce44c]
mov dword [ebp - 0x1018], eax
cmovae esi, dword [ebp - 0x1034]
xor edx, edx
mov al, byte [0x8ce450]
mov byte [ebp - 0x1014], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1018], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 5
jl 0x43bce1
movq xmm0, qword [0x8cdb54]
xor edx, edx
mov al, byte [0x8cdb5c]
movq qword [ebp - 0x1040], xmm0
mov byte [ebp - 0x1038], al
mov dword [ebp - 0x1200], edx
mov eax, 0x8fb823ef
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, 0x39
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x1040], cl
inc edx
mov dword [ebp - 0x1200], edx
cmp edx, 9
jl 0x43bd41
push esi
lea eax, [ebp - 0x1018]
push eax
lea eax, [ebp - 0x1040]
push eax
call fcn.00440dd0
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x43bdd2
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43bdc8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bfb3
push edx
push ecx
call fcn.00479074
add esp, 8
mov edx, dword [ebp - 0x1068]
cmp edx, 0x10
jb 0x43be0c
mov ecx, dword [ebp - 0x107c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43be02
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bfb8
push edx
push ecx
call fcn.00479074
add esp, 8
mov edx, dword [ebp - 0x1080]
cmp edx, 8
jb 0x43be4c
mov ecx, dword [ebp - 0x1094]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43be42
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bfbd
push edx
push ecx
call fcn.00479074
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 0x43bea9
mov ecx, dword [ebp - 0x1114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43be9f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bfc2
push edx
push ecx
call fcn.00479074
add esp, 8
mov edx, dword [ebp - 0x1098]
cmp edx, 8
jb 0x43bee9
mov ecx, dword [ebp - 0x10ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43bedf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43bfc7
push edx
push ecx
call fcn.00479074
add esp, 8
lea ecx, [ebp - 0x11fc]
call fcn.00439970
lea ecx, [ebp - 0x1064]
call fcn.0045aa80
mov eax, 1
jmp 0x43bf11
push 9
mov ecx, edi
call fcn.0043e240
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.00478e38
mov esp, ebp
pop ebp
ret
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
call fcn.006bd179
int3