Function at 0x44d170
Capabilities:
Encode data using xor
Hash data using sha256
Hash data using sha384
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9b0
mov eax, dword [edx + 0x15c]
mov esi, edx
mov dword [esp + 0x2ac], ecx
mov eax, dword [eax + 0x10]
push dword [edx + 0x158]
mov dword [esp + 0x10], edx
call eax
add esp, 4
mov dword [esp + 0xa8], eax
mov dword [esp + 0x2c], edx
mov ecx, dword [esi]
xor eax, eax
lea edx, [ecx - 1]
cmp ecx, 2
cmovae eax, edx
test eax, eax
je 0x44d1d3
cmp eax, 1
jne 0x44d1fe
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
jae 0x44d260
jmp 0x44f241
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x28]
mov esi, dword [eax + 0x150]
cmp edi, 5
jb 0x44d2c1
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x44d2fd
mov eax, dword [eax + 8]
mov ebx, ecx
jmp 0x44d2ce
mov eax, dword [esp + 0x2c]
cmp eax, 0x18
jb 0x4526fd
xor ecx, ecx
cmp eax, 0x30
mov eax, 0xff
pxor xmm0, xmm0
setne cl
movdqa xmmword [esp + 0x300], xmm0
movdqa xmmword [esp + 0x2f0], xmm0
movdqa xmmword [esp + 0x2e0], xmm0
cmovae eax, ecx
test al, al
je 0x44f99b
movzx eax, al
cmp eax, 1
jne 0x44fa02
cmp dword [esp + 0x2c], 0x2f
ja 0x44f9a6
mov eax, 0x30
jmp 0x44d2aa
xor ecx, ecx
cmp eax, 0x20
mov eax, 0xff
pxor xmm0, xmm0
setne cl
movdqa xmmword [esp + 0x2f0], xmm0
movdqa xmmword [esp + 0x2e0], xmm0
cmovae eax, ecx
test al, al
je 0x44d4a6
movzx eax, al
cmp eax, 1
jne 0x44d4f1
cmp dword [esp + 0x2c], 0x20
jae 0x44d4b1
mov eax, 0x20
push 0x6b3e34
push dword [esp + 0x30]
push eax
call fcn.005006e0
add esp, 0xc
jmp 0x454ad7
test edi, edi
je 0x44d2fd
mov eax, dword [esp + 0xc]
mov ebx, edi
add eax, 8
mov ecx, dword [eax + ebx*8 - 4]
bsr eax, dword [eax + ebx*8 - 8]
mov edx, 0x3f
cmovne edx, eax
bsr eax, ecx
xor edx, 0x1f
xor eax, 0x1f
add edx, 0x20
test ecx, ecx
cmove eax, edx
shl ebx, 6
or ebx, 7
sub ebx, eax
shr ebx, 3
jmp 0x44d2ff
xor ebx, ebx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xb0], ebx
lea eax, [esi + eax + 0xb]
cmp eax, ebx
jbe 0x44d31c
mov ebx, 3
jmp 0x452a0e
test ebx, ebx
mov dword [esp], edi
je 0x45494a
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x14c]
mov dword [esp + 0x10], eax
mov eax, dword [0x6b6a34]
movzx eax, byte [eax]
push 1
push ebx
call fcn.004ed010
add esp, 8
test eax, eax
je 0x454ac6
mov edi, eax
push ebx
push 0xff
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp ebx, 1
mov byte [edi], 0
mov dword [esp + 8], edi
jbe 0x454ad9
mov edx, dword [esp + 0x2c]
mov eax, ebx
mov byte [edi + 1], 1
sub eax, esi
sub eax, edx
lea ecx, [eax - 1]
cmp ecx, ebx
jae 0x453203
mov byte [edi + eax - 1], 0
mov edi, ebx
sub edi, edx
mov ecx, edi
sub ecx, eax
jb 0x454960
cmp ebx, edx
jb 0x454974
cmp ecx, esi
jne 0x45498f
mov ebx, dword [esp + 8]
add eax, ebx
push esi
push dword [esp + 0x14]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, ebx
push dword [esp + 0x2c]
push dword [esp + 0xac]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x6b6a34]
movzx eax, byte [eax]
push 1
mov edi, dword [esp + 0xb4]
push edi
call fcn.004ed010
add esp, 8
test eax, eax
je 0x4549aa
mov esi, eax
push edi
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, edi
xor ecx, ecx
shr eax, 1
cmp edi, 0x10
jb 0x4527b9
xor ecx, ecx
cmp dword [esp + 0xb0], 0x20
jae 0x452709
mov ebx, dword [esp + 0xb0]
mov edx, ecx
mov ecx, eax
pxor xmm0, xmm0
and ecx, 0xfffffff8
sub ebx, edx
lea edi, [ebx + esi - 8]
lea ebx, [esi + edx]
sub edx, ecx
nop word cs:[eax + eax]
nop dword [eax]
movq xmm1, qword [ebx]
movq xmm2, qword [edi]
punpcklbw xmm2, xmm0
punpcklbw xmm1, xmm0
pshufd xmm2, xmm2, 0x4e
pshufd xmm1, xmm1, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm2, xmm2
packuswb xmm1, xmm1
movq qword [ebx], xmm2
movq qword [edi], xmm1
add edi, 0xfffffff8
add ebx, 8
add edx, 8
jne 0x44d450
cmp eax, ecx
jne 0x4527b9
jmp 0x4527de
cmp dword [esp + 0x2c], 0x20
jne 0x4549ce
mov eax, dword [esp + 0xa8]
movsd xmm0, qword [eax + 0x18]
movsd qword [esp + 0x2f8], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x2f0], xmm0
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x2e8], xmm1
movq qword [esp + 0x2e0], xmm0
jmp 0x44d51f
mov edx, dword [esp + 0x2c]
mov eax, 0x20
mov ecx, 0x20
sub eax, edx
jb 0x4549ba
lea eax, [esp + eax + 0x2e0]
push edx
push dword [esp + 0xac]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
movq xmm0, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2f3]
movsd xmm2, qword [esp + 0x2eb]
lea ecx, [eax + 4]
movzx eax, byte [esp + 0x2e2]
movq qword [esp + 0x66d], xmm0
movsd qword [esp + 0x668], xmm1
movsd qword [esp + 0x660], xmm2
movq xmm1, qword [esp + 0x2e3]
movq xmm3, qword [esp + 0x668]
mov byte [esp + 0x522], al
movzx eax, word [esp + 0x2e0]
mov word [esp + 0x520], ax
movsd qword [esp + 0x52b], xmm2
movq xmm2, qword [esp + 0x66d]
movq qword [esp + 0x533], xmm3
movq qword [esp + 0x538], xmm2
movq qword [esp + 0x523], xmm1
lea eax, [esp + 0x2b0]
mov dword [esp + 0x4ec], ecx
push ecx
push eax
call fcn.00537ae0
add esp, 8
mov dword [esp + 0x64c], 0xffffffff
mov dword [esp + 0x648], 0
mov dword [esp + 0x644], 0xffffffff
mov dword [esp + 0x640], 0xffffffff
mov dword [esp + 0x63c], 0xbce6faad
mov dword [esp + 0x638], 0xa7179e84
mov dword [esp + 0x634], 0xf3b9cac2
mov dword [esp + 0x630], 0xfc632551
lea eax, [esp + 0x630]
lea ecx, [esp + 0xe0]
push eax
push ecx
call fcn.00533ed0
add esp, 8
movdqa xmm0, xmmword [str.6666666666666666_]
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x204], 0
mov dword [esp + 0x200], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
mov dword [esp + 0x224], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x22c], 0
mov dword [esp + 0x228], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov byte [esp + 0x238], 0
mov dword [esp + 0x1d0], 0x6a09e667
mov dword [esp + 0x1d4], 0xbb67ae85
mov dword [esp + 0x1d8], 0x3c6ef372
mov dword [esp + 0x1dc], 0xa54ff53a
mov dword [esp + 0x1e0], 0x510e527f
mov dword [esp + 0x1e4], 0x9b05688c
mov dword [esp + 0x1e8], 0x1f83d9ab
mov dword [esp + 0x1ec], 0x5be0cd19
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f0], 1
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x180], xmm0
lea eax, [esp + 0x1d0]
lea ecx, [esp + 0x150]
push 1
push ecx
mov dword [esp + 0x634], eax
push eax
call fcn.005d3f10
add esp, 0xc
lea eax, [esp + 0x2e0]
mov byte [esp + 0x238], 0
mov ecx, 0x1c
lea esi, [esp + 0x1d0]
xor edx, edx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [esp + 0x6e0]
mov ecx, 0x1c
lea eax, [esp + 0x660]
movaps xmm0, xmmword [esp + 0x150]
movaps xmm1, xmmword [esp + 0x160]
movaps xmmword [esp + 0x550], xmm0
movaps xmm0, xmmword [esp + 0x170]
movaps xmmword [esp + 0x560], xmm1
movsd xmm1, qword [esp + 0x558]
movaps xmmword [esp + 0x570], xmm0
movaps xmm0, xmmword [esp + 0x180]
movaps xmmword [esp + 0x580], xmm0
movaps xmm0, xmmword [0x6b2660]
movups xmmword [esp + 0x660], xmm0
movups xmmword [esp + 0x670], xmm0
movups xmmword [esp + 0x680], xmm0
movups xmmword [esp + 0x690], xmm0
movsd xmm0, qword [esp + 0x550]
movsd qword [esp + 0x6a8], xmm1
movsd xmm1, qword [esp + 0x568]
movsd qword [esp + 0x6a0], xmm0
movsd xmm0, qword [esp + 0x560]
movsd qword [esp + 0x6b8], xmm1
movsd xmm1, qword [esp + 0x578]
movsd qword [esp + 0x6b0], xmm0
movsd xmm0, qword [esp + 0x570]
movsd qword [esp + 0x6c8], xmm1
movq xmm1, qword [esp + 0x588]
movsd qword [esp + 0x6c0], xmm0
movsd xmm0, qword [esp + 0x580]
movq qword [esp + 0x6d8], xmm1
movsd qword [esp + 0x6d0], xmm0
movdqa xmm0, xmmword [0x6b2670]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x708]
mov cl, 1
mov dword [esp + 0x628], eax
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x30], xmm0
nop dword [eax + eax]
movzx ebx, byte [esp + 0x748]
mov dword [esp + 0x70], ecx
cmp ebx, 0x1f
ja 0x44d960
movsd xmm1, qword [esp + 0x40]
movq xmm0, qword [esp + 0x48]
movq xmm2, qword [esp + 0x30]
movsd qword [edi + ebx + 0x10], xmm1
movq xmm1, qword [esp + 0x38]
movq qword [edi + ebx + 0x18], xmm0
movq qword [edi + ebx], xmm2
movq qword [edi + ebx + 8], xmm1
add ebx, 0x20
jmp 0x44d9c4
mov esi, 0x40
lea eax, [edi + ebx]
mov dword [esp + 0x10], edx
sub esi, ebx
push esi
lea ecx, [esp + 0x34]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x700], 1
adc dword [esp + 0x704], 0
push 1
push edi
lea eax, [esp + 0x6e8]
push eax
call fcn.005d3f10
add esp, 0xc
add ebx, 0xffffffe0
lea eax, [esp + esi + 0x30]
mov ecx, ebx
and ecx, 0xffffffc0
add ecx, eax
push ebx
push ecx
lea edi, [esp + 0x710]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x10]
movzx esi, bl
mov byte [esp + 0x748], bl
mov byte [esp + 0x2e0], dl
cmp esi, 0x3f
jae 0x44da00
lea ebx, [esi + 1]
cmp esi, 0x1f
mov byte [esp + esi + 0x708], dl
mov byte [esp + 0x748], bl
jae 0x44da60
mov edx, ebx
lea ebx, [esp + 0x708]
jmp 0x44db2d
test bl, bl
je 0x44db12
mov ebx, edi
mov edi, 0x40
sub edi, esi
add esi, ebx
push edi
lea eax, [esp + 0x2e4]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x700], 1
adc dword [esp + 0x704], 0
push 1
push ebx
lea eax, [esp + 0x6e8]
push eax
call fcn.005d3f10
add esp, 0xc
lea eax, [esp + edi + 0x2e0]
xor esi, esi
lea edi, [esp + 0x708]
jmp 0x44db1e
mov edi, 0x3f
mov eax, ebx
lea ecx, [esp + 0x708]
sub edi, esi
add eax, ecx
push edi
lea ecx, [esp + 0x2b4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x700], 1
adc dword [esp + 0x704], 0
push 1
lea eax, [esp + 0x70c]
push eax
lea eax, [esp + 0x6e8]
push eax
call fcn.005d3f10
add esp, 0xc
lea ecx, [esi - 0x1f]
lea eax, [esp + edi + 0x2b0]
mov edx, ecx
and edx, 0xffffffc0
add edx, eax
push ecx
push edx
lea edi, [esp + 0x710]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x528]
movq xmm0, qword [esp + 0x520]
movq xmm2, qword [esp + 0x530]
movsd qword [edi + esi - 0x17], xmm1
movq xmm1, qword [esp + 0x538]
movq qword [edi + esi - 0x1f], xmm0
movq qword [edi + esi - 0xf], xmm2
movq qword [edi + esi - 7], xmm1
jmp 0x44dbd6
mov esi, 1
lea eax, [esp + 0x2e0]
push esi
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, esi
mov ebx, edi
movsd xmm1, qword [esp + 0x2c0]
movq xmm0, qword [esp + 0x2c8]
movq xmm2, qword [esp + 0x2b0]
mov esi, 0x20
lea eax, [edx + 0x20]
mov edi, edx
sub esi, edx
movsd qword [ebx + edx + 0x10], xmm1
movq xmm1, qword [esp + 0x2b8]
movq qword [ebx + edx + 0x18], xmm0
movq qword [ebx + edx], xmm2
movq qword [ebx + edx + 8], xmm1
mov byte [esp + 0x748], al
lea eax, [ebx + edx + 0x20]
push esi
lea ecx, [esp + 0x524]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x700], 1
adc dword [esp + 0x704], 0
push 1
push ebx
lea eax, [esp + 0x6e8]
push eax
call fcn.005d3f10
add esp, 0xc
mov ecx, edi
lea eax, [esp + esi + 0x520]
and ecx, 0xffffffc0
add ecx, eax
push edi
push ecx
lea eax, [esp + 0x710]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, edi
mov byte [esp + 0x748], bl
push 0xf0
lea eax, [esp + 0x664]
push eax
lea esi, [esp + 0x2e8]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x578]
mov dword [eax + 0x34], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x40], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], 0
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [esp + 0x56c], 0x5be0cd19
mov dword [esp + 0x568], 0x1f83d9ab
mov dword [esp + 0x564], 0x9b05688c
mov dword [esp + 0x560], 0x510e527f
mov dword [esp + 0x55c], 0xa54ff53a
mov dword [esp + 0x558], 0x3c6ef372
mov dword [esp + 0x554], 0xbb67ae85
mov dword [esp + 0x550], 0x6a09e667
mov dword [esp + 0x570], 1
mov dword [esp + 0x574], 0
push 1
push esi
lea eax, [esp + 0x558]
push eax
call fcn.005d3f10
add esp, 0xc
mov byte [esp + 0x5b8], 0
mov ecx, 0x1c
lea edi, [esp + 0x1d0]
lea esi, [esp + 0x360]
rep movsd dword es:[edi], dword [esi]
movzx ebx, byte [esp + 0x238]
mov esi, dword [esp + 0x1f0]
mov edi, dword [esp + 0x1f4]
mov eax, ebx
mov byte [esp + ebx + 0x1f8], 0x80
xor eax, 0x3f
je 0x44dd4e
lea ecx, [esp + 0x1f8]
lea ecx, [ebx + ecx + 1]
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
shld edi, esi, 9
shl esi, 9
mov eax, edi
lea edi, [ebx*8]
xor ebx, 0x38
or edi, esi
bswap eax
cmp ebx, 8
bswap edi
jae 0x44ddf0
mov esi, eax
push 1
lea eax, [esp + 0x1fc]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d3f10
add esp, 0xc
pxor xmm0, xmm0
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], 0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
mov dword [esp + 0x188], esi
mov dword [esp + 0x18c], edi
push 1
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d3f10
add esp, 0xc
jmp 0x44de18
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], edi
push 1
lea eax, [esp + 0x1fc]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d3f10
add esp, 0xc
movdqu xmm1, xmmword [esp + 0x1d0]
movdqu xmm0, xmmword [esp + 0x1e0]
pxor xmm3, xmm3
movzx ebx, byte [esp + 0x5b8]
movdqa xmm2, xmm1
punpcklbw xmm1, xmm3
cmp ebx, 0x1f
punpckhbw xmm2, xmm3
pshuflw xmm1, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm1, xmm2
movdqa xmm2, xmm0
punpcklbw xmm0, xmm3
punpckhbw xmm2, xmm3
pshuflw xmm0, xmm0, 0x1b
movdqu xmmword [esp + 0x1d0], xmm1
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm0, xmm0, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm0, xmm2
movdqu xmmword [esp + 0x1e0], xmm0
ja 0x44dee0
movsd xmm1, qword [esp + 0x1e0]
lea eax, [esp + 0x578]
movq xmm0, qword [esp + 0x1e8]
movq xmm2, qword [esp + 0x1d0]
movsd qword [eax + ebx + 0x10], xmm1
movq xmm1, qword [esp + 0x1d8]
movq qword [eax + ebx + 0x18], xmm0
movq qword [eax + ebx], xmm2
movq qword [eax + ebx + 8], xmm1
add ebx, 0x20
jmp 0x44df49
mov esi, 0x40
lea edi, [esp + 0x578]
sub esi, ebx
lea eax, [edi + ebx]
push esi
lea ecx, [esp + 0x1d4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x570], 1
adc dword [esp + 0x574], 0
push 1
push edi
lea eax, [esp + 0x558]
push eax
call fcn.005d3f10
add esp, 0xc
add ebx, 0xffffffe0
lea eax, [esp + esi + 0x1d0]
mov ecx, ebx
and ecx, 0xffffffc0
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x580]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x5b8], bl
mov ecx, 0x1c
lea edi, [esp + 0x1d0]
lea esi, [esp + 0x550]
rep movsd dword es:[edi], dword [esi]
movzx ebx, byte [esp + 0x238]
mov esi, dword [esp + 0x1f0]
mov edi, dword [esp + 0x1f4]
mov eax, ebx
mov byte [esp + ebx + 0x1f8], 0x80
xor eax, 0x3f
je 0x44dfa1
lea ecx, [esp + 0x1f8]
lea ecx, [ebx + ecx + 1]
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
shld edi, esi, 9
shl esi, 9
mov eax, edi
lea edi, [ebx*8]
xor ebx, 0x38
or edi, esi
bswap eax
cmp ebx, 8
bswap edi
jae 0x44e040
mov esi, eax
push 1
lea eax, [esp + 0x1fc]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d3f10
add esp, 0xc
pxor xmm0, xmm0
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], 0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
mov dword [esp + 0x188], esi
mov dword [esp + 0x18c], edi
push 1
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d3f10
add esp, 0xc
jmp 0x44e068
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], edi
push 1
lea eax, [esp + 0x1fc]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d3f10
add esp, 0xc
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1d8]
mov ebx, dword [esp + 0x1dc]
mov esi, dword [esp + 0x1e8]
mov edi, dword [esp + 0x1ec]
movdqa xmm2, xmmword [str.6666666666666666_]
bswap eax
bswap ecx
bswap edx
bswap ebx
bswap esi
bswap edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x110], edx
mov ecx, dword [esp + 0x10]
bswap eax
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], ebx
mov ebx, dword [esp + 0xd0]
bswap eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], eax
lea eax, [esp + 0x170]
mov dword [esp + 0x168], esi
mov dword [esp + 0x16c], edi
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
lea eax, [esp + 0x1f8]
movdqu xmm0, xmmword [esp + 0x160]
movdqu xmm1, xmmword [esp + 0x150]
mov dword [eax + 0x34], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x40], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], 0
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [esp + 0x1ec], 0x5be0cd19
mov dword [esp + 0x1e8], 0x1f83d9ab
mov dword [esp + 0x1e4], 0x9b05688c
mov dword [esp + 0x1e0], 0x510e527f
mov dword [esp + 0x1dc], 0xa54ff53a
mov dword [esp + 0x1d8], 0x3c6ef372
mov dword [esp + 0x1d4], 0xbb67ae85
mov dword [esp + 0x1d0], 0x6a09e667
mov dword [esp + 0x1f0], 1
mov dword [esp + 0x1f4], 0
pxor xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [esp + 0x150], xmm1
movdqu xmmword [esp + 0x160], xmm0
movdqu xmm0, xmmword [esp + 0x170]
pxor xmm0, xmm2
movdqu xmmword [esp + 0x170], xmm0
movdqu xmm0, xmmword [esp + 0x180]
pxor xmm0, xmm2
movdqu xmmword [esp + 0x180], xmm0
push 1
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d3f10
add esp, 0xc
movd xmm3, dword [esp + 0x120]
movd xmm0, ebx
movd xmm2, esi
movd xmm1, edi
lea eax, [esp + 0x2e0]
mov byte [esp + 0x238], 0
mov ecx, 0x1c
lea esi, [esp + 0x1d0]
movd xmm4, dword [esp + 0xb0]
movd xmm5, dword [esp + 0x110]
punpckldq xmm2, xmm1
movd xmm1, dword [esp + 0x10]
mov edi, eax
punpckldq xmm0, xmm3
punpckldq xmm5, xmm4
movdqa xmm4, xmmword [0x6b2660]
punpcklqdq xmm0, xmm2
movd xmm2, dword [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x6a0]
lea edi, [esp + 0x6e0]
mov esi, eax
movq xmm3, qword [esp + 0x158]
pxor xmm0, xmm4
punpckldq xmm1, xmm2
movsd xmm2, qword [esp + 0x188]
punpcklqdq xmm1, xmm5
movq qword [esp + 0x558], xmm3
pxor xmm1, xmm4
movdqu xmmword [esp + 0x660], xmm1
movdqu xmmword [esp + 0x670], xmm0
movdqu xmmword [esp + 0x680], xmm4
movdqu xmmword [esp + 0x690], xmm4
movsd qword [esp + 0x588], xmm2
movsd xmm2, qword [esp + 0x180]
movq xmm0, qword [esp + 0x588]
movsd qword [esp + 0x580], xmm2
movsd xmm2, qword [esp + 0x178]
movsd xmm1, qword [esp + 0x580]
movq qword [ecx + 0x38], xmm0
movsd qword [esp + 0x578], xmm2
movsd xmm2, qword [esp + 0x170]
movsd qword [ecx + 0x30], xmm1
movsd qword [esp + 0x570], xmm2
movsd xmm2, qword [esp + 0x168]
movsd xmm1, qword [esp + 0x570]
movsd qword [esp + 0x568], xmm2
movsd xmm2, qword [esp + 0x160]
movsd qword [ecx + 0x20], xmm1
movsd qword [esp + 0x560], xmm2
movsd xmm2, qword [esp + 0x150]
movsd xmm1, qword [esp + 0x560]
movsd qword [esp + 0x550], xmm2
movsd xmm2, qword [esp + 0x578]
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [esp + 0x558]
movsd qword [ecx + 0x28], xmm2
movsd xmm2, qword [esp + 0x568]
movq qword [ecx + 8], xmm1
movsd qword [ecx + 0x18], xmm2
movq xmm2, qword [esp + 0x550]
movq qword [ecx], xmm2
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
movzx ebx, byte [esp + 0x748]
cmp ebx, 0x1f
ja 0x44e4c0
movsd xmm1, qword [esp + 0x40]
lea eax, [esp + 0x708]
movq xmm0, qword [esp + 0x48]
movq xmm2, qword [esp + 0x30]
movsd qword [eax + ebx + 0x10], xmm1
movq xmm1, qword [esp + 0x38]
movq qword [eax + ebx + 0x18], xmm0
movq qword [eax + ebx], xmm2
movq qword [eax + ebx + 8], xmm1
add ebx, 0x20
jmp 0x44e523
mov esi, 0x40
lea edi, [esp + 0x708]
sub esi, ebx
lea eax, [edi + ebx]
push esi
lea ecx, [esp + 0x34]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x700], 1
adc dword [esp + 0x704], 0
push 1
push edi
lea eax, [esp + 0x6e8]
push eax
call fcn.005d3f10
add esp, 0xc
add ebx, 0xffffffe0
lea eax, [esp + esi + 0x30]
mov ecx, ebx
and ecx, 0xffffffc0
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x710]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x748], bl
lea ecx, [esp + 0x30]
lea edx, [esp + 0x660]
call fcn.0043ad50
test byte [esp + 0x70], 1
mov dl, 1
mov ecx, 0
lea edi, [esp + 0x708]
jne 0x44d910
lea ecx, [esp + 0x300]
push 0xf0
lea eax, [esp + 0x664]
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx ecx, byte [esp + 0xfe]
movzx edx, byte [esp + 0xfd]
movdqa xmm0, xmmword [esp + 0x30]
movdqa xmm1, xmmword [esp + 0x40]
movzx eax, byte [esp + 0xff]
mov dword [esp + 0x110], ecx
movzx ecx, byte [esp + 0xfc]
mov dword [esp + 0xb0], edx
movzx edx, byte [esp + 0xfb]
movdqa xmmword [esp + 0x2e0], xmm0
movdqa xmmword [esp + 0x2f0], xmm1
mov byte [esp + 0xd0], al
mov dword [esp + 0x120], ecx
movzx ecx, byte [esp + 0xfa]
mov dword [esp + 0x140], edx
movzx edx, byte [esp + 0xf9]
mov dword [esp + 8], ecx
movzx ecx, byte [esp + 0xf8]
mov dword [esp], edx
movzx edx, byte [esp + 0xf7]
mov dword [esp + 0x28], ecx
movzx ecx, byte [esp + 0xf6]
mov dword [esp + 0x24], edx
movzx edx, byte [esp + 0xf5]
mov dword [esp + 4], ecx
movzx ecx, byte [esp + 0xf4]
mov dword [esp + 0x6c], edx
movzx edx, byte [esp + 0xf3]
mov dword [esp + 0x68], ecx
movzx ecx, byte [esp + 0xf2]
mov dword [esp + 0x64], edx
movzx edx, byte [esp + 0xf1]
mov dword [esp + 0x8c], ecx
movzx ecx, byte [esp + 0xf0]
mov dword [esp + 0xac], edx
movzx edx, byte [esp + 0xef]
mov dword [esp + 0xcc], ecx
movzx ecx, byte [esp + 0xee]
mov dword [esp + 0xc8], edx
movzx edx, byte [esp + 0xed]
mov dword [esp + 0xc4], ecx
movzx ecx, byte [esp + 0xec]
mov dword [esp + 0xc0], edx
movzx edx, byte [esp + 0xeb]
mov dword [esp + 0x13c], ecx
movzx ecx, byte [esp + 0xea]
mov dword [esp + 0x51c], edx
movzx edx, byte [esp + 0xe9]
mov dword [esp + 0x518], ecx
movzx ecx, byte [esp + 0xe8]
mov dword [esp + 0x514], edx
movzx edx, byte [esp + 0xe7]
mov dword [esp + 0x510], ecx
movzx ecx, byte [esp + 0xe6]
mov dword [esp + 0x50c], edx
movzx edx, byte [esp + 0xe5]
mov dword [esp + 0x508], ecx
movzx ecx, byte [esp + 0xe4]
mov dword [esp + 0x504], edx
movzx edx, byte [esp + 0xe3]
mov dword [esp + 0x500], ecx
movzx ecx, byte [esp + 0xe2]
mov dword [esp + 0x4fc], edx
movzx edx, byte [esp + 0xe1]
mov dword [esp + 0x4f8], ecx
movzx ecx, byte [esp + 0xe0]
mov dword [esp + 0x4f4], edx
mov dword [esp + 0x4f0], ecx
nop word cs:[eax + eax]
nop
movzx ebx, byte [esp + 0x3e8]
cmp ebx, 0x20
jae 0x44e7c0
movsd xmm0, qword [esp + 0x2f8]
lea eax, [esp + 0x3a8]
movsd qword [eax + ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x2f0]
movsd qword [eax + ebx + 0x10], xmm0
movq xmm0, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [eax + ebx + 8], xmm1
movq qword [eax + ebx], xmm0
add ebx, 0x20
jmp 0x44e829
mov esi, 0x40
lea edi, [esp + 0x3a8]
sub esi, ebx
lea eax, [edi + ebx]
push esi
lea ecx, [esp + 0x2e4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x3a0], 1
adc dword [esp + 0x3a4], 0
push 1
push edi
lea eax, [esp + 0x388]
push eax
call fcn.005d3f10
add esp, 0xc
add ebx, 0xffffffe0
lea eax, [esp + esi + 0x2e0]
mov ecx, ebx
and ecx, 0xffffffc0
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x3b0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x3e8], bl
lea ecx, [esp + 0x660]
lea edx, [esp + 0x300]
call fcn.0043ad50
movsd xmm0, qword [esp + 0x678]
movsd xmm1, qword [esp + 0x668]
movsd qword [esp + 0x2f8], xmm0
movsd xmm0, qword [esp + 0x670]
movsd qword [esp + 0x2e8], xmm1
movsd qword [esp + 0x2f0], xmm0
movsd xmm0, qword [esp + 0x660]
movdqa xmm1, xmmword [esp + 0x2f0]
movsd qword [esp + 0x2e0], xmm0
movzx ebx, byte [esp + 0x3e8]
movdqa xmm0, xmmword [esp + 0x2e0]
movdqa xmmword [esp + 0x40], xmm1
cmp ebx, 0x20
movdqa xmmword [esp + 0x30], xmm0
jae 0x44e920
movsd xmm0, qword [esp + 0x2f8]
lea eax, [esp + 0x3a8]
movsd qword [eax + ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x2f0]
movsd qword [eax + ebx + 0x10], xmm0
movq xmm0, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [eax + ebx + 8], xmm1
movq qword [eax + ebx], xmm0
add ebx, 0x20
movzx ecx, bl
mov byte [esp + 0x3e8], bl
cmp ecx, 0x3f
jae 0x44e99c
mov byte [esp + ecx + 0x3a8], 0
inc ecx
jmp 0x44ea09
mov esi, 0x40
lea edi, [esp + 0x3a8]
sub esi, ebx
lea eax, [edi + ebx]
push esi
lea ecx, [esp + 0x2e4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x3a0], 1
adc dword [esp + 0x3a4], 0
push 1
push edi
lea eax, [esp + 0x388]
push eax
call fcn.005d3f10
add esp, 0xc
add ebx, 0xffffffe0
lea eax, [esp + esi + 0x2e0]
mov ecx, ebx
and ecx, 0xffffffc0
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x3b0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx ecx, bl
mov byte [esp + 0x3e8], bl
cmp ecx, 0x3f
jb 0x44e90e
test bl, bl
je 0x44e9e9
mov esi, 0x40
lea edi, [esp + 0x3a8]
sub esi, ecx
add ecx, edi
push esi
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
add dword [esp + 0x3a0], 1
adc dword [esp + 0x3a4], 0
push 1
push edi
lea eax, [esp + 0x388]
push eax
call fcn.005d3f10
add esp, 0xc
lea eax, [esi + 0x6b431c]
xor ecx, ecx
jmp 0x44e9f3
mov eax, 0x6b431c
mov ecx, 1
push ecx
push eax
lea eax, [esp + 0x3b0]
push eax
mov esi, ecx
call sub.msvcrt.dll_memcpy
mov ecx, esi
add esp, 0xc
mov byte [esp + 0x3e8], cl
lea ecx, [esp + 0x660]
lea edx, [esp + 0x300]
call fcn.0043ad50
lea eax, [esp + 0x680]
movdqa xmm1, xmmword [str.6666666666666666_]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
lea eax, [esp + 0x1f8]
movdqu xmm3, xmmword [esp + 0x670]
movdqu xmm2, xmmword [esp + 0x690]
movdqu xmm0, xmmword [esp + 0x660]
mov dword [eax + 0x34], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x40], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x10], 0
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [esp + 0x1ec], 0x5be0cd19
mov dword [esp + 0x1e8], 0x1f83d9ab
mov dword [esp + 0x1e4], 0x9b05688c
mov dword [esp + 0x1e0], 0x510e527f
mov dword [esp + 0x1dc], 0xa54ff53a
mov dword [esp + 0x1d8], 0x3c6ef372
mov dword [esp + 0x1d4], 0xbb67ae85
mov dword [esp + 0x1d0], 0x6a09e667
mov dword [esp + 0x1f0], 1
mov dword [esp + 0x1f4], 0
movdqa xmmword [esp + 0x70], xmm3
movdqa xmm3, xmm3
movdqa xmmword [esp + 0x10], xmm2
movdqa xmm2, xmm2
movdqa xmmword [esp + 0x90], xmm0
pxor xmm0, xmm1
pxor xmm3, xmm1
pxor xmm2, xmm1
movdqu xmmword [esp + 0x150], xmm0
movdqu xmmword [esp + 0x160], xmm3
movdqu xmmword [esp + 0x170], xmm1
movdqu xmmword [esp + 0x180], xmm2
push 1
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d3f10
add esp, 0xc
lea eax, [esp + 0x660]
mov byte [esp + 0x238], 0
mov ecx, 0x1c
lea esi, [esp + 0x1d0]
movdqa xmm4, xmmword [esp + 0x90]
movdqa xmm5, xmmword [esp + 0x70]
movdqa xmm3, xmmword [esp + 0x10]
movdqa xmm2, xmmword [0x6b2660]
lea edx, [esp + 0x380]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x300]
mov edi, edx
mov esi, eax
movsd xmm1, qword [esp + 0x180]
movq xmm0, qword [esp + 0x188]
movsd xmm6, qword [esp + 0x178]
pxor xmm4, xmm2
pxor xmm5, xmm2
pxor xmm3, xmm2
movdqa xmmword [esp + 0x300], xmm4
movdqa xmmword [esp + 0x310], xmm5
movdqa xmmword [esp + 0x320], xmm2
movdqa xmmword [esp + 0x330], xmm3
movsd qword [esp + 0x580], xmm1
movsd xmm1, qword [esp + 0x170]
movq qword [esp + 0x588], xmm0
movsd qword [esp + 0x578], xmm6
movsd xmm6, qword [esp + 0x168]
movsd xmm2, qword [esp + 0x588]
movsd qword [esp + 0x570], xmm1
movsd xmm1, qword [esp + 0x160]
movsd qword [esp + 0x568], xmm6
movq xmm6, qword [esp + 0x150]
movsd qword [ecx + 0x78], xmm2
movsd xmm2, qword [esp + 0x578]
movsd qword [esp + 0x560], xmm1
movsd xmm1, qword [esp + 0x158]
movq qword [esp + 0x550], xmm6
movsd qword [ecx + 0x68], xmm2
movsd xmm2, qword [esp + 0x568]
movsd qword [esp + 0x558], xmm1
movsd xmm1, qword [esp + 0x580]
movsd qword [ecx + 0x58], xmm2
movq xmm2, qword [esp + 0x550]
movsd qword [ecx + 0x70], xmm1
movsd xmm1, qword [esp + 0x570]
movq qword [ecx + 0x40], xmm2
movsd qword [ecx + 0x60], xmm1
movsd xmm1, qword [esp + 0x560]
movsd qword [ecx + 0x50], xmm1
movq xmm1, qword [esp + 0x558]
movq qword [ecx + 0x48], xmm1
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
movzx ebx, byte [esp + 0x3e8]
cmp ebx, 0x1f
ja 0x44edb0
movsd xmm0, qword [esp + 0x2f8]
lea eax, [esp + 0x3a8]
movsd qword [eax + ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x2f0]
movsd qword [eax + ebx + 0x10], xmm0
movq xmm0, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [eax + ebx + 8], xmm1
movq qword [eax + ebx], xmm0
add ebx, 0x20
jmp 0x44ee19
mov esi, 0x40
lea edi, [esp + 0x3a8]
sub esi, ebx
lea eax, [edi + ebx]
push esi
lea ecx, [esp + 0x2e4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x3a0], 1
adc dword [esp + 0x3a4], 0
push 1
push edi
lea eax, [esp + 0x388]
push eax
call fcn.005d3f10
add esp, 0xc
add ebx, 0xffffffe0
lea eax, [esp + esi + 0x2e0]
mov ecx, ebx
and ecx, 0xffffffc0
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x3b0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x3e8], bl
lea ecx, [esp + 0x660]
lea edx, [esp + 0x300]
call fcn.0043ad50
movsd xmm0, qword [esp + 0x678]
movq xmm1, qword [esp + 0x668]
movsd qword [esp + 0x2f8], xmm0
movsd xmm0, qword [esp + 0x670]
movq qword [esp + 0x2e8], xmm1
movsd qword [esp + 0x2f0], xmm0
movq xmm0, qword [esp + 0x660]
movq qword [esp + 0x2e0], xmm0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x670], xmm0
movdqa xmmword [esp + 0x660], xmm0
push 1
call fcn.0052fee0
add esp, 4
mov ebx, eax
mov esi, 0xffffffe0
nop word cs:[eax + eax]
nop dword [eax]
push 0
call fcn.0052fee0
add esp, 4
mov bh, al
movzx eax, byte [esp + esi + 0x50]
xor ecx, ecx
cmp al, byte [esp + esi + 0x680]
sete cl
push ecx
call fcn.0052fee0
add esp, 4
not al
and al, 1
movzx eax, al
push eax
call fcn.0052fee0
add esp, 4
neg al
xor bh, bl
and bh, al
xor bl, bh
inc esi
jne 0x44eeb0
not bl
and bl, 1
movzx eax, bl
push eax
call fcn.0052fee0
add esp, 4
mov ebx, eax
movzx eax, byte [esp + 0xd0]
mov ecx, dword [esp + 0x110]
cmp byte [esp + 0x4f], al
movzx eax, byte [esp + 0x4e]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4d]
mov ecx, dword [esp + 0xb0]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4c]
mov ecx, dword [esp + 0x120]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4b]
mov ecx, dword [esp + 0x140]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4a]
mov ecx, dword [esp + 8]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x49]
mov ecx, dword [esp]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x48]
mov ecx, dword [esp + 0x28]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x47]
mov ecx, dword [esp + 0x24]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x46]
mov ecx, dword [esp + 4]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x45]
mov ecx, dword [esp + 0x6c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x44]
mov ecx, dword [esp + 0x68]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x43]
mov ecx, dword [esp + 0x64]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x42]
mov ecx, dword [esp + 0x8c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x41]
mov ecx, dword [esp + 0xac]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x40]
mov ecx, dword [esp + 0xcc]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3f]
mov ecx, dword [esp + 0xc8]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3e]
mov ecx, dword [esp + 0xc4]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3d]
mov ecx, dword [esp + 0xc0]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3c]
mov ecx, dword [esp + 0x13c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3b]
mov ecx, dword [esp + 0x51c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3a]
mov ecx, dword [esp + 0x518]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x39]
mov ecx, dword [esp + 0x514]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x510]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x37]
mov ecx, dword [esp + 0x50c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x36]
mov ecx, dword [esp + 0x508]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x35]
mov ecx, dword [esp + 0x504]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x34]
mov ecx, dword [esp + 0x500]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x33]
mov ecx, dword [esp + 0x4fc]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x32]
mov ecx, dword [esp + 0x4f8]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x31]
mov ecx, dword [esp + 0x4f4]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x30]
sbb ax, word [esp + 0x4f0]
xor ecx, ecx
movzx eax, ax
cmp eax, 0x100
setb cl
push ecx
call fcn.0052fee0
add esp, 4
not al
and al, 1
movzx eax, al
push eax
call fcn.0052fee0
add esp, 4
and al, bl
movzx eax, al
push eax
call fcn.0052fee0
add esp, 4
test al, al
je 0x44e760
movdqa xmm0, xmmword [esp + 0x30]
movdqa xmm1, xmmword [esp + 0x40]
movdqa xmmword [esp + 0x670], xmm1
movdqa xmmword [esp + 0x660], xmm0
lea eax, [esp + 0x660]
push eax
lea eax, [esp + 0x2e4]
push eax
call fcn.005365f0
add esp, 8
movzx eax, byte [esp + 0x300]
cmp al, 1
mov byte [esp + 0x1d0], al
jne 0x454927
movsd xmm0, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movsd qword [esp + 0x8b8], xmm0
movsd xmm0, qword [esp + 0x2f0]
movq qword [esp + 0x8c0], xmm1
movsd qword [esp + 0x8c8], xmm0
movq xmm0, qword [esp + 0x2f8]
movq qword [esp + 0x8d0], xmm0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2f0], xmm0
movdqa xmmword [esp + 0x2e0], xmm0
lea esi, [esp + 0x8b8]
lea eax, [esp + 0x2e0]
push eax
push esi
call fcn.005383f0
add esp, 8
test al, al
je 0x44f24f
xor ecx, ecx
mov edx, edi
call fcn.0043b9e0
jmp 0x452ab0
lea eax, [esp + 0x520]
push eax
lea eax, [esp + 0xe4]
push eax
call fcn.00537fa0
add esp, 8
push esi
lea eax, [esp + 0x2e4]
push eax
call fcn.00535910
add esp, 8
cmp byte [esp + 0x300], 1
jne 0x44d1ce
movsd xmm1, qword [esp + 0x2f0]
movq xmm0, qword [esp + 0x2f8]
movq xmm2, qword [esp + 0x2e0]
movsd qword [esp + 0x640], xmm1
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0x648], xmm0
movq qword [esp + 0x638], xmm1
movq qword [esp + 0x630], xmm2
mov edx, 0x6b28c4
lea ecx, [esp + 0x2e0]
push esi
call fcn.0043f950
add esp, 4
lea ecx, [esp + 0x660]
lea edx, [esp + 0x2e0]
call fcn.0043c110
movsd xmm1, qword [esp + 0x670]
movq xmm0, qword [esp + 0x678]
movq xmm2, qword [esp + 0x660]
movsd qword [esp + 0x2f0], xmm1
movq xmm1, qword [esp + 0x668]
movq qword [esp + 0x2f8], xmm0
movq qword [esp + 0x2e0], xmm2
movq qword [esp + 0x2e8], xmm1
lea esi, [esp + 0x1d0]
lea eax, [esp + 0x2e0]
push eax
push esi
call fcn.00539170
add esp, 8
push esi
lea eax, [esp + 0x34]
push eax
call fcn.00537fa0
add esp, 8
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x554]
push eax
call fcn.00537ae0
add esp, 8
movsd xmm1, qword [esp + 0x670]
movq xmm0, qword [esp + 0x678]
movq xmm2, qword [esp + 0x660]
movsd qword [esp + 0x2f0], xmm1
movq xmm1, qword [esp + 0x668]
movq qword [esp + 0x2f8], xmm0
movq qword [esp + 0x2e0], xmm2
movq qword [esp + 0x2e8], xmm1
lea eax, [esp + 0x2e0]
push eax
push esi
call fcn.00539170
add esp, 8
movsd xmm1, qword [esp + 0x40]
movq xmm0, qword [esp + 0x48]
movq xmm2, qword [esp + 0x30]
movsd qword [esp + 0x2f0], xmm1
movq xmm1, qword [esp + 0x38]
movq qword [esp + 0x2f8], xmm0
movq qword [esp + 0x2e0], xmm2
movq qword [esp + 0x2e8], xmm1
push dword [esp + 0x4ec]
lea eax, [esp + 0x2e4]
push eax
push esi
call fcn.00537d80
add esp, 0xc
push esi
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0x2e8]
push eax
call fcn.00537ca0
add esp, 0xc
lea eax, [esp + 0x2e0]
push eax
lea eax, [esp + 0x634]
push eax
lea eax, [esp + 0x158]
push eax
call fcn.00537d80
add esp, 0xc
movsd xmm1, qword [esp + 0x40]
movq xmm0, qword [esp + 0x48]
movq xmm2, qword [esp + 0x30]
movsd qword [esp + 0x560], xmm1
movq xmm1, qword [esp + 0x38]
movq qword [esp + 0x568], xmm0
movq qword [esp + 0x550], xmm2
movq qword [esp + 0x558], xmm1
lea eax, [esp + 0x550]
push eax
push esi
call fcn.00537ae0
add esp, 8
push esi
lea eax, [esp + 0x2e4]
push eax
call fcn.00538480
add esp, 8
mov ecx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2e4]
xor eax, eax
mov esi, 0xa7179e84
mov edx, 0
lea ebx, [esi + 0x4ca22c3e]
mov dword [esp + 0x10], ecx
cmp ecx, 0xfc632551
mov ecx, edi
sbb ecx, 0
sbb edx, edx
cmp ecx, ebx
lea ebx, [esi + 0x15cf5c29]
lea esi, [esp + 0x1d0]
sbb edx, 0
mov edx, dword [esp + 0x2e8]
setl cl
movzx ecx, cl
mov dword [esp + 0x90], edx
sub edx, ecx
mov ecx, 0
sbb ecx, ecx
cmp edx, 0xa7179e84
mov edx, dword [esp + 0x2ec]
sbb ecx, 0
setl cl
movzx ecx, cl
mov dword [esp + 0x70], edx
sub edx, ecx
mov ecx, 0
sbb ecx, ecx
cmp edx, ebx
mov edx, dword [esp + 0x2f0]
sbb ecx, 0
setl cl
movzx ecx, cl
mov dword [esp + 0xd0], edx
sub edx, ecx
mov ecx, 0
sbb ecx, ecx
cmp edx, 0xffffffff
mov edx, dword [esp + 0x2f4]
sbb ecx, 0
setl cl
movzx ecx, cl
mov dword [esp + 0x110], edx
sub edx, ecx
mov ecx, 0
sbb ecx, ecx
cmp edx, 0xffffffff
mov edx, dword [esp + 0x2f8]
sbb ecx, 0
setl cl
movzx ecx, cl
cmp edx, ecx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x2fc]
sbb eax, eax
sar eax, 0x1f
mov dword [esp + 0x120], edx
add edx, eax
adc eax, 0
add edx, 1
adc eax, 0xffffffff
push eax
call fcn.0056ee00
add esp, 4
cmp al, 1
jne 0x44f241
lea eax, [esp + 0x150]
push eax
push esi
call fcn.00537ae0
add esp, 8
push esi
lea eax, [esp + 0x2e4]
push eax
call fcn.00538480
add esp, 8
mov edx, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e4]
xor eax, eax
mov esi, 0xa7179e84
cmp edx, 0xfc632551
mov dword [esp + 8], edx
mov dword [esp + 0x140], ecx
mov edx, 0
sbb ecx, 0
sbb edx, edx
xor ebx, ebx
add esi, 0x4ca22c3e
setb bl
cmp ecx, esi
mov esi, 0xa7179e84
sbb edx, ebx
mov edx, dword [esp + 0x2e8]
setl cl
movzx ecx, cl
mov dword [esp], edx
sub edx, ecx
mov ecx, 0
sbb ecx, ecx
cmp edx, esi
mov edx, dword [esp + 0x2ec]
sbb ecx, 0
setl cl
movzx ecx, cl
mov dword [esp + 0x28], edx
sub edx, ecx
mov ecx, 0
sbb ecx, ecx
xor ebx, ebx
add esi, 0x15cf5c29
setb bl
cmp edx, esi
mov edx, dword [esp + 0x2f0]
mov esi, dword [esp + 0x2f8]
sbb ecx, ebx
mov ebx, dword [esp + 0x2fc]
setl cl
movzx ecx, cl
mov dword [esp + 0x24], edx
sub edx, ecx
mov ecx, 0
sbb ecx, ecx
cmp edx, 0xffffffff
mov edx, dword [esp + 0x2f4]
sbb ecx, 0
setl cl
movzx ecx, cl
mov dword [esp + 4], edx
sub edx, ecx
mov ecx, 0
sbb ecx, ecx
cmp edx, 0xffffffff
mov edx, 0xffffffff
sbb ecx, 0
setl cl
movzx ecx, cl
cmp esi, ecx
mov ecx, 1
sbb eax, eax
sar eax, 0x1f
add ecx, ebx
adc edx, 0
add ecx, eax
adc edx, eax
push edx
call fcn.0056ee00
add esp, 4
cmp al, 1
jne 0x453050
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x90]
mov eax, edi
or eax, dword [esp + 0x10]
or edx, dword [esp + 0x110]
or ecx, dword [esp + 0x70]
or edx, dword [esp + 0xb0]
or ecx, eax
xor eax, eax
or edx, ecx
or edx, dword [esp + 0x120]
sete al
neg eax
push eax
call fcn.0056ee00
add esp, 4
test al, al
jne 0x44f241
mov eax, dword [esp + 0x140]
mov ecx, dword [esp]
mov edx, dword [esp + 0x24]
or edx, dword [esp + 4]
or eax, dword [esp + 8]
or ecx, dword [esp + 0x28]
or ecx, eax
or edx, esi
xor eax, eax
or edx, ecx
or edx, ebx
sete al
neg eax
push eax
call fcn.0056ee00
add esp, 4
test al, al
jne 0x44f241
lea eax, [esp + 0x680]
push eax
call fcn.00539470
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x858], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x85c], edi
mov dword [esp + 0x860], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x864], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x868], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x86c], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x870], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x874], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x878], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x87c], eax
mov eax, dword [esp]
mov dword [esp + 0x880], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x884], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x888], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x88c], eax
mov dword [esp + 0x890], esi
mov dword [esp + 0x894], ebx
lea eax, [esp + 0x858]
push eax
lea eax, [esp + 0x2e4]
push eax
call fcn.00533ed0
add esp, 8
lea eax, [esp + 0x878]
push eax
lea eax, [esp + 0x304]
push eax
call fcn.00533ed0
add esp, 8
movsd xmm1, qword [esp + 0x310]
movsd xmm2, qword [esp + 0x308]
movq xmm0, qword [esp + 0x318]
mov eax, dword [0x6b6a34]
movsd qword [esp + 0x690], xmm1
movsd xmm1, qword [esp + 0x300]
movsd qword [esp + 0x688], xmm2
movsd xmm2, qword [esp + 0x2f8]
movq qword [esp + 0x698], xmm0
movsd qword [esp + 0x680], xmm1
movsd xmm1, qword [esp + 0x2f0]
movsd qword [esp + 0x678], xmm2
movq xmm2, qword [esp + 0x2e0]
movsd qword [esp + 0x670], xmm1
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0x660], xmm2
movq qword [esp + 0x668], xmm1
movzx eax, byte [eax]
push 1
push 0x40
call fcn.004ed010
add esp, 8
test eax, eax
je 0x454aae
movsd xmm1, qword [esp + 0x690]
movsd xmm2, qword [esp + 0x688]
movq xmm0, qword [esp + 0x698]
mov edi, eax
mov esi, 0x40
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esp + 0x680]
movsd qword [eax + 0x28], xmm2
movsd xmm2, qword [esp + 0x678]
movq qword [eax + 0x38], xmm0
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x670]
movsd qword [eax + 0x18], xmm2
movq xmm2, qword [esp + 0x660]
movsd qword [eax + 0x10], xmm1
movq xmm1, qword [esp + 0x668]
movq qword [eax], xmm2
movq qword [eax + 8], xmm1
jmp 0x4548c1
cmp dword [esp + 0x2c], 0x30
jne 0x4549d5
mov eax, dword [esp + 0xa8]
movsd xmm0, qword [eax + 0x28]
movsd qword [esp + 0x308], xmm0
movsd xmm0, qword [eax + 0x20]
movsd qword [esp + 0x300], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [esp + 0x2f8], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x2f0], xmm0
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x2e8], xmm1
movq qword [esp + 0x2e0], xmm0
jmp 0x44fa30
mov edx, dword [esp + 0x2c]
mov eax, 0x30
mov ecx, 0x30
sub eax, edx
jb 0x4549ba
lea eax, [esp + eax + 0x2e0]
push edx
push dword [esp + 0xac]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
movq xmm0, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x303]
movsd xmm2, qword [esp + 0x2fb]
movq xmm4, qword [esp + 0x2eb]
movq xmm3, qword [esp + 0x2e3]
lea ecx, [eax + 4]
movzx eax, byte [esp + 0x2e2]
movq qword [esp + 0x67d], xmm0
movsd qword [esp + 0x678], xmm1
movsd xmm1, qword [esp + 0x2f3]
movsd qword [esp + 0x670], xmm2
movq qword [esp + 0x660], xmm4
mov byte [esp + 0x522], al
movzx eax, word [esp + 0x2e0]
movsd qword [esp + 0x668], xmm1
mov word [esp + 0x520], ax
movsd qword [esp + 0x533], xmm1
movsd qword [esp + 0x53b], xmm2
movq xmm2, qword [esp + 0x678]
movq xmm1, qword [esp + 0x67d]
movq qword [esp + 0x52b], xmm4
movq qword [esp + 0x543], xmm2
movq qword [esp + 0x548], xmm1
movq qword [esp + 0x523], xmm3
lea eax, [esp + 0x2b0]
mov dword [esp + 0x8ec], ecx
push ecx
push eax
call fcn.0052bba0
add esp, 8
lea eax, [esp + 0x630]
mov ecx, 0xc
mov esi, 0x6b2d80
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xe0]
push eax
push ecx
call fcn.00524010
add esp, 8
movdqa xmm0, xmmword [str.6666666666666666_]
lea eax, [esp + 0x220]
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
push 0x81
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0x1d0]
mov ecx, 0x10
mov esi, 0x6b4400
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x210], 1
lea ecx, [esp + 0x150]
push 1
push ecx
mov dword [esp + 0x634], eax
push eax
call fcn.005d6680
add esp, 0xc
mov byte [esp + 0x2a0], 0
lea ebx, [esp + 0x2e0]
push 0xd8
lea eax, [esp + 0x1d4]
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movaps xmm1, xmmword [esp + 0x160]
movaps xmm2, xmmword [esp + 0x180]
movaps xmm0, xmmword [esp + 0x150]
lea edi, [esp + 0x6e0]
lea esi, [esp + 0x550]
mov ecx, 0x20
movaps xmmword [esp + 0x560], xmm1
movaps xmm1, xmmword [esp + 0x170]
movaps xmmword [esp + 0x580], xmm2
movaps xmm2, xmmword [esp + 0x1a0]
movaps xmmword [esp + 0x550], xmm0
movaps xmmword [esp + 0x570], xmm1
movaps xmm1, xmmword [esp + 0x190]
movaps xmmword [esp + 0x5a0], xmm2
movdqa xmm2, xmmword [esp + 0x1c0]
movaps xmmword [esp + 0x590], xmm1
movaps xmm1, xmmword [esp + 0x1b0]
movdqa xmmword [esp + 0x5c0], xmm2
movaps xmmword [esp + 0x5b0], xmm1
movdqa xmm1, xmmword [0x6b2660]
movdqu xmmword [esp + 0x660], xmm1
movdqu xmmword [esp + 0x670], xmm1
movdqu xmmword [esp + 0x680], xmm1
movdqu xmmword [esp + 0x690], xmm1
movdqu xmmword [esp + 0x6a0], xmm1
movdqu xmmword [esp + 0x6b0], xmm1
movdqu xmmword [esp + 0x6c0], xmm1
movdqu xmmword [esp + 0x6d0], xmm1
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x760]
push 0xd8
push ebx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movdqa xmm0, xmmword [0x6b2670]
mov al, 1
xor ecx, ecx
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x660]
mov dword [esp + 0x628], eax
movdqa xmmword [esp + 0x50], xmm0
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x30], xmm0
nop word cs:[eax + eax]
movzx ebx, byte [esp + 0x830]
cmp ebx, 0x4f
ja 0x44fdd0
movsd xmm1, qword [esp + 0x50]
lea eax, [esp + 0x7b0]
movsd xmm2, qword [esp + 0x48]
movq xmm0, qword [esp + 0x58]
movsd qword [eax + ebx + 0x20], xmm1
movsd xmm1, qword [esp + 0x40]
movsd qword [eax + ebx + 0x18], xmm2
movq xmm2, qword [esp + 0x30]
movq qword [eax + ebx + 0x28], xmm0
movsd qword [eax + ebx + 0x10], xmm1
movq xmm1, qword [esp + 0x38]
movq qword [eax + ebx], xmm2
movq qword [eax + ebx + 8], xmm1
add ebx, 0x30
jmp 0x44fe51
mov esi, 0x80
lea eax, [esp + 0x7b0]
mov dword [esp + 0x10], ecx
sub esi, ebx
add eax, ebx
push esi
lea ecx, [esp + 0x34]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x7a0], 1
adc dword [esp + 0x7a4], 0
adc dword [esp + 0x7a8], 0
adc dword [esp + 0x7ac], 0
push 1
lea eax, [esp + 0x7b4]
push eax
push edi
call fcn.005d6680
add esp, 0xc
add ebx, 0xffffffb0
lea eax, [esp + esi + 0x30]
mov ecx, ebx
and ecx, 0xffffff80
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x7b8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x10]
lea edi, [esp + 0x760]
movzx esi, bl
mov byte [esp + 0x830], bl
mov byte [esp + 0x2e0], cl
cmp esi, 0x7f
jae 0x44ff80
lea eax, [esi + 1]
cmp esi, 0x4f
mov byte [esp + esi + 0x7b0], cl
mov byte [esp + 0x830], al
jae 0x44fff0
movsd xmm1, qword [esp + 0x2d0]
lea edi, [esp + 0x7b0]
movsd xmm2, qword [esp + 0x2c8]
movq xmm0, qword [esp + 0x2d8]
lea ebx, [esi + 0x31]
cmp esi, 0x1e
movsd qword [edi + eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x2c0]
movsd qword [edi + eax + 0x18], xmm2
movq xmm2, qword [esp + 0x2b0]
movq qword [edi + eax + 0x28], xmm0
movsd qword [edi + eax + 0x10], xmm1
movq xmm1, qword [esp + 0x2b8]
movq qword [edi + eax], xmm2
movq qword [edi + eax + 8], xmm1
mov byte [esp + 0x830], bl
jbe 0x4500e8
mov eax, edi
mov edi, 0x4f
sub edi, esi
add ebx, eax
push edi
lea eax, [esp + 0x524]
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x7a0], 1
adc dword [esp + 0x7a4], 0
adc dword [esp + 0x7a8], 0
adc dword [esp + 0x7ac], 0
push 1
lea eax, [esp + 0x7b4]
push eax
lea eax, [esp + 0x768]
push eax
call fcn.005d6680
add esp, 0xc
add esi, 0xffffffe1
lea eax, [esp + edi + 0x520]
mov ecx, esi
and ecx, 0xffffff80
add ecx, eax
push esi
push ecx
lea eax, [esp + 0x7b8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, esi
jmp 0x450144
test bl, bl
je 0x45006e
mov edi, 0x80
lea ebx, [esp + 0x7b0]
sub edi, esi
add esi, ebx
push edi
lea eax, [esp + 0x2e4]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x7a0], 1
adc dword [esp + 0x7a4], 0
adc dword [esp + 0x7a8], 0
adc dword [esp + 0x7ac], 0
push 1
push ebx
lea eax, [esp + 0x768]
push eax
call fcn.005d6680
add esp, 0xc
lea eax, [esp + edi + 0x2e0]
xor ebx, ebx
jmp 0x45007a
mov ebx, edi
mov edi, 0x7f
lea ecx, [esp + 0x7b0]
sub edi, esi
add eax, ecx
push edi
lea ecx, [esp + 0x2b4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x7a0], 1
adc dword [esp + 0x7a4], 0
adc dword [esp + 0x7a8], 0
adc dword [esp + 0x7ac], 0
push 1
lea eax, [esp + 0x7b4]
push eax
push ebx
call fcn.005d6680
add esp, 0xc
add esi, 0xffffffb1
lea eax, [esp + edi + 0x2b0]
mov ecx, esi
and ecx, 0xffffff80
add ecx, eax
push esi
push ecx
lea edi, [esp + 0x7b8]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, esi
jmp 0x4500e8
mov ebx, 1
lea eax, [esp + 0x2e0]
push ebx
push eax
lea edi, [esp + 0x7b8]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x2d0]
movsd xmm2, qword [esp + 0x2c8]
movq xmm0, qword [esp + 0x2d8]
movsd qword [edi + ebx + 0x20], xmm1
movsd xmm1, qword [esp + 0x2c0]
movsd qword [edi + ebx + 0x18], xmm2
movq xmm2, qword [esp + 0x2b0]
movq qword [edi + ebx + 0x28], xmm0
movsd qword [edi + ebx + 0x10], xmm1
movq xmm1, qword [esp + 0x2b8]
movq qword [edi + ebx], xmm2
movq qword [edi + ebx + 8], xmm1
or ebx, 0x30
movsd xmm1, qword [esp + 0x540]
movsd xmm2, qword [esp + 0x538]
movq xmm0, qword [esp + 0x548]
movsd qword [edi + ebx + 0x20], xmm1
movsd xmm1, qword [esp + 0x530]
movsd qword [edi + ebx + 0x18], xmm2
movq xmm2, qword [esp + 0x520]
movq qword [edi + ebx + 0x28], xmm0
movsd qword [edi + ebx + 0x10], xmm1
movq xmm1, qword [esp + 0x528]
movq qword [edi + ebx], xmm2
movq qword [edi + ebx + 8], xmm1
add ebx, 0x30
mov byte [esp + 0x830], bl
push 0x1d8
lea eax, [esp + 0x664]
push eax
lea ebx, [esp + 0x2e8]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x81
push 0
lea eax, [esp + 0x5a8]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0x550]
mov ecx, 0x10
mov esi, 0x6b4400
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x59c], 0
mov dword [esp + 0x598], 0
mov dword [esp + 0x594], 0
mov dword [esp + 0x590], 1
push 1
push ebx
push eax
call fcn.005d6680
add esp, 0xc
mov byte [esp + 0x620], 0
push 0xd8
lea eax, [esp + 0x3e4]
push eax
lea eax, [esp + 0x1d8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x218]
movzx esi, byte [esp + 0x2a0]
mov edi, dword [esp + 0x210]
mov ebx, dword [esp + 0x214]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x21c]
mov byte [esp + esi + 0x220], 0x80
mov dword [esp + 0x90], eax
mov eax, esi
xor eax, 0x7f
je 0x450246
lea ecx, [esp + 0x220]
lea ecx, [esi + ecx + 1]
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x90]
shld edx, ecx, 0xa
shld ecx, ebx, 0xa
shld ebx, edi, 0xa
shl edi, 0xa
mov eax, ebx
lea ebx, [esi*8]
xor esi, 0x70
bswap edx
or ebx, edi
mov edi, ecx
cmp esi, 0x10
bswap eax
bswap edi
bswap ebx
jae 0x450320
mov esi, edx
mov dword [esp + 0x10], eax
push 1
lea eax, [esp + 0x224]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d6680
add esp, 0xc
mov eax, dword [esp + 0x10]
pxor xmm0, xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], edi
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1c8], eax
push 1
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d6680
add esp, 0xc
jmp 0x450356
mov dword [esp + 0x290], edx
mov dword [esp + 0x294], edi
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], ebx
push 1
lea eax, [esp + 0x224]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d6680
add esp, 0xc
movdqu xmm0, xmmword [esp + 0x1d0]
pxor xmm4, xmm4
movdqu xmm1, xmmword [esp + 0x1e0]
movzx ebx, byte [esp + 0x620]
movdqa xmm2, xmm0
punpcklbw xmm0, xmm4
cmp ebx, 0x4f
punpckhbw xmm2, xmm4
pshufd xmm0, xmm0, 0x4e
pshufd xmm2, xmm2, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm0, xmm0, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm0, xmm2
movdqa xmm2, xmm1
punpcklbw xmm1, xmm4
punpckhbw xmm2, xmm4
pshufd xmm1, xmm1, 0x4e
pshufd xmm2, xmm2, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm1, xmm2
movdqu xmm2, xmmword [esp + 0x1f0]
movdqu xmmword [esp + 0x1d0], xmm0
movdqu xmmword [esp + 0x1e0], xmm1
movdqa xmm3, xmm2
punpcklbw xmm2, xmm4
punpckhbw xmm3, xmm4
pshufd xmm2, xmm2, 0x4e
pshufd xmm3, xmm3, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm2, xmm3
movdqu xmmword [esp + 0x1f0], xmm2
ja 0x450490
movsd xmm1, qword [esp + 0x1f0]
lea eax, [esp + 0x5a0]
movsd xmm2, qword [esp + 0x1e8]
movq xmm0, qword [esp + 0x1f8]
movsd qword [eax + ebx + 0x20], xmm1
movsd xmm1, qword [esp + 0x1e0]
movsd qword [eax + ebx + 0x18], xmm2
movq xmm2, qword [esp + 0x1d0]
movq qword [eax + ebx + 0x28], xmm0
movsd qword [eax + ebx + 0x10], xmm1
movq xmm1, qword [esp + 0x1d8]
movq qword [eax + ebx], xmm2
movq qword [eax + ebx + 8], xmm1
add ebx, 0x30
jmp 0x450509
mov esi, 0x80
lea edi, [esp + 0x5a0]
sub esi, ebx
lea eax, [edi + ebx]
push esi
lea ecx, [esp + 0x1d4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x590], 1
adc dword [esp + 0x594], 0
adc dword [esp + 0x598], 0
adc dword [esp + 0x59c], 0
push 1
push edi
lea eax, [esp + 0x558]
push eax
call fcn.005d6680
add esp, 0xc
add ebx, 0xffffffb0
lea eax, [esp + esi + 0x1d0]
mov ecx, ebx
and ecx, 0xffffff80
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x5a8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x620], bl
push 0xd8
lea eax, [esp + 0x554]
push eax
lea eax, [esp + 0x1d8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x218]
movzx esi, byte [esp + 0x2a0]
mov edi, dword [esp + 0x210]
mov ebx, dword [esp + 0x214]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x21c]
mov byte [esp + esi + 0x220], 0x80
mov dword [esp + 0x90], eax
mov eax, esi
xor eax, 0x7f
je 0x450582
lea ecx, [esp + 0x220]
lea ecx, [esi + ecx + 1]
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x90]
shld edx, ecx, 0xa
shld ecx, ebx, 0xa
shld ebx, edi, 0xa
shl edi, 0xa
mov eax, ebx
lea ebx, [esi*8]
xor esi, 0x70
bswap edx
or ebx, edi
mov edi, ecx
cmp esi, 0x10
bswap eax
bswap edi
bswap ebx
jae 0x450660
mov esi, edx
mov dword [esp + 0x10], eax
push 1
lea eax, [esp + 0x224]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d6680
add esp, 0xc
mov eax, dword [esp + 0x10]
pxor xmm0, xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], edi
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1c8], eax
push 1
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d6680
add esp, 0xc
jmp 0x450696
mov dword [esp + 0x290], edx
mov dword [esp + 0x294], edi
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], ebx
push 1
lea eax, [esp + 0x224]
push eax
lea eax, [esp + 0x1d8]
push eax
call fcn.005d6680
add esp, 0xc
movdqu xmm1, xmmword [esp + 0x1d0]
movdqu xmm0, xmmword [esp + 0x1e0]
pxor xmm3, xmm3
lea eax, [esp + 0x180]
movdqa xmm2, xmm1
punpcklbw xmm1, xmm3
pshufd xmm1, xmm1, 0x4e
punpckhbw xmm2, xmm3
pshuflw xmm1, xmm1, 0x1b
pshufd xmm2, xmm2, 0x4e
pshufhw xmm4, xmm1, 0x1b
movdqa xmm1, xmm0
punpcklbw xmm0, xmm3
pshuflw xmm2, xmm2, 0x1b
pshufd xmm0, xmm0, 0x4e
pshufhw xmm2, xmm2, 0x1b
punpckhbw xmm1, xmm3
pshuflw xmm0, xmm0, 0x1b
packuswb xmm4, xmm2
pshufd xmm1, xmm1, 0x4e
pshufhw xmm2, xmm0, 0x1b
movdqu xmm0, xmmword [esp + 0x1f0]
pshuflw xmm1, xmm1, 0x1b
movdqu xmmword [esp + 0x150], xmm4
movdqa xmmword [esp + 0x10], xmm4
pshufhw xmm1, xmm1, 0x1b
packuswb xmm2, xmm1
movdqu xmmword [esp + 0x160], xmm2
movdqa xmmword [esp + 0x90], xmm2
movdqa xmm2, xmmword [str.6666666666666666_]
movdqa xmm1, xmm0
punpcklbw xmm0, xmm3
punpckhbw xmm1, xmm3
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm1, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm0, xmm0, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm0, xmm1
movdqu xmmword [esp + 0x170], xmm0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
movdqa xmmword [esp + 0x70], xmm0
movdqu xmm0, xmmword [esp + 0x160]
movdqu xmm1, xmmword [esp + 0x150]
pxor xmm1, xmm2
pxor xmm0, xmm2
movdqu xmmword [esp + 0x150], xmm1
movdqu xmmword [esp + 0x160], xmm0
movdqu xmm0, xmmword [esp + 0x170]
movdqu xmm1, xmmword [esp + 0x180]
pxor xmm0, xmm2
pxor xmm1, xmm2
movdqu xmmword [esp + 0x170], xmm0
movdqu xmmword [esp + 0x180], xmm1
movdqu xmm0, xmmword [esp + 0x190]
movdqu xmm1, xmmword [esp + 0x1a0]
pxor xmm0, xmm2
pxor xmm1, xmm2
movdqu xmmword [esp + 0x190], xmm0
movdqu xmmword [esp + 0x1a0], xmm1
movdqu xmm0, xmmword [esp + 0x1b0]
movdqu xmm1, xmmword [esp + 0x1c0]
pxor xmm0, xmm2
pxor xmm1, xmm2
movdqu xmmword [esp + 0x1b0], xmm0
movdqu xmmword [esp + 0x1c0], xmm1
push 0x81
push 0
lea eax, [esp + 0x228]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0x1d0]
mov ecx, 0x10
mov esi, 0x6b4400
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x210], 1
push 1
lea ecx, [esp + 0x154]
push ecx
push eax
call fcn.005d6680
add esp, 0xc
movdqa xmm0, xmmword [0x6b2660]
movdqa xmm1, xmmword [esp + 0x10]
movdqa xmm3, xmmword [esp + 0x90]
movdqa xmm2, xmmword [esp + 0x70]
mov byte [esp + 0x2a0], 0
pxor xmm1, xmm0
pxor xmm3, xmm0
pxor xmm2, xmm0
movdqa xmmword [esp + 0x10], xmm1
movdqa xmmword [esp + 0x90], xmm3
movdqa xmmword [esp + 0x70], xmm2
push 0xd8
lea eax, [esp + 0x1d4]
push eax
lea ebx, [esp + 0x2e8]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x80
lea eax, [esp + 0x154]
push eax
lea esi, [esp + 0x558]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movdqa xmm0, xmmword [esp + 0x10]
movaps xmm1, xmmword [esp + 0x90]
movdqa xmm2, xmmword [esp + 0x70]
mov ecx, 0x20
lea edi, [esp + 0x6e0]
movdqu xmmword [esp + 0x660], xmm0
movups xmmword [esp + 0x670], xmm1
movdqa xmm1, xmmword [0x6b2660]
movdqu xmmword [esp + 0x680], xmm2
movdqu xmmword [esp + 0x690], xmm1
movdqu xmmword [esp + 0x6a0], xmm1
movdqu xmmword [esp + 0x6b0], xmm1
movdqu xmmword [esp + 0x6c0], xmm1
movdqu xmmword [esp + 0x6d0], xmm1
rep movsd dword es:[edi], dword [esi]
push 0xd8
push ebx
lea edi, [esp + 0x768]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx ebx, byte [esp + 0x830]
cmp ebx, 0x4f
ja 0x450a90
movsd xmm1, qword [esp + 0x50]
lea eax, [esp + 0x7b0]
movsd xmm2, qword [esp + 0x48]
movq xmm0, qword [esp + 0x58]
movsd qword [eax + ebx + 0x20], xmm1
movsd xmm1, qword [esp + 0x40]
movsd qword [eax + ebx + 0x18], xmm2
movq xmm2, qword [esp + 0x30]
movq qword [eax + ebx + 0x28], xmm0
movsd qword [eax + ebx + 0x10], xmm1
movq xmm1, qword [esp + 0x38]
movq qword [eax + ebx], xmm2
movq qword [eax + ebx + 8], xmm1
add ebx, 0x30
jmp 0x450b02
mov esi, 0x80
lea eax, [esp + 0x7b0]
sub esi, ebx
add eax, ebx
push esi
lea ecx, [esp + 0x34]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x7a0], 1
adc dword [esp + 0x7a4], 0
adc dword [esp + 0x7a8], 0
adc dword [esp + 0x7ac], 0
push 1
lea eax, [esp + 0x7b4]
push eax
push edi
call fcn.005d6680
add esp, 0xc
add ebx, 0xffffffb0
lea eax, [esp + esi + 0x30]
mov ecx, ebx
and ecx, 0xffffff80
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x7b8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x830], bl
lea ecx, [esp + 0x30]
lea edx, [esp + 0x660]
call fcn.0043a6e0
test byte [esp + 0xd0], 1
mov cl, 1
lea edi, [esp + 0x760]
mov dword [esp + 0xd0], 0
jne 0x44fd60
lea ecx, [esp + 0x310]
push 0x1d8
lea eax, [esp + 0x664]
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx ecx, byte [esp + 0x10e]
movzx edx, byte [esp + 0x10d]
movaps xmm0, xmmword [esp + 0x30]
movdqa xmm1, xmmword [esp + 0x40]
movzx eax, byte [esp + 0x10f]
mov dword [esp], ecx
movzx ecx, byte [esp + 0x10c]
mov dword [esp + 0x28], edx
movzx edx, byte [esp + 0x10b]
movaps xmmword [esp + 0x2e0], xmm0
movdqa xmm0, xmmword [esp + 0x50]
movdqa xmmword [esp + 0x2f0], xmm1
mov byte [esp + 8], al
mov dword [esp + 0x24], ecx
movzx ecx, byte [esp + 0x10a]
mov dword [esp + 4], edx
movzx edx, byte [esp + 0x109]
movdqa xmmword [esp + 0x300], xmm0
mov dword [esp + 0x6c], ecx
movzx ecx, byte [esp + 0x108]
mov dword [esp + 0x68], edx
movzx edx, byte [esp + 0x107]
mov dword [esp + 0x64], ecx
movzx ecx, byte [esp + 0x106]
mov dword [esp + 0x8c], edx
movzx edx, byte [esp + 0x105]
mov dword [esp + 0xac], ecx
movzx ecx, byte [esp + 0x104]
mov dword [esp + 0xcc], edx
movzx edx, byte [esp + 0x103]
mov dword [esp + 0xc8], ecx
movzx ecx, byte [esp + 0x102]
mov dword [esp + 0xc4], edx
movzx edx, byte [esp + 0x101]
mov dword [esp + 0xc0], ecx
movzx ecx, byte [esp + 0x100]
mov dword [esp + 0x13c], edx
movzx edx, byte [esp + 0xff]
mov dword [esp + 0x51c], ecx
movzx ecx, byte [esp + 0xfe]
mov dword [esp + 0x518], edx
movzx edx, byte [esp + 0xfd]
mov dword [esp + 0x514], ecx
movzx ecx, byte [esp + 0xfc]
mov dword [esp + 0x510], edx
movzx edx, byte [esp + 0xfb]
mov dword [esp + 0x50c], ecx
movzx ecx, byte [esp + 0xfa]
mov dword [esp + 0x508], edx
movzx edx, byte [esp + 0xf9]
mov dword [esp + 0x504], ecx
movzx ecx, byte [esp + 0xf8]
mov dword [esp + 0x500], edx
movzx edx, byte [esp + 0xf7]
mov dword [esp + 0x4fc], ecx
movzx ecx, byte [esp + 0xf6]
mov dword [esp + 0x4f8], edx
movzx edx, byte [esp + 0xf5]
mov dword [esp + 0x4f4], ecx
movzx ecx, byte [esp + 0xf4]
mov dword [esp + 0x4f0], edx
movzx edx, byte [esp + 0xf3]
mov dword [esp + 0x4ec], ecx
movzx ecx, byte [esp + 0xf2]
mov dword [esp + 0x93c], edx
movzx edx, byte [esp + 0xf1]
mov dword [esp + 0x938], ecx
movzx ecx, byte [esp + 0xf0]
mov dword [esp + 0x934], edx
movzx edx, byte [esp + 0xef]
mov dword [esp + 0x930], ecx
movzx ecx, byte [esp + 0xee]
mov dword [esp + 0x92c], edx
movzx edx, byte [esp + 0xed]
mov dword [esp + 0x928], ecx
movzx ecx, byte [esp + 0xec]
mov dword [esp + 0x924], edx
movzx edx, byte [esp + 0xeb]
mov dword [esp + 0x920], ecx
movzx ecx, byte [esp + 0xea]
mov dword [esp + 0x91c], edx
movzx edx, byte [esp + 0xe9]
mov dword [esp + 0x918], ecx
movzx ecx, byte [esp + 0xe8]
mov dword [esp + 0x914], edx
movzx edx, byte [esp + 0xe7]
mov dword [esp + 0x910], ecx
movzx ecx, byte [esp + 0xe6]
mov dword [esp + 0x90c], edx
movzx edx, byte [esp + 0xe5]
mov dword [esp + 0x908], ecx
movzx ecx, byte [esp + 0xe4]
mov dword [esp + 0x904], edx
movzx edx, byte [esp + 0xe3]
mov dword [esp + 0x900], ecx
movzx ecx, byte [esp + 0xe2]
mov dword [esp + 0x8fc], edx
movzx edx, byte [esp + 0xe1]
mov dword [esp + 0x8f8], ecx
movzx ecx, byte [esp + 0xe0]
mov dword [esp + 0x8f4], edx
mov dword [esp + 0x8f0], ecx
nop word [eax + eax]
movzx ebx, byte [esp + 0x4e0]
pxor xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x30], xmm0
cmp ebx, 0x50
jae 0x450ed0
movsd xmm0, qword [esp + 0x308]
lea eax, [esp + 0x460]
movsd qword [eax + ebx + 0x28], xmm0
movsd xmm0, qword [esp + 0x300]
movsd qword [eax + ebx + 0x20], xmm0
movsd xmm0, qword [esp + 0x2f8]
movsd qword [eax + ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x2f0]
movsd qword [eax + ebx + 0x10], xmm0
movq xmm0, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [eax + ebx + 8], xmm1
movq qword [eax + ebx], xmm0
add ebx, 0x30
jmp 0x450f49
mov esi, 0x80
lea edi, [esp + 0x460]
sub esi, ebx
lea eax, [edi + ebx]
push esi
lea ecx, [esp + 0x2e4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x450], 1
adc dword [esp + 0x454], 0
adc dword [esp + 0x458], 0
adc dword [esp + 0x45c], 0
push 1
push edi
lea eax, [esp + 0x418]
push eax
call fcn.005d6680
add esp, 0xc
add ebx, 0xffffffb0
lea eax, [esp + esi + 0x2e0]
mov ecx, ebx
and ecx, 0xffffff80
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x468]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x4e0], bl
lea ecx, [esp + 0x660]
lea edx, [esp + 0x310]
call fcn.0043a6e0
movsd xmm0, qword [esp + 0x688]
movsd xmm1, qword [esp + 0x668]
movsd qword [esp + 0x308], xmm0
movsd xmm0, qword [esp + 0x680]
movsd qword [esp + 0x2e8], xmm1
movsd qword [esp + 0x300], xmm0
movsd xmm0, qword [esp + 0x678]
movdqa xmm1, xmmword [esp + 0x300]
movsd qword [esp + 0x2f8], xmm0
movsd xmm0, qword [esp + 0x670]
movdqa xmmword [esp + 0x50], xmm1
movsd qword [esp + 0x2f0], xmm0
movsd xmm0, qword [esp + 0x660]
movdqa xmm2, xmmword [esp + 0x2f0]
movsd qword [esp + 0x2e0], xmm0
movzx ebx, byte [esp + 0x4e0]
movdqa xmm0, xmmword [esp + 0x2e0]
movdqa xmmword [esp + 0x40], xmm2
cmp ebx, 0x50
movdqa xmmword [esp + 0x30], xmm0
jae 0x4510a0
movsd xmm0, qword [esp + 0x308]
lea eax, [esp + 0x460]
movsd qword [eax + ebx + 0x28], xmm0
movsd xmm0, qword [esp + 0x300]
movsd qword [eax + ebx + 0x20], xmm0
movsd xmm0, qword [esp + 0x2f8]
movsd qword [eax + ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x2f0]
movsd qword [eax + ebx + 0x10], xmm0
movq xmm0, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [eax + ebx + 8], xmm1
movq qword [eax + ebx], xmm0
add ebx, 0x30
movzx eax, bl
mov byte [esp + 0x4e0], bl
cmp eax, 0x7f
jae 0x45112c
mov byte [esp + eax + 0x460], 0
inc eax
jmp 0x4511a9
mov esi, 0x80
lea edi, [esp + 0x460]
sub esi, ebx
lea eax, [edi + ebx]
push esi
lea ecx, [esp + 0x2e4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x450], 1
adc dword [esp + 0x454], 0
adc dword [esp + 0x458], 0
adc dword [esp + 0x45c], 0
push 1
push edi
lea eax, [esp + 0x418]
push eax
call fcn.005d6680
add esp, 0xc
add ebx, 0xffffffb0
lea eax, [esp + esi + 0x2e0]
mov ecx, ebx
and ecx, 0xffffff80
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x468]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, bl
mov byte [esp + 0x4e0], bl
cmp eax, 0x7f
jb 0x451083
test bl, bl
je 0x451189
mov esi, 0x80
lea ebx, [esp + 0x460]
sub esi, eax
add eax, ebx
push esi
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
add dword [esp + 0x450], 1
adc dword [esp + 0x454], 0
adc dword [esp + 0x458], 0
adc dword [esp + 0x45c], 0
push 1
push ebx
lea eax, [esp + 0x418]
push eax
call fcn.005d6680
add esp, 0xc
lea eax, [esi + 0x6b431c]
xor ecx, ecx
jmp 0x451193
mov eax, 0x6b431c
mov ecx, 1
push ecx
push eax
lea eax, [esp + 0x468]
push eax
mov esi, ecx
call sub.msvcrt.dll_memcpy
mov eax, esi
add esp, 0xc
mov byte [esp + 0x4e0], al
lea ecx, [esp + 0x660]
lea edx, [esp + 0x310]
call fcn.0043a6e0
lea eax, [esp + 0x690]
movdqa xmm1, xmmword [str.6666666666666666_]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
movdqu xmm0, xmmword [esp + 0x660]
movdqu xmm2, xmmword [esp + 0x670]
movdqu xmm3, xmmword [esp + 0x680]
movdqu xmm4, xmmword [esp + 0x690]
movdqu xmm5, xmmword [esp + 0x6a0]
movdqu xmm6, xmmword [esp + 0x6b0]
movdqu xmm7, xmmword [esp + 0x6c0]
movdqa xmmword [esp + 0x10], xmm0
pxor xmm0, xmm1
movdqa xmmword [esp + 0x90], xmm2
movdqa xmmword [esp + 0x70], xmm3
movdqa xmmword [esp + 0xd0], xmm4
movdqa xmmword [esp + 0x110], xmm5
movdqa xmmword [esp + 0xb0], xmm6
movdqa xmmword [esp + 0x120], xmm7
movdqu xmmword [esp + 0x150], xmm0
movdqa xmm0, xmm2
movdqa xmm2, xmm4
pxor xmm0, xmm1
pxor xmm2, xmm1
movdqu xmmword [esp + 0x160], xmm0
movdqa xmm0, xmm3
movdqa xmm3, xmm5
pxor xmm0, xmm1
pxor xmm3, xmm1
movdqu xmmword [esp + 0x170], xmm0
movdqu xmmword [esp + 0x180], xmm2
movdqa xmm2, xmm6
movdqu xmmword [esp + 0x190], xmm3
movdqa xmm3, xmm7
pxor xmm2, xmm1
pxor xmm3, xmm1
movdqu xmmword [esp + 0x1a0], xmm2
movdqu xmm2, xmmword [esp + 0x6d0]
movdqu xmmword [esp + 0x1b0], xmm3
movdqa xmmword [esp + 0x140], xmm2
pxor xmm2, xmm1
movdqu xmmword [esp + 0x1c0], xmm2
push 0x81
push 0
lea eax, [esp + 0x228]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esp + 0x1d0]
mov ecx, 0x10
mov esi, 0x6b4400
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x210], 1
push 1
lea ecx, [esp + 0x154]
push ecx
push eax
call fcn.005d6680
add esp, 0xc
movdqa xmm0, xmmword [0x6b2660]
movdqa xmm2, xmmword [esp + 0x90]
movdqa xmm3, xmmword [esp + 0x70]
movdqa xmm1, xmmword [esp + 0x10]
mov byte [esp + 0x2a0], 0
pxor xmm2, xmm0
pxor xmm3, xmm0
pxor xmm1, xmm0
movdqa xmmword [esp + 0x90], xmm2
movdqa xmm2, xmmword [esp + 0xd0]
movdqa xmmword [esp + 0x70], xmm3
movdqa xmm3, xmmword [esp + 0x110]
movdqa xmmword [esp + 0x10], xmm1
pxor xmm2, xmm0
pxor xmm3, xmm0
movdqa xmmword [esp + 0xd0], xmm2
movdqa xmm2, xmmword [esp + 0xb0]
movdqa xmmword [esp + 0x110], xmm3
movdqa xmm3, xmmword [esp + 0x120]
pxor xmm2, xmm0
pxor xmm3, xmm0
movdqa xmmword [esp + 0xb0], xmm2
movdqa xmm2, xmmword [esp + 0x140]
movdqa xmmword [esp + 0x120], xmm3
pxor xmm2, xmm0
movdqa xmmword [esp + 0x140], xmm2
push 0xd8
lea eax, [esp + 0x1d4]
push eax
lea ebx, [esp + 0x668]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x80
lea eax, [esp + 0x154]
push eax
lea esi, [esp + 0x558]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movdqa xmm0, xmmword [esp + 0x10]
movaps xmm1, xmmword [esp + 0x90]
movaps xmm2, xmmword [esp + 0x70]
mov ecx, 0x20
lea edi, [esp + 0x390]
movdqa xmmword [esp + 0x310], xmm0
movaps xmmword [esp + 0x320], xmm1
movaps xmm1, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x330], xmm2
movaps xmm2, xmmword [esp + 0x110]
movaps xmmword [esp + 0x340], xmm1
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [esp + 0x350], xmm2
movdqa xmm2, xmmword [esp + 0x120]
movaps xmmword [esp + 0x360], xmm1
movdqa xmm1, xmmword [esp + 0x140]
movdqa xmmword [esp + 0x370], xmm2
movdqa xmmword [esp + 0x380], xmm1
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x410]
push 0xd8
push ebx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx ebx, byte [esp + 0x4e0]
cmp ebx, 0x4f
ja 0x4515e0
movsd xmm0, qword [esp + 0x308]
lea eax, [esp + 0x460]
movsd qword [eax + ebx + 0x28], xmm0
movsd xmm0, qword [esp + 0x300]
movsd qword [eax + ebx + 0x20], xmm0
movsd xmm0, qword [esp + 0x2f8]
movsd qword [eax + ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x2f0]
movsd qword [eax + ebx + 0x10], xmm0
movq xmm0, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [eax + ebx + 8], xmm1
movq qword [eax + ebx], xmm0
add ebx, 0x30
jmp 0x451659
mov esi, 0x80
lea edi, [esp + 0x460]
sub esi, ebx
lea eax, [edi + ebx]
push esi
lea ecx, [esp + 0x2e4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x450], 1
adc dword [esp + 0x454], 0
adc dword [esp + 0x458], 0
adc dword [esp + 0x45c], 0
push 1
push edi
lea eax, [esp + 0x418]
push eax
call fcn.005d6680
add esp, 0xc
add ebx, 0xffffffb0
lea eax, [esp + esi + 0x2e0]
mov ecx, ebx
and ecx, 0xffffff80
add ecx, eax
push ebx
push ecx
lea eax, [esp + 0x468]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x4e0], bl
lea ecx, [esp + 0x660]
lea edx, [esp + 0x310]
call fcn.0043a6e0
movsd xmm0, qword [esp + 0x688]
movq xmm1, qword [esp + 0x668]
movsd qword [esp + 0x308], xmm0
movsd xmm0, qword [esp + 0x680]
movq qword [esp + 0x2e8], xmm1
movsd qword [esp + 0x300], xmm0
movsd xmm0, qword [esp + 0x678]
movsd qword [esp + 0x2f8], xmm0
movsd xmm0, qword [esp + 0x670]
movsd qword [esp + 0x2f0], xmm0
movq xmm0, qword [esp + 0x660]
movq qword [esp + 0x2e0], xmm0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x680], xmm0
movdqa xmmword [esp + 0x670], xmm0
movdqa xmmword [esp + 0x660], xmm0
push 1
call fcn.0052fee0
add esp, 4
mov ebx, eax
mov esi, 0xffffffd0
nop
push 0
call fcn.0052fee0
add esp, 4
mov bh, al
movzx eax, byte [esp + esi + 0x60]
xor ecx, ecx
cmp al, byte [esp + esi + 0x690]
sete cl
push ecx
call fcn.0052fee0
add esp, 4
not al
and al, 1
movzx eax, al
push eax
call fcn.0052fee0
add esp, 4
neg al
xor bh, bl
and bh, al
xor bl, bh
inc esi
jne 0x451710
not bl
and bl, 1
movzx eax, bl
push eax
call fcn.0052fee0
add esp, 4
mov ebx, eax
movzx eax, byte [esp + 8]
mov ecx, dword [esp]
cmp byte [esp + 0x5f], al
movzx eax, byte [esp + 0x5e]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x5d]
mov ecx, dword [esp + 0x28]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x5c]
mov ecx, dword [esp + 0x24]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x5b]
mov ecx, dword [esp + 4]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x5a]
mov ecx, dword [esp + 0x6c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x59]
mov ecx, dword [esp + 0x68]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x58]
mov ecx, dword [esp + 0x64]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x57]
mov ecx, dword [esp + 0x8c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x56]
mov ecx, dword [esp + 0xac]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x55]
mov ecx, dword [esp + 0xcc]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x54]
mov ecx, dword [esp + 0xc8]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x53]
mov ecx, dword [esp + 0xc4]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x52]
mov ecx, dword [esp + 0xc0]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x51]
mov ecx, dword [esp + 0x13c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x51c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4f]
mov ecx, dword [esp + 0x518]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4e]
mov ecx, dword [esp + 0x514]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4d]
mov ecx, dword [esp + 0x510]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4c]
mov ecx, dword [esp + 0x50c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4b]
mov ecx, dword [esp + 0x508]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x4a]
mov ecx, dword [esp + 0x504]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x49]
mov ecx, dword [esp + 0x500]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x48]
mov ecx, dword [esp + 0x4fc]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x47]
mov ecx, dword [esp + 0x4f8]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x46]
mov ecx, dword [esp + 0x4f4]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x45]
mov ecx, dword [esp + 0x4f0]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x44]
mov ecx, dword [esp + 0x4ec]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x43]
mov ecx, dword [esp + 0x93c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x42]
mov ecx, dword [esp + 0x938]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x41]
mov ecx, dword [esp + 0x934]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x40]
mov ecx, dword [esp + 0x930]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3f]
mov ecx, dword [esp + 0x92c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3e]
mov ecx, dword [esp + 0x928]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3d]
mov ecx, dword [esp + 0x924]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3c]
mov ecx, dword [esp + 0x920]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3b]
mov ecx, dword [esp + 0x91c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x3a]
mov ecx, dword [esp + 0x918]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x39]
mov ecx, dword [esp + 0x914]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x910]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x37]
mov ecx, dword [esp + 0x90c]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x36]
mov ecx, dword [esp + 0x908]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x35]
mov ecx, dword [esp + 0x904]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x34]
mov ecx, dword [esp + 0x900]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x33]
mov ecx, dword [esp + 0x8fc]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x32]
mov ecx, dword [esp + 0x8f8]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x31]
mov ecx, dword [esp + 0x8f4]
adc cx, 0
cmp ax, cx
movzx eax, byte [esp + 0x30]
sbb ax, word [esp + 0x8f0]
xor ecx, ecx
movzx eax, ax
cmp eax, 0x100
setb cl
push ecx
call fcn.0052fee0
add esp, 4
not al
and al, 1
movzx eax, al
push eax
call fcn.0052fee0
add esp, 4
and al, bl
movzx eax, al
push eax
call fcn.0052fee0
add esp, 4
test al, al
je 0x450e40
movdqa xmm0, xmmword [esp + 0x50]
movdqa xmm2, xmmword [esp + 0x30]
movdqa xmm1, xmmword [esp + 0x40]
movdqa xmmword [esp + 0x680], xmm0
movdqa xmmword [esp + 0x670], xmm1
movdqa xmmword [esp + 0x660], xmm2
lea eax, [esp + 0x660]
push eax
lea eax, [esp + 0x2e4]
push eax
call fcn.00528740
add esp, 8
movzx eax, byte [esp + 0x310]
cmp al, 1
mov byte [esp + 0x1d0], al
jne 0x454927
movsd xmm1, qword [esp + 0x2e8]
movsd xmm2, qword [esp + 0x2f0]
movq xmm0, qword [esp + 0x2e0]
movsd qword [esp + 0x8c0], xmm1
movsd xmm1, qword [esp + 0x2f8]
movsd qword [esp + 0x8c8], xmm2
movq xmm2, qword [esp + 0x300]
movq qword [esp + 0x8b8], xmm0
movsd qword [esp + 0x8d0], xmm1
movq xmm1, qword [esp + 0x308]
movq qword [esp + 0x8d8], xmm2
movq qword [esp + 0x8e0], xmm1
lea esi, [esp + 0x8b8]
push esi
call fcn.00525d50
add esp, 4
test al, al
jne 0x4526fd
movdqu xmm1, xmmword [esp + 0x540]
pxor xmm0, xmm0
movdqa xmm2, xmm1
punpcklbw xmm1, xmm0
punpckhbw xmm2, xmm0
pshuflw xmm1, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm1, xmm2
movdqu xmm2, xmmword [esp + 0x530]
pshufd xmm1, xmm1, 0x1b
movdqu xmmword [esp + 0x2e0], xmm1
movdqu xmm1, xmmword [esp + 0x520]
movdqa xmm3, xmm2
punpcklbw xmm2, xmm0
punpckhbw xmm3, xmm0
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm2, xmm3
pshufd xmm2, xmm2, 0x1b
movdqu xmmword [esp + 0x2f0], xmm2
movdqa xmm2, xmm1
punpcklbw xmm1, xmm0
punpckhbw xmm2, xmm0
pshuflw xmm0, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm0, xmm0, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm0, xmm2
pshufd xmm0, xmm0, 0x1b
movdqu xmmword [esp + 0x300], xmm0
lea eax, [esp + 0x2e0]
push eax
lea eax, [esp + 0x2b4]
push eax
call fcn.005238b0
add esp, 8
push esi
lea eax, [esp + 0x2e4]
push eax
call fcn.0052fb60
add esp, 8
cmp byte [esp + 0x310], 1
jne 0x4526fd
movsd xmm1, qword [esp + 0x300]
movsd xmm2, qword [esp + 0x2f8]
movq xmm0, qword [esp + 0x308]
movsd qword [esp + 0x100], xmm1
movsd xmm1, qword [esp + 0x2f0]
movsd qword [esp + 0xf8], xmm2
movq xmm2, qword [esp + 0x2e0]
movq qword [esp + 0x108], xmm0
movsd qword [esp + 0xf0], xmm1
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0xe8], xmm1
movq qword [esp + 0xe0], xmm2
mov edx, 0x6b2834
lea ecx, [esp + 0x2e0]
push esi
call fcn.0043fc80
add esp, 4
lea eax, [esp + 0x340]
push eax
lea eax, [esp + 0x154]
push eax
call fcn.005283c0
add esp, 8
pxor xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x30], xmm0
lea esi, [esp + 0x660]
push dword [esp + 0x180]
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x38]
push eax
push esi
call fcn.0052f820
add esp, 0x10
lea edx, [esp + 0x2e0]
lea ecx, [esp + 0x1d0]
push esi
call fcn.0042f9a0
add esp, 4
lea edx, [esp + 0x310]
lea ecx, [esp + 0x200]
push esi
call fcn.0042f9a0
add esp, 4
mov ebx, dword [esp + 0x180]
lea edx, [esp + 0x1d0]
mov byte [esp + 0x230], 0
mov ecx, 0x19
mov eax, esi
mov edi, esi
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x19
mov edi, edx
mov esi, 0x6b2aa4
mov byte [esp + 0x6c4], bl
rep movsd dword es:[edi], dword [esi]
mov esi, edx
mov edi, eax
push ebx
push eax
push edx
lea eax, [esp + 0x15c]
push eax
call fcn.0052f820
add esp, 0x10
lea ecx, [esp + 0x580]
movzx eax, bl
push eax
lea eax, [esp + 0x694]
push eax
lea eax, [esp + 0x208]
push eax
push ecx
call fcn.0052f820
add esp, 0x10
movsd xmm1, qword [esp + 0x158]
movsd xmm2, qword [esp + 0x160]
movzx ecx, byte [esp + 0x230]
movzx eax, byte [esp + 0x6c0]
movq xmm0, qword [esp + 0x150]
neg bl
movsd qword [esp + 0x558], xmm1
movsd xmm1, qword [esp + 0x168]
movsd qword [esp + 0x560], xmm2
movq xmm2, qword [esp + 0x170]
xor al, cl
movq qword [esp + 0x550], xmm0
and al, bl
xor al, cl
movsd qword [esp + 0x568], xmm1
movq xmm1, qword [esp + 0x178]
movq qword [esp + 0x570], xmm2
movq qword [esp + 0x578], xmm1
mov byte [esp + 0x5b0], al
lea eax, [esp + 0x550]
push eax
push edi
call fcn.00525c20
add esp, 8
movdqu xmm1, xmmword [esp + 0x680]
pxor xmm0, xmm0
movdqa xmm2, xmm1
punpcklbw xmm1, xmm0
punpckhbw xmm2, xmm0
pshuflw xmm1, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm1, xmm2
movdqu xmm2, xmmword [esp + 0x670]
pshufd xmm1, xmm1, 0x1b
movdqu xmmword [esp + 0x2e0], xmm1
movdqu xmm1, xmmword [esp + 0x660]
movdqa xmm3, xmm2
punpcklbw xmm2, xmm0
punpckhbw xmm3, xmm0
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm2, xmm3
pshufd xmm2, xmm2, 0x1b
movdqu xmmword [esp + 0x2f0], xmm2
movdqa xmm2, xmm1
punpcklbw xmm1, xmm0
punpckhbw xmm2, xmm0
pshuflw xmm0, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm0, xmm0, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm0, xmm2
pshufd xmm0, xmm0, 0x1b
movdqu xmmword [esp + 0x300], xmm0
lea eax, [esp + 0x2e0]
push eax
push esi
call fcn.005238b0
add esp, 8
push esi
push edi
call fcn.0052bba0
add esp, 8
lea eax, [esp + 0x550]
push eax
lea eax, [esp + 0x2e4]
push eax
call fcn.00525c20
add esp, 8
mov edx, esi
lea ecx, [esp + 0x2e0]
push dword [esp + 0x8ec]
call fcn.00431630
add esp, 4
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e8]
mov ebx, dword [esp + 0x300]
mov esi, dword [esp + 0x304]
add eax, dword [esp + 0x2b0]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x2b4]
adc eax, 0
mov dword [esp + 0x10], eax
setb al
xor edx, edx
add ecx, dword [esp + 0x2b8]
movzx eax, al
mov edi, dword [esp + 0x10]
mov dword [esp + 0x64], eax
setb dl
mov dword [esp + 8], ecx
xor ecx, ecx
mov dword [esp + 0x120], edx
mov edx, dword [esp + 0x2ec]
add edx, dword [esp + 0x2bc]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x2f0]
setb cl
mov dword [esp + 0xb0], ecx
xor ecx, ecx
add edx, dword [esp + 0x2c0]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x2f4]
setb cl
mov dword [esp + 0x110], ecx
xor ecx, ecx
add edx, dword [esp + 0x2c4]
setb cl
xor eax, eax
mov dword [esp + 4], edx
mov edx, dword [esp + 0x308]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x2f8]
add ecx, dword [esp + 0x2c8]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x2fc]
setb al
mov dword [esp + 0x70], eax
xor eax, eax
add ecx, dword [esp + 0x2cc]
setb al
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x30c]
mov dword [esp + 0x90], eax
xor eax, eax
add ebx, dword [esp + 0x2d0]
setb al
mov dword [esp], eax
xor eax, eax
add esi, dword [esp + 0x2d4]
setb al
mov dword [esp + 0x140], eax
xor eax, eax
add edx, dword [esp + 0x2d8]
setb al
mov dword [esp + 0x8c], eax
xor eax, eax
add ecx, dword [esp + 0x2dc]
setb al
add edi, dword [esp + 0x2e4]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x64]
adc dword [esp + 8], edi
mov edi, dword [esp + 0x28]
adc dword [esp + 0x120], edi
mov edi, dword [esp + 0x24]
adc dword [esp + 0xb0], edi
mov edi, dword [esp + 4]
adc dword [esp + 0x110], edi
mov edi, dword [esp + 0x6c]
adc dword [esp + 0xd0], edi
mov edi, dword [esp + 0x68]
adc dword [esp + 0x70], edi
mov edi, dword [esp + 0x120]
adc dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x110]
adc dword [esp], esi
mov esi, dword [esp + 0x8c]
adc dword [esp + 0x140], edx
mov edx, 0xffffffff
adc esi, ecx
mov ecx, dword [esp + 0xac]
adc eax, 0
mov dword [esp + 0x8c], esi
mov dword [esp + 0xc0], eax
mov eax, 0xffffffff
add ecx, 1
adc al, 0
add ecx, 0x333ad68c
mov dword [esp + 0xcc], ecx
mov ecx, 0
sbb cl, al
movzx eax, cl
mov ecx, dword [esp + 0x10]
sub ecx, eax
mov eax, 0
sbb eax, eax
add ecx, 1
adc al, dl
add ecx, 0x1313e695
mov dword [esp + 0xc8], ecx
mov ecx, 0
sbb cl, al
movzx eax, cl
mov ecx, dword [esp + 8]
sub ecx, eax
mov eax, 0
sbb eax, eax
add ecx, 0xb74f5886
adc al, 0xff
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xb0]
neg al
movzx eax, al
sub edi, eax
mov eax, 0
sbb eax, eax
add edi, 0xa7e5f24e
adc al, 0xff
neg al
movzx eax, al
sub ecx, eax
mov eax, 0
sbb eax, eax
add ecx, 1
adc al, dl
add ecx, 0xbc8d220
mov dword [esp + 0x6c], ecx
mov ecx, 0
sbb cl, al
movzx eax, cl
mov ecx, 0
sub ebx, eax
mov eax, 0
sbb eax, eax
add ebx, 1
adc al, dl
add ebx, 0x389cb27e
sbb cl, al
movzx eax, cl
mov ecx, dword [esp + 0xd0]
sub ecx, eax
mov eax, 0
sbb eax, eax
add ecx, 1
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x70]
adc al, dl
neg al
movzx eax, al
sub ecx, eax
mov eax, 0
sbb eax, eax
add ecx, 1
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x90]
adc al, dl
neg al
movzx eax, al
sub ecx, eax
mov eax, 0
sbb eax, eax
add ecx, 1
mov dword [esp + 4], ecx
mov ecx, dword [esp]
adc al, dl
neg al
movzx edx, al
mov eax, 0
sub ecx, edx
mov edx, 0xffffffff
sbb eax, eax
add ecx, 1
mov dword [esp + 0x68], ecx
mov ecx, 0xffffffff
adc al, cl
neg al
movzx ecx, al
mov eax, dword [esp + 0x140]
sub eax, ecx
mov ecx, 0
sbb ecx, ecx
add eax, 1
mov dword [esp + 0x64], eax
mov eax, 0xffffffff
adc cl, al
mov eax, dword [esp + 0x120]
neg cl
movzx ecx, cl
sub esi, ecx
mov ecx, 0
sbb ecx, ecx
add esi, 1
adc cl, dl
mov dword [esp + 0x13c], esi
mov esi, 0
mov edx, dword [esp + 0x6c]
neg cl
movzx ecx, cl
cmp dword [esp + 0xc0], ecx
sbb esi, esi
mov ecx, esi
and eax, esi
not ecx
and edi, ecx
and edx, ecx
and ebx, ecx
or edi, eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x120], edi
mov edi, dword [esp + 8]
and eax, esi
or edx, eax
mov eax, dword [esp + 0x110]
and edi, esi
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x28]
and eax, esi
or ebx, eax
mov eax, dword [esp + 0xd0]
and edx, ecx
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0xcc]
and eax, esi
or edx, eax
mov eax, dword [esp + 0x70]
and ebx, ecx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x24]
and eax, esi
and edx, ecx
or edx, eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 4]
and eax, esi
and edx, ecx
or edx, eax
mov eax, dword [esp]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
and eax, esi
and edx, ecx
or edx, eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x64]
and eax, esi
and edx, ecx
or edx, eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x10]
and eax, esi
or ebx, eax
mov eax, dword [esp + 0xc8]
and edx, esi
and esi, dword [esp + 0x8c]
mov dword [esp + 0x660], ebx
mov ebx, dword [esp + 0x64]
and eax, ecx
or eax, edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x664], eax
mov eax, dword [esp + 0x120]
and edx, ecx
and ecx, dword [esp + 0x13c]
or edx, edi
mov dword [esp + 0x668], edx
mov dword [esp + 0x66c], eax
mov eax, dword [esp + 0x6c]
or ecx, esi
mov dword [esp + 0x670], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x674], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x678], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x67c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x680], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x684], eax
mov dword [esp + 0x688], ebx
mov dword [esp + 0x68c], ecx
lea esi, [esp + 0x630]
lea edx, [esp + 0xe0]
lea edi, [esp + 0x660]
mov ecx, esi
push edi
call fcn.00431630
add esp, 4
lea eax, [esp + 0x1d0]
push eax
push edi
call fcn.00523cf0
add esp, 8
lea edi, [esp + 0x660]
lea ecx, [esp + 0x2e0]
mov edx, edi
call fcn.0040ffc0
cmp dword [esp + 0x2e0], 0
jne 0x4526fd
mov edx, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [esp + 0x2e4]
mov ebx, dword [esp + 0x2e8]
mov dword [esp + 0x90], edx
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xd0], edx
mov dword [esp + 0x110], ecx
mov edx, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x300]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0x304]
mov ecx, dword [esp + 0x308]
mov dword [esp + 0x140], edx
mov edx, dword [esp + 0x30c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x310]
mov dword [esp], edx
mov dword [esp + 0x28], ecx
push esi
push edi
call fcn.00523cf0
add esp, 8
lea esi, [esp + 0x2e0]
lea edx, [esp + 0x660]
mov ecx, esi
call fcn.0040ffc0
cmp dword [esp + 0x2e0], 0
jne 0x4526fd
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x310]
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2e8]
or ecx, dword [esp + 0x70]
mov dword [esp + 0x64], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0x6c], eax
mov eax, ebx
or eax, dword [esp + 0x10]
or ecx, eax
mov eax, dword [esp + 0xd0]
or eax, dword [esp + 0x110]
or eax, dword [esp + 0xb0]
or eax, ecx
mov ecx, dword [esp + 0x120]
or ecx, dword [esp + 0x140]
or ecx, dword [esp + 8]
or ecx, dword [esp]
or ecx, eax
xor eax, eax
or ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x2f8]
sete al
neg eax
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x300]
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x304]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x308]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x30c]
mov dword [esp + 0x8c], ecx
push eax
call fcn.0056ee00
add esp, 4
test al, al
jne 0x4526fd
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xc8]
or eax, dword [esp + 0x24]
or ecx, dword [esp + 0x68]
or edx, dword [esp + 0xcc]
or ecx, eax
mov eax, edi
or edx, dword [esp + 0xac]
or eax, dword [esp + 0xc0]
or edx, dword [esp + 0x8c]
or eax, dword [esp + 0xc4]
or eax, ecx
or edx, eax
xor eax, eax
or edx, dword [esp + 0x64]
sete al
neg eax
push eax
call fcn.0056ee00
add esp, 4
test al, al
je 0x45305c
xor ecx, ecx
call fcn.0043b9e0
jmp 0x452ab0
mov edx, dword [esp + 0xb0]
mov ecx, eax
pxor xmm0, xmm0
mov ebx, esi
and ecx, 0xfffffff0
mov edi, ecx
lea edx, [edx + esi - 0x10]
nop word cs:[eax + eax]
nop dword [eax + eax]
movdqu xmm2, xmmword [edx]
movdqu xmm1, xmmword [ebx]
movdqa xmm3, xmm2
punpckhbw xmm2, xmm0
punpcklbw xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
pshufd xmm3, xmm3, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm2, xmm3
movdqu xmmword [ebx], xmm2
movdqa xmm2, xmm1
punpckhbw xmm1, xmm0
add ebx, 0x10
punpcklbw xmm2, xmm0
pshufd xmm1, xmm1, 0x4e
pshufd xmm2, xmm2, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [edx], xmm1
add edx, 0xfffffff0
add edi, 0xfffffff0
jne 0x452730
cmp eax, ecx
je 0x4527de
test byte [esp + 0xb0], 0x10
jne 0x44d425
mov edi, esi
sub eax, ecx
lea edx, [esi + ecx]
not ecx
add edi, dword [esp + 0xb0]
add edi, ecx
nop dword [eax + eax]
movzx ecx, byte [edx]
mov ch, byte [edi]
mov byte [edx], ch
mov byte [edi], cl
inc edx
dec edi
dec eax
jne 0x4527d0
lea ebx, [esp + 0x8b8]
push 8
mov edi, dword [esp + 0xb4]
push edi
push esi
push ebx
call fcn.0054a910
add esp, 0x10
push 1
push edi
push esi
call fcn.004ed020
add esp, 0xc
mov ecx, dword [esp + 0x8e0]
cmp ecx, 4
mov dword [esp + 0x28], ecx
jbe 0x452840
mov ecx, dword [esp + 0x8bc]
mov eax, dword [esp + 0x8c0]
mov esi, dword [esp]
cmp esi, 5
jae 0x45284f
mov edx, dword [esp + 0xc]
add edx, 8
push esi
push edx
push ecx
push eax
call fcn.0055db80
add esp, 0x10
jmp 0x452864
lea eax, [esp + 0x8c0]
mov esi, dword [esp]
cmp esi, 5
jb 0x45282b
mov edx, dword [esp + 0xc]
mov esi, dword [edx + 4]
push esi
push dword [edx + 8]
push ecx
push eax
call fcn.0055db80
add esp, 0x10
cmp al, 2
jb 0x45296d
test esi, esi
je 0x45296d
mov ecx, dword [esp + 0xc]
xor esi, esi
mov dword [esp + 0x634], ebx
mov dword [esp + 0xe0], 2
mov dword [esp + 0x630], 2
mov dword [esp + 0x110], 0
mov dword [esp + 0x10], 0
mov edx, dword [ecx + 0x90]
lea eax, [ecx + 0x90]
mov ecx, eax
cmp edx, 2
mov dword [esp + 0x24], edx
cmove ecx, esi
lea edi, [ecx + 0x30]
add ecx, 0x60
cmp edx, 2
je 0x4528e2
mov edx, dword [esp + 0xc]
mov dword [esp + 0x110], ecx
mov edx, dword [edx + 0x12c]
mov dword [esp + 0x10], edx
jne 0x452ae8
mov edx, dword [esp + 0xc]
mov cl, 1
mov dword [esp + 0x70], ecx
lea eax, [edx + 0x60]
lea ecx, [esp + 0x30]
push edx
push eax
push ebx
push ecx
call fcn.00552aa0
add esp, 0x10
cmp dword [esp + 0xe0], 2
jne 0x453e8d
movsd xmm2, qword [esp + 0x3c]
movsd xmm1, qword [esp + 0x44]
movsd xmm0, qword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
movsd qword [esp + 0x980], xmm2
movsd qword [esp + 0x988], xmm1
movsd xmm2, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x58]
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x998], eax
movsd qword [esp + 0x990], xmm2
movaps xmmword [esp + 0x90], xmm1
jmp 0x45403f
mov ebx, 1
mov eax, dword [esp + 0x978]
movq xmm0, qword [esp + 0x960]
movq xmm1, qword [esp + 0x968]
movq xmm2, qword [esp + 0x970]
movq qword [esp + 0x940], xmm0
movq qword [esp + 0x948], xmm1
movq qword [esp + 0x950], xmm2
mov dword [esp + 0x958], eax
movq qword [esp + 0x520], xmm0
movq qword [esp + 0x528], xmm1
movq qword [esp + 0x530], xmm2
mov dword [esp + 0x538], eax
push 1
push dword [esp + 0xb4]
push dword [esp + 0x10]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x8e0]
cmp eax, 5
jb 0x452a0e
shl eax, 3
push 8
push eax
push dword [esp + 0x8c8]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x548]
movsd xmm2, qword [esp + 0x538]
movsd xmm1, qword [esp + 0x530]
movq xmm0, qword [esp + 0x540]
mov dword [esp + 0x318], eax
movsd qword [esp + 0x308], xmm2
movsd qword [esp + 0x300], xmm1
movq xmm2, qword [esp + 0x520]
movq xmm1, qword [esp + 0x528]
mov eax, dword [esp + 0xb0]
movq qword [esp + 0x310], xmm0
movq qword [esp + 0x2f8], xmm1
movq qword [esp + 0x2f0], xmm2
mov dword [esp + 0x2e0], ebx
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2e8], ecx
mov dword [esp + 0x2ec], eax
lea eax, [esp + 0x2e0]
push eax
call fcn.005ea060
add esp, 4
mov ecx, eax
call fcn.0043b9e0
mov eax, dword [esp + 0x2ac]
mov dword [eax], 0x80000000
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x452ad7
push 1
push eax
push dword [esp + 0xb0]
call fcn.004ed020
add esp, 0xc
mov ecx, dword [esp + 0xc]
call fcn.0042db80
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x140]
test ecx, ecx
mov dword [esp + 0xd0], ecx
je 0x45321f
cmp ecx, 1
je 0x453226
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x130]
mov dword [esp + 0x140], edx
mov edx, dword [ecx + 0x13c]
lea ecx, [esp + 0x660]
mov dword [esp + 0x70], edx
push edx
push eax
push ebx
push ecx
call fcn.00552aa0
add esp, 0x10
lea esi, [esp + 0x660]
lea ecx, [esp + 0x2e0]
mov edx, esi
call fcn.0043d9b0
cmp dword [esp + 0x2e0], 2
je 0x4549f1
movsd xmm2, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x300]
mov eax, dword [esp + 0x70]
movq xmm0, qword [esp + 0x310]
cmp dword [esp + 0x630], 2
movsd qword [esp + 0x578], xmm2
movsd qword [esp + 0x570], xmm1
movsd xmm2, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2f0]
lea eax, [eax + 0x30]
movq qword [esp + 0x580], xmm0
movsd qword [esp + 0x568], xmm2
movsd qword [esp + 0x560], xmm1
movq xmm2, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0x558], xmm1
movq qword [esp + 0x550], xmm2
jne 0x452bf3
mov ecx, dword [esp + 0x634]
jmp 0x452bfa
lea ecx, [esp + 0x630]
push eax
push edi
push ecx
push esi
call fcn.00552aa0
add esp, 0x10
lea ecx, [esp + 0x2e0]
lea edx, [esp + 0x660]
call fcn.0043d9b0
cmp dword [esp + 0x2e0], 2
je 0x454a0a
movsd xmm2, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x300]
movq xmm0, qword [esp + 0x310]
movsd qword [esp + 0x1f8], xmm2
movsd qword [esp + 0x1f0], xmm1
movsd xmm2, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2f0]
movq qword [esp + 0x200], xmm0
movsd qword [esp + 0x1e8], xmm2
movsd qword [esp + 0x1e0], xmm1
movq xmm2, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0x1d8], xmm1
movq qword [esp + 0x1d0], xmm2
lea ecx, [esp + 0x550]
lea edx, [esp + 0x1d0]
call fcn.0040e0d0
mov eax, dword [esp + 0xd0]
cmp eax, 0x2492492
ja 0x454a23
imul ecx, eax, 0x38
test ecx, ecx
js 0x454a23
mov eax, dword [0x6b6a34]
movzx eax, byte [eax]
push 8
mov dword [esp + 8], ecx
push ecx
call fcn.004ed010
add esp, 8
test eax, eax
mov ecx, eax
mov dword [esp + 0x90], eax
je 0x454a2d
xor esi, esi
jmp 0x452d9b
mov edi, dword [esp + 0x90]
movsd xmm1, qword [esp + 0x668]
imul edx, esi, 0x38
movq xmm0, qword [esp + 0x660]
movq xmm2, qword [esp + 0x678]
inc esi
cmp esi, dword [esp + 0xd0]
mov dword [edi + edx], eax
movsd qword [edi + edx + 0xc], xmm1
movsd xmm1, qword [esp + 0x670]
mov eax, dword [esp + 0x688]
movq qword [edi + edx + 4], xmm0
movq qword [edi + edx + 0x1c], xmm2
movsd qword [edi + edx + 0x14], xmm1
movq xmm1, qword [esp + 0x680]
mov dword [edi + edx + 0x2c], eax
mov eax, dword [esp + 0x838]
movq qword [edi + edx + 0x24], xmm1
mov byte [edi + edx + 0x30], cl
mov ecx, dword [esp + 0x83b]
mov dword [edi + edx + 0x31], eax
mov dword [edi + edx + 0x34], ecx
je 0x452ffe
mov ecx, dword [esp + 0x70]
lea eax, [esi + esi*2]
shl eax, 4
lea edx, [ecx + eax]
mov eax, dword [ecx + eax + 0x28]
cmp eax, 5
jb 0x452dd0
mov eax, dword [edx + 4]
test eax, eax
je 0x452e70
mov edx, dword [edx + 8]
jmp 0x452ddb
test eax, eax
je 0x452e70
add edx, 8
lea ecx, [esp + 0x2e0]
push eax
call fcn.0040e730
add esp, 4
lea ecx, [esp + 0x2e4]
mov eax, dword [esp + 0x2e0]
mov edx, dword [esp + 0x33]
movsd xmm1, qword [ecx + 8]
movsd xmm0, qword [ecx]
movsd xmm2, qword [ecx + 0x18]
movsd qword [esp + 0x668], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x660], xmm0
movsd qword [esp + 0x678], xmm2
movsd qword [esp + 0x670], xmm1
movsd xmm1, qword [ecx + 0x20]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x688], ecx
mov ecx, dword [esp + 0x30]
movsd qword [esp + 0x680], xmm1
mov dword [esp + 0x838], ecx
mov cl, 2
mov dword [esp + 0x83b], edx
cmp eax, 2
jne 0x452d10
jmp 0x452fe5
mov dword [esp + 0x30], 4
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 2
lea ecx, [esp + 0x660]
lea edx, [esp + 0x30]
call fcn.0040f870
mov eax, dword [esp + 0x668]
nop
mov ecx, dword [esp + 0x688]
lea edx, [esp + 0x668]
cmp ecx, 5
mov edi, ecx
jb 0x452ebe
mov edi, dword [esp + 0x664]
mov edx, eax
test edi, edi
je 0x452ef0
mov ebx, dword [edx + edi*8 - 8]
or ebx, dword [edx + edi*8 - 4]
jne 0x452ef0
cmp ecx, 5
lea edx, [esp + 0x688]
jb 0x452ee6
mov ecx, dword [esp + 0x664]
lea edx, [esp + 0x664]
test ecx, ecx
je 0x452ea0
dec ecx
mov dword [edx], ecx
jmp 0x452ea0
movsd xmm1, qword [esp + 0x680]
movsd xmm2, qword [esp + 0x678]
movq xmm0, qword [esp + 0x688]
movsd qword [esp + 0x50], xmm1
movsd xmm1, qword [esp + 0x670]
movsd qword [esp + 0x48], xmm2
movq xmm2, qword [esp + 0x660]
movq qword [esp + 0x58], xmm0
movsd qword [esp + 0x40], xmm1
movq xmm1, qword [esp + 0x668]
movq qword [esp + 0x30], xmm2
movq qword [esp + 0x38], xmm1
mov edx, 1
lea eax, [esp + 0x30]
lea ecx, [esp + 0x2e0]
push eax
call fcn.00410190
add esp, 4
lea edi, [esp + 0x2e4]
mov eax, dword [esp + 0x2e0]
movsd xmm1, qword [edi + 8]
mov ecx, dword [edi + 0x28]
movsd xmm0, qword [edi]
movsd xmm2, qword [edi + 0x18]
mov edx, dword [edi + 0x2d]
movsd qword [esp + 0x668], xmm1
movsd xmm1, qword [edi + 0x10]
mov dword [esp + 0x688], ecx
movzx ecx, byte [esp + 0x310]
movsd qword [esp + 0x660], xmm0
movsd qword [esp + 0x678], xmm2
mov dword [esp + 0x838], edx
movsd qword [esp + 0x670], xmm1
movsd xmm1, qword [edi + 0x20]
mov edi, dword [edi + 0x30]
movsd qword [esp + 0x680], xmm1
mov dword [esp + 0x83b], edi
cmp eax, 2
jne 0x452d10
push 0x6b3418
push 0x2b
push str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_srccollections_btree_navigate.rs
call fcn.004faaf0
add esp, 0xc
jmp 0x454ad7
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0x90]
test ecx, ecx
mov dword [esp + 0x9a0], ecx
mov dword [esp + 0x9a4], eax
mov dword [esp + 0x9a8], ecx
je 0x453242
lea esi, [esp + 0x550]
movzx eax, byte [esp + 0x580]
test al, al
jne 0x453252
mov edx, dword [esp + 0x90]
mov ecx, esi
call fcn.0040d770
jmp 0x453030
mov edi, dword [esp + 0x140]
jmp 0x44f241
lea eax, [esp + 0x580]
push eax
call fcn.00525ce0
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x858], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x85c], ebx
mov dword [esp + 0x860], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x864], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x868], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x86c], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x870], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x874], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x878], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x87c], eax
mov eax, dword [esp]
mov dword [esp + 0x880], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x884], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x888], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x88c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x890], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x894], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x898], edi
mov dword [esp + 0x89c], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x8a0], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x8a4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x8a8], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x8ac], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x8b0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x8b4], eax
lea eax, [esp + 0x858]
push eax
push esi
call fcn.00524010
add esp, 8
lea eax, [esp + 0x888]
push eax
lea eax, [esp + 0x314]
push eax
call fcn.00524010
add esp, 8
mov eax, dword [0x6b6a34]
lea ebx, [esp + 0x660]
lea esi, [esp + 0x2e0]
mov ecx, 0x18
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
movzx eax, byte [eax]
push 1
push 0x60
call fcn.004ed010
add esp, 8
test eax, eax
je 0x454abb
mov edi, eax
push 0x60
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, 0x60
jmp 0x4548c1
mov eax, 0x6b3138
push eax
mov ebx, dword [esp + 0xb4]
push ebx
push ecx
call fcn.004fac30
add esp, 0xc
jmp 0x454ad7
mov eax, 0x6b2ffc
jmp 0x45322b
mov eax, 0x6b300c
push eax
mov eax, dword [esp + 0xd4]
push eax
push eax
call fcn.004fac30
add esp, 0xc
jmp 0x454ad7
movzx eax, byte [esp + 0x580]
test al, al
je 0x454ae8
mov cl, 1
cmp al, 1
je 0x453263
mov eax, dword [esp + 0x110]
movzx ecx, byte [eax + 0x30]
mov eax, dword [esp + 0x578]
mov byte [esp + 0x120], cl
cmp eax, 4
jbe 0x453286
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x558]
jmp 0x45328d
lea ecx, [esp + 0x558]
mov esi, dword [esp + 0x110]
mov edx, dword [esi + 0x28]
cmp edx, 4
jbe 0x4532a4
mov edx, dword [esi + 4]
mov esi, dword [esi + 8]
jmp 0x4532a7
add esi, 8
mov bl, 1
mov dword [esp + 0x70], ebx
push edx
push esi
push eax
push ecx
lea eax, [esp + 0x670]
push eax
call fcn.0056c8b0
add esp, 0x14
movzx edx, byte [esp + 0x120]
lea eax, [esp + 0x660]
lea ecx, [esp + 0x2e0]
push eax
call fcn.00410190
add esp, 4
mov eax, dword [esp + 0x578]
cmp eax, 5
jb 0x453301
shl eax, 3
push 8
push eax
push dword [esp + 0x560]
call fcn.004ed020
add esp, 0xc
movsd xmm2, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x300]
cmp dword [esp + 0xd0], 0
movq xmm0, qword [esp + 0x310]
movsd qword [esp + 0x578], xmm2
movsd qword [esp + 0x570], xmm1
movsd xmm2, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2f0]
movq qword [esp + 0x580], xmm0
movsd qword [esp + 0x568], xmm2
movsd qword [esp + 0x560], xmm1
movq xmm2, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0x558], xmm1
movq qword [esp + 0x550], xmm2
je 0x4548fe
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x550]
call fcn.0040ddd0
cmp dword [esp + 0xd0], 2
jb 0x454907
movzx eax, byte [esp + 0x580]
mov dl, 1
cmp al, 1
je 0x4533e2
mov ecx, dword [esp + 0x90]
movzx ecx, byte [ecx + 0x68]
test ecx, ecx
je 0x4533d8
cmp ecx, 1
je 0x4533e2
mov dl, 2
test al, al
jne 0x4533e2
jmp 0x4533dc
test al, al
je 0x4533e0
xor edx, edx
jmp 0x4533e2
mov dl, 2
mov eax, dword [esp + 0x578]
mov edi, edx
cmp eax, 4
jbe 0x453400
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x558]
jmp 0x453407
lea ecx, [esp + 0x558]
mov esi, dword [esp + 0x90]
mov edx, dword [esi + 0x60]
cmp edx, 5
jb 0x45341e
mov edx, dword [esi + 0x3c]
mov esi, dword [esi + 0x40]
jmp 0x453421
add esi, 0x40
mov bl, 1
mov dword [esp + 0x70], ebx
push edx
push esi
push eax
push ecx
lea eax, [esp + 0x670]
push eax
call fcn.0056c8b0
add esp, 0x14
mov eax, edi
lea ecx, [esp + 0x2e0]
movzx edx, al
lea eax, [esp + 0x660]
push eax
call fcn.00410190
add esp, 4
mov eax, dword [esp + 0x578]
cmp eax, 5
jb 0x453478
shl eax, 3
push 8
push eax
push dword [esp + 0x560]
call fcn.004ed020
add esp, 0xc
movsd xmm2, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x300]
movq xmm0, qword [esp + 0x310]
movsd qword [esp + 0x578], xmm2
movsd qword [esp + 0x570], xmm1
movsd xmm2, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2f0]
movq qword [esp + 0x580], xmm0
movsd qword [esp + 0x568], xmm2
movsd qword [esp + 0x560], xmm1
movq xmm2, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0x558], xmm1
movq qword [esp + 0x550], xmm2
lea ecx, [esp + 0x550]
lea edx, [esp + 0x1d0]
call fcn.0040d770
mov eax, dword [esp + 0x630]
mov edx, dword [esp + 0x634]
cmp eax, 2
jne 0x45352c
mov eax, dword [edx + 0x28]
cmp eax, 4
jbe 0x453599
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x45359c
movsd xmm1, qword [esp + 0x640]
mov dword [esp + 0x660], eax
mov dword [esp + 0x664], edx
movq xmm0, qword [esp + 0x638]
movq xmm2, qword [esp + 0x650]
movsd qword [esp + 0x670], xmm1
movsd xmm1, qword [esp + 0x648]
movq qword [esp + 0x668], xmm0
movq qword [esp + 0x680], xmm2
movsd qword [esp + 0x678], xmm1
movq xmm1, qword [esp + 0x658]
movq qword [esp + 0x688], xmm1
jmp 0x453620
add edx, 8
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x2e0]
push eax
call fcn.0040e730
add esp, 4
movsd xmm1, qword [esp + 0x300]
movsd xmm2, qword [esp + 0x2f8]
movq xmm0, qword [esp + 0x308]
movsd qword [esp + 0x680], xmm1
movsd xmm1, qword [esp + 0x2f0]
movsd qword [esp + 0x678], xmm2
movq xmm2, qword [esp + 0x2e0]
movq qword [esp + 0x688], xmm0
movsd qword [esp + 0x670], xmm1
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0x660], xmm2
movq qword [esp + 0x668], xmm1
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x2e0]
lea edx, [esp + 0x660]
call fcn.0043d9b0
cmp dword [esp + 0x2e0], 2
je 0x454a40
imul eax, dword [esp + 0x140], 0xa8
movsd xmm2, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x300]
movq xmm0, qword [esp + 0x310]
lea esi, [esp + 0x1d0]
mov dword [esp + 0x110], 0
add eax, dword [esp + 0x10]
movsd qword [esp + 0x688], xmm2
movsd qword [esp + 0x680], xmm1
movsd xmm2, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2f0]
movq qword [esp + 0x690], xmm0
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xd0]
movsd qword [esp + 0x678], xmm2
movsd qword [esp + 0x670], xmm1
movq xmm2, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
add eax, 0xfffffffe
movq qword [esp + 0x668], xmm1
movq qword [esp + 0x660], xmm2
mov dword [esp + 0x140], eax
jmp 0x4537a4
movsd xmm2, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x300]
movq xmm0, qword [esp + 0x310]
movsd qword [esp + 0x1f8], xmm2
movsd qword [esp + 0x1f0], xmm1
movsd xmm2, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2f0]
movq qword [esp + 0x200], xmm0
movsd qword [esp + 0x1e8], xmm2
movsd qword [esp + 0x1e0], xmm1
movq xmm2, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0x1d8], xmm1
movq qword [esp + 0x1d0], xmm2
lea ecx, [esp + 0x550]
mov edx, esi
call fcn.0040d770
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x120]
cmp dword [esp + 0x10], eax
je 0x453b17
mov eax, dword [esp + 0x110]
cmp eax, dword [esp + 0x140]
je 0x4548e1
mov ecx, dword [esp + 0x90]
imul eax, eax, 0x38
lea ebx, [eax + ecx + 0x70]
push ebx
push dword [esp + 0x14]
lea eax, [esp + 0x668]
push eax
lea eax, [esp + 0x2ec]
push eax
call fcn.00545930
add esp, 0x10
mov eax, dword [esp + 0x1f8]
cmp eax, 5
jb 0x453815
shl eax, 3
push 8
push eax
push dword [esp + 0x1e0]
call fcn.004ed020
add esp, 0xc
movsd xmm2, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x300]
movsd xmm0, qword [esp + 0x310]
movsd qword [esp + 0x1f8], xmm2
movsd qword [esp + 0x1f0], xmm1
movsd xmm2, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2f0]
movsd qword [esp + 0x200], xmm0
movsd qword [esp + 0x1e8], xmm2
movsd qword [esp + 0x1e0], xmm1
movsd xmm2, qword [esp + 0x2e0]
movsd xmm1, qword [esp + 0x2e8]
movsd qword [esp + 0x1d8], xmm1
movsd qword [esp + 0x1d0], xmm2
mov ecx, esi
lea edx, [esp + 0x550]
call fcn.0040e0d0
movzx eax, byte [esp + 0x200]
mov cl, 1
mov dword [esp + 0x70], ecx
cmp al, 1
je 0x4538e0
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx + 0x68]
test ecx, ecx
je 0x4538d0
cmp ecx, 1
je 0x4538e0
mov cl, 2
test al, al
mov dword [esp + 0x70], ecx
jne 0x4538e0
jmp 0x4538d8
test al, al
je 0x453af5
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x1f8]
lea ecx, [esp + 0x1d8]
cmp eax, 5
jb 0x453901
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d8]
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x60]
cmp edx, 5
jb 0x453920
mov edx, dword [edi + 0x3c]
mov edi, dword [edi + 0x40]
jmp 0x453923
add edi, 0x40
push edx
push edi
push eax
push ecx
lea eax, [esp + 0x40]
push eax
call fcn.0056c8b0
add esp, 0x14
movzx edx, byte [esp + 0x70]
lea eax, [esp + 0x30]
lea ecx, [esp + 0x2e0]
push eax
call fcn.00410190
add esp, 4
mov eax, dword [esp + 0x1f8]
cmp eax, 5
jb 0x45396e
shl eax, 3
push 8
push eax
push dword [esp + 0x1e0]
call fcn.004ed020
add esp, 0xc
movsd xmm2, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x300]
movq xmm0, qword [esp + 0x310]
movsd qword [esp + 0x1f8], xmm2
movsd qword [esp + 0x1f0], xmm1
movsd xmm2, qword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2f0]
movq qword [esp + 0x200], xmm0
movsd qword [esp + 0x1e8], xmm2
movsd qword [esp + 0x1e0], xmm1
movq xmm2, qword [esp + 0x2e0]
movq xmm1, qword [esp + 0x2e8]
movq qword [esp + 0x1d8], xmm1
movq qword [esp + 0x1d0], xmm2
mov ecx, esi
mov edx, ebx
call fcn.0040ddd0
mov eax, dword [esp + 0x10]
inc dword [esp + 0x110]
add eax, 0xa8
mov dword [esp + 0x70], eax
nop dword [eax]
movzx eax, byte [esp + 0x200]
test al, al
jne 0x453a30
mov ecx, esi
mov edx, ebx
call fcn.0040d770
jmp 0x453a10
mov bl, 1
cmp al, 1
jne 0x453a70
mov eax, dword [esp + 0x1f8]
lea ecx, [esp + 0x1d8]
cmp eax, 5
jb 0x453a8e
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d8]
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x98]
cmp edx, 5
jae 0x453a9d
add edi, 0x78
jmp 0x453aa3
mov eax, dword [esp + 0x10]
movzx ebx, byte [eax + 0xa0]
mov eax, dword [esp + 0x1f8]
lea ecx, [esp + 0x1d8]
cmp eax, 5
jae 0x453a49
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x98]
cmp edx, 5
jb 0x453a66
mov edx, dword [edi + 0x74]
mov edi, dword [edi + 0x78]
push edx
push edi
push eax
push ecx
lea eax, [esp + 0x40]
push eax
call fcn.0056c8b0
add esp, 0x14
movzx edx, bl
lea eax, [esp + 0x30]
lea ecx, [esp + 0x2e0]
push eax
call fcn.00410190
add esp, 4
mov eax, dword [esp + 0x1f8]
cmp eax, 5
jb 0x453710
shl eax, 3
push 8
push eax
push dword [esp + 0x1e0]
call fcn.004ed020
add esp, 0xc
jmp 0x453710
mov al, 2
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x1f8]
lea ecx, [esp + 0x1d8]
cmp eax, 5
jae 0x4538f3
jmp 0x453901
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x90]
nop word cs:[eax + eax]
nop dword [eax]
test edi, edi
je 0x453b45
add edi, 0xffffffc8
push ebx
add ebx, 0x38
call fcn.0053d690
add esp, 4
jmp 0x453b30
mov edi, dword [esp + 0x90]
mov dword [esp + 0x9a8], 0
jmp 0x453b6c
add edi, 0x38
dec dword [esp + 0xd0]
je 0x453b87
mov eax, dword [edi + 0x28]
cmp eax, 5
jb 0x453b60
shl eax, 3
push 8
push eax
push dword [edi + 8]
call fcn.004ed020
add esp, 0xc
jmp 0x453b60
mov bl, 1
lea eax, [esp + 0x660]
push eax
call fcn.0053d690
add esp, 4
push esi
call fcn.0053d690
add esp, 4
movzx eax, byte [esp + 0x580]
mov edx, dword [esp + 0x558]
mov ecx, dword [esp + 0x578]
test eax, eax
je 0x453cd8
cmp eax, 1
jne 0x453ce2
mov dword [esp + 0x2e0], 4
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x110], edx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x2e8], 2
lea ecx, [esp + 0x30]
lea edx, [esp + 0x2e0]
call fcn.0040f870
movsd xmm1, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x58]
lea eax, [esp + 0x308]
lea ecx, [esp + 0x2e8]
movsd qword [esp + 0x2e8], xmm1
movsd xmm1, qword [esp + 0x50]
movsd qword [esp + 0x2e0], xmm0
movsd qword [esp + 0x308], xmm2
movsd xmm2, qword [esp + 0x48]
mov edx, dword [esp + 0x2e0]
movsd qword [esp + 0x300], xmm1
movsd xmm1, qword [esp + 0x40]
movsd qword [esp + 0x2f8], xmm2
mov dword [esp + 0x120], edx
movsd qword [esp + 0x2f0], xmm1
mov edx, dword [esp + 0x2e8]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x308]
mov edx, ecx
cmp ebx, 5
mov esi, ebx
jb 0x453ca4
mov esi, dword [esp + 0x2e4]
mov edx, dword [esp + 0x10]
test esi, esi
je 0x453d40
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x453d40
cmp ebx, 5
mov edx, eax
jb 0x453ccf
mov ebx, dword [esp + 0x2e4]
lea edx, [esp + 0x2e4]
test ebx, ebx
je 0x453c89
dec ebx
mov dword [edx], ebx
jmp 0x453c89
mov esi, 2
jmp 0x453dab
movq xmm0, qword [esp + 0x55c]
movq xmm2, qword [esp + 0x564]
movq xmm1, qword [esp + 0x56c]
mov eax, dword [esp + 0x574]
mov esi, dword [esp + 0x550]
mov ebx, dword [esp + 0x57c]
mov edi, dword [esp + 0x554]
movq qword [esp + 0x838], xmm0
movq qword [esp + 0x840], xmm2
movq qword [esp + 0x848], xmm1
mov dword [esp + 0x850], eax
jmp 0x453dcb
mov eax, dword [esp + 0x2e4]
movq xmm0, qword [esp + 0x2ec]
movq xmm2, qword [esp + 0x2f4]
movq xmm1, qword [esp + 0x2fc]
mov edi, dword [esp + 0x30c]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x120]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x304]
movq qword [esp + 0x838], xmm0
movq qword [esp + 0x840], xmm2
movq qword [esp + 0x848], xmm1
mov dword [esp + 0x850], eax
cmp ecx, 5
jb 0x453dbf
shl ecx, 3
push 8
push ecx
push edx
call fcn.004ed020
add esp, 0xc
mov ecx, ebx
mov ebx, edi
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x70]
cmp esi, 2
je 0x454a5e
mov eax, dword [esp + 0x850]
movsd xmm1, qword [esp + 0x840]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edx
movq xmm0, qword [esp + 0x838]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x688]
movsd qword [esp + 0x44], xmm1
movq xmm1, qword [esp + 0x848]
movq qword [esp + 0x3c], xmm0
cmp eax, 5
movq qword [esp + 0x4c], xmm1
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebx
jb 0x453e41
shl eax, 3
push 8
push eax
push dword [esp + 0x670]
call fcn.004ed020
add esp, 0xc
push 8
push dword [esp + 8]
push dword [esp + 0x98]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x1f8]
cmp eax, 5
jb 0x453e77
shl eax, 3
push 8
push eax
push dword [esp + 0x1e0]
call fcn.004ed020
add esp, 0xc
mov dword [esp + 0x70], 0
cmp dword [esp + 0xe0], 2
je 0x452913
mov eax, dword [esp + 0x58]
cmp eax, 4
jbe 0x453ea0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
jmp 0x453ea4
lea ecx, [esp + 0x38]
mov edx, dword [esp + 0x108]
cmp edx, 4
jbe 0x453ec0
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0xe8]
jmp 0x453ec7
lea edi, [esp + 0xe8]
lea esi, [esp + 0x660]
push edx
push edi
push eax
push ecx
push esi
call fcn.0056c8b0
add esp, 0x14
lea eax, [esp + 0x2e0]
push dword [esp + 0xc]
push esi
push eax
call fcn.0055e1b0
add esp, 0xc
mov eax, dword [esp + 0x334]
movsd xmm2, qword [esp + 0x31c]
movsd xmm1, qword [esp + 0x324]
movsd xmm0, qword [esp + 0x310]
mov esi, dword [esp + 0x318]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x308]
movsd qword [esp + 0x1d0], xmm2
movsd qword [esp + 0x1d8], xmm1
movsd xmm2, qword [esp + 0x32c]
movsd xmm1, qword [esp + 0x338]
movaps xmmword [esp + 0x10], xmm0
cmp eax, 5
movsd qword [esp + 0x1e0], xmm2
movaps xmmword [esp + 0x90], xmm1
jb 0x453f7b
shl eax, 3
push 8
push eax
push dword [esp + 0x2f0]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x1e8]
movsd xmm1, qword [esp + 0x1d8]
movsd xmm0, qword [esp + 0x1d0]
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0x688]
movsd qword [esp + 0x2e8], xmm1
movsd xmm1, qword [esp + 0x1e0]
movsd qword [esp + 0x2e0], xmm0
cmp eax, 5
movsd qword [esp + 0x2f0], xmm1
jb 0x453fe0
shl eax, 3
push 8
push eax
push dword [esp + 0x670]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x2f8]
movsd xmm1, qword [esp + 0x2e8]
movsd xmm0, qword [esp + 0x2e0]
mov dword [esp + 0x998], eax
mov eax, dword [esp + 0x58]
movsd qword [esp + 0x988], xmm1
movsd xmm1, qword [esp + 0x2f0]
movsd qword [esp + 0x980], xmm0
cmp eax, 5
movsd qword [esp + 0x990], xmm1
jb 0x45403f
shl eax, 3
push 8
push eax
push dword [esp + 0x40]
call fcn.004ed020
add esp, 0xc
cmp dword [esp + 0x24], 2
jne 0x454071
cmp dword [esp + 0x630], 2
je 0x454071
mov eax, dword [esp + 0x658]
cmp eax, 5
jb 0x454071
shl eax, 3
push 8
push eax
push dword [esp + 0x640]
call fcn.004ed020
add esp, 0xc
cmp dword [esp + 0xe0], 2
je 0x45409c
mov eax, dword [esp + 0x108]
cmp eax, 5
jb 0x45409c
shl eax, 3
push 8
push eax
push dword [esp + 0xf0]
call fcn.004ed020
add esp, 0xc
movsd xmm1, qword [esp + 0x988]
mov eax, dword [esp + 0x998]
mov edx, dword [esp + 0xc]
movq xmm0, qword [esp + 0x980]
movdqa xmm2, xmmword [esp + 0x10]
movsd qword [esp + 0x2c4], xmm1
movsd xmm1, qword [esp + 0x990]
mov dword [esp + 0x2d4], eax
lea eax, [edx + 0x30]
movq qword [esp + 0x2bc], xmm0
movsd qword [esp + 0x2cc], xmm1
movdqa xmm1, xmmword [esp + 0x90]
movq qword [esp + 0x2b0], xmm2
mov dword [esp + 0x2b8], esi
movq qword [esp + 0x2d8], xmm1
lea ecx, [esp + 0x2b0]
lea esi, [esp + 0x2e0]
push edx
push eax
push ecx
push esi
call fcn.00552aa0
add esp, 0x10
mov esi, dword [esp + 0x28]
movq xmm0, qword [esp + 0x308]
movq xmm1, qword [esp + 0x300]
movq xmm2, qword [esp + 0x2f8]
movq xmm3, qword [esp + 0x2f0]
movq xmm4, qword [esp + 0x2e0]
movq xmm5, qword [esp + 0x2e8]
cmp esi, 4
movq qword [esp + 0x68c], xmm0
movq qword [esp + 0x684], xmm1
movq qword [esp + 0x2e4], xmm4
movq qword [esp + 0x2ec], xmm5
movq qword [esp + 0x2f4], xmm3
movq qword [esp + 0x2fc], xmm2
movq qword [esp + 0x304], xmm1
movq qword [esp + 0x30c], xmm0
movq qword [esp + 0x1f8], xmm0
movq qword [esp + 0x1f0], xmm1
movq qword [esp + 0x1e8], xmm2
movq qword [esp + 0x1e0], xmm3
movq qword [esp + 0x1d8], xmm5
movq qword [esp + 0x1d0], xmm4
jbe 0x454209
mov esi, dword [esp + 0x8bc]
mov eax, dword [esp + 0x8c0]
mov ecx, dword [esp + 0x1f8]
cmp ecx, 4
ja 0x45421c
lea edx, [esp + 0x1d8]
jmp 0x45422a
lea eax, [esp + 0x8c0]
mov ecx, dword [esp + 0x1f8]
cmp ecx, 4
jbe 0x454200
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1d8]
push ecx
push edx
push esi
push eax
call fcn.0055db80
add esp, 0x10
test al, al
je 0x45428a
mov eax, dword [esp + 0x1f8]
cmp eax, 5
jb 0x45425b
shl eax, 3
push 8
push eax
push dword [esp + 0x1e0]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x2d8]
mov ebx, 0x10
cmp eax, 5
jb 0x452972
shl eax, 3
push 8
push eax
push dword [esp + 0x2c0]
call fcn.004ed020
add esp, 0xc
jmp 0x452972
lea eax, [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov esi, dword [esp + 0x2b4]
mov ebx, dword [esp + 0x2b8]
movq xmm2, qword [esp + 0x2d8]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x968], xmm1
movsd xmm1, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movsd qword [esp + 0x960], xmm0
mov dword [esp + 0x978], eax
mov eax, dword [esp + 0x1f8]
movsd qword [esp + 0x970], xmm1
cmp eax, 5
jb 0x45430f
shl eax, 3
push 8
push eax
push dword [esp + 0x1e0]
movdqa xmmword [esp + 0x1c], xmm2
call fcn.004ed020
movdqa xmm2, xmmword [esp + 0x1c]
add esp, 0xc
movsd xmm1, qword [esp + 0x968]
mov ecx, dword [esp]
movsd xmm0, qword [esp + 0x960]
mov eax, dword [esp + 0x978]
movsd qword [esp + 0x948], xmm1
movsd xmm1, qword [esp + 0x970]
cmp ecx, 5
movsd qword [esp + 0x940], xmm0
mov dword [esp + 0x958], eax
movsd qword [esp + 0x950], xmm1
jb 0x454372
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
test ecx, ecx
mov dword [esp], ecx
je 0x4543ba
mov eax, dword [eax + 8]
mov dword [esp + 0x10], edi
jmp 0x454381
test ecx, ecx
je 0x4543ba
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], edi
add eax, 8
mov edi, dword [esp]
mov edx, 0x3f
mov ecx, dword [eax + edi*8 - 4]
bsr eax, dword [eax + edi*8 - 8]
cmovne edx, eax
bsr eax, ecx
xor edx, 0x1f
xor eax, 0x1f
add edx, 0x20
test ecx, ecx
cmove eax, edx
shl edi, 6
or edi, 7
sub edi, eax
shr edi, 3
mov dword [esp], edi
mov edi, dword [esp + 0x10]
jmp 0x4543c1
mov dword [esp], 0
movsd xmm1, qword [esp + 0x948]
mov eax, dword [esp + 0x958]
mov dword [esp + 0x2e0], edi
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x2e8], ebx
movq xmm0, qword [esp + 0x940]
movsd qword [esp + 0x2f4], xmm1
movq xmm1, qword [esp + 0x950]
mov dword [esp + 0x304], eax
movd eax, xmm2
movq qword [esp + 0x2ec], xmm0
cmp eax, 5
cmovae eax, esi
test eax, eax
movq qword [esp + 0x2fc], xmm1
movq qword [esp + 0x308], xmm2
je 0x4544fd
lea eax, [esp + 0x660]
push 8
lea ecx, [esp + 0x2e4]
push ecx
push eax
call fcn.00550960
add esp, 0xc
mov edx, dword [esp + 0x668]
cmp edx, 2
jb 0x4545f0
mov edi, dword [esp + 0x664]
mov eax, edx
xor ecx, ecx
shr eax, 1
cmp edx, 0x10
jb 0x4545d7
xor ecx, ecx
cmp edx, 0x20
mov dword [esp + 0x10], edi
jae 0x45453e
mov esi, dword [esp + 0x10]
mov edi, ecx
mov ebx, edx
mov ecx, eax
pxor xmm0, xmm0
sub ebx, edi
and ecx, 0xfffffff8
lea esi, [ebx + esi - 8]
mov ebx, dword [esp + 0x10]
add ebx, edi
sub edi, ecx
movq xmm1, qword [ebx]
movq xmm2, qword [esi]
punpcklbw xmm2, xmm0
punpcklbw xmm1, xmm0
pshufd xmm2, xmm2, 0x4e
pshufd xmm1, xmm1, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm2, xmm2
packuswb xmm1, xmm1
movq qword [ebx], xmm2
movq qword [esi], xmm1
add esi, 0xfffffff8
add ebx, 8
add edi, 8
jne 0x4544a3
mov edi, dword [esp + 0x10]
cmp eax, ecx
jne 0x4545d7
jmp 0x4545f0
mov eax, dword [0x6b6a34]
movzx eax, byte [eax]
push 1
push 1
call fcn.004ed010
add esp, 8
test eax, eax
je 0x454a8c
mov dword [esp + 0x660], 1
mov dword [esp + 0x664], eax
mov byte [eax], 0
mov dword [esp + 0x668], 1
jmp 0x4545f0
mov ecx, eax
mov esi, edi
lea edi, [edx + edi - 0x10]
pxor xmm0, xmm0
and ecx, 0xfffffff0
mov ebx, ecx
movdqu xmm2, xmmword [edi]
movdqu xmm1, xmmword [esi]
movdqa xmm3, xmm2
punpckhbw xmm2, xmm0
punpcklbw xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
pshufd xmm3, xmm3, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm2, xmm3
movdqu xmmword [esi], xmm2
movdqa xmm2, xmm1
punpckhbw xmm1, xmm0
add esi, 0x10
punpcklbw xmm2, xmm0
pshufd xmm1, xmm1, 0x4e
pshufd xmm2, xmm2, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [edi], xmm1
add edi, 0xfffffff0
add ebx, 0xfffffff0
jne 0x45454f
mov edi, dword [esp + 0x10]
cmp eax, ecx
je 0x4545f0
test dl, 0x10
jne 0x454484
sub eax, ecx
lea esi, [edi + ecx]
not ecx
add ecx, edx
add ecx, edi
movzx edx, byte [esi]
mov dh, byte [ecx]
mov byte [esi], dh
mov byte [ecx], dl
inc esi
dec ecx
dec eax
jne 0x4545e2
mov esi, dword [esp + 0x668]
movq xmm0, qword [esp + 0x660]
mov eax, dword [esp]
mov dword [esp + 0x1d8], esi
movq qword [esp + 0x1d0], xmm0
mov ebx, eax
mov edi, dword [esp + 0x1d4]
sub ebx, esi
jae 0x454627
mov ebx, 0x12
jmp 0x454670
test eax, eax
je 0x45464c
push 1
push eax
call fcn.004ed060
add esp, 8
test eax, eax
jne 0x454651
push dword [esp]
push 1
call fcn.004ed3a0
add esp, 8
jmp 0x454ad7
mov eax, 1
add ebx, eax
mov dword [esp + 0x10], eax
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, 0x14
test esi, esi
je 0x45467e
nop dword [eax + eax]
mov byte [edi], 0
inc edi
dec esi
jne 0x454670
mov edi, dword [esp + 0x1d4]
mov dword [esp + 0x1d8], 0
mov esi, dword [esp + 0x1d0]
test esi, esi
js 0x454a76
je 0x4546a7
nop word [eax + eax]
mov byte [edi], 0
inc edi
dec esi
jne 0x4546a0
mov eax, dword [esp + 0x1d0]
test eax, eax
je 0x4546c4
push 1
push eax
push dword [esp + 0x1dc]
call fcn.004ed020
add esp, 0xc
lea eax, [esp + 0x2e0]
push eax
call fcn.00549630
add esp, 4
mov esi, dword [esp]
mov eax, dword [esp + 0x308]
cmp eax, 5
jb 0x4546f8
shl eax, 3
push 8
push eax
push dword [esp + 0x2f0]
call fcn.004ed020
add esp, 0xc
push 1
push dword [esp + 0xb4]
push dword [esp + 0x10]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x8e0]
cmp eax, 5
jb 0x45472e
shl eax, 3
push 8
push eax
push dword [esp + 0x8c8]
call fcn.004ed020
add esp, 0xc
cmp ebx, 0x14
jne 0x45477a
lea eax, [esp + 0x150]
push esi
push dword [esp + 0x14]
push eax
call fcn.005ed830
add esp, 0xc
test esi, esi
je 0x45475b
push 1
push esi
push dword [esp + 0x18]
call fcn.004ed020
add esp, 0xc
mov edx, dword [esp + 0x150]
cmp edx, 2
jne 0x45478a
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x158]
jmp 0x452aab
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb0], esi
jmp 0x452a0e
movsd xmm2, qword [esp + 0x164]
movsd xmm1, qword [esp + 0x16c]
movq xmm0, qword [esp + 0x15c]
mov esi, dword [esp + 0x184]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
movsd qword [esp + 0x86c], xmm2
movsd qword [esp + 0x874], xmm1
movq xmm2, qword [esp + 0x174]
movq xmm1, qword [esp + 0x17c]
movq qword [esp + 0x864], xmm0
mov dword [esp + 0x88c], esi
movq qword [esp + 0x87c], xmm2
movq qword [esp + 0x884], xmm1
mov dword [esp + 0x858], edx
mov dword [esp + 0x85c], eax
mov dword [esp + 0x860], ecx
lea edx, [esp + 0x860]
mov edi, dword [esp + 0x880]
cmp edi, 5
cmovae edx, ecx
cmovae edi, eax
lea esi, [esp + 0x2e0]
mov ecx, esi
push edi
call fcn.0040e730
add esp, 4
mov eax, dword [esp + 0x888]
mov dword [esp + 0x310], eax
push esi
call fcn.005ed8a0
add esp, 4
mov esi, edx
test edx, edx
je 0x45489b
mov ebx, eax
test esi, esi
js 0x454a9a
mov eax, dword [0x6b6a34]
movzx eax, byte [eax]
push 1
push esi
call fcn.004ed010
add esp, 8
test eax, eax
je 0x454aa1
mov edi, eax
push esi
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 1
push esi
push ebx
call fcn.004ed020
add esp, 0xc
jmp 0x4548a0
mov edi, 1
mov eax, dword [esp + 0x880]
cmp eax, 5
jb 0x4548c1
shl eax, 3
push 8
push eax
push dword [esp + 0x868]
call fcn.004ed020
add esp, 0xc
mov eax, dword [esp + 0x2ac]
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x452ac5
jmp 0x452ad7
mov bl, 1
push 0x6b30a0
mov eax, dword [esp + 0xd4]
push eax
push eax
call fcn.004fac30
add esp, 0xc
jmp 0x454ad7
xor eax, eax
mov ecx, 0x6b304c
jmp 0x454911
mov ecx, 0x6b305c
mov eax, 1
mov dl, 1
mov dword [esp + 0x70], edx
push ecx
push eax
push eax
call fcn.004fac30
add esp, 0xc
jmp 0x454ad7
mov dword [esp + 0x660], 0
mov ecx, dword [esp + 0x62c]
mov edx, dword [esp + 0x628]
call fcn.0042f640
jmp 0x454ad7
push 0x6b3118
push 0
push 0
call fcn.004fac30
add esp, 0xc
jmp 0x454ad7
push 0x6b3148
push edi
push eax
call fcn.00500740
add esp, 0xc
jmp 0x454ad7
push 0x6b3148
mov ebx, dword [esp + 0xb4]
push ebx
push edi
call fcn.005006e0
add esp, 0xc
jmp 0x454ad7
push 0x6b3158
push esi
push ecx
mov ebx, dword [esp + 0xbc]
call fcn.005008c0
add esp, 0xc
jmp 0x454ad7
push edi
push 1
call fcn.004ed3a0
add esp, 8
jmp 0x454ad7
push 0x6b3e14
push ecx
push eax
call fcn.00500680
add esp, 0xc
jmp 0x454ad7
mov eax, 0x20
jmp 0x4549da
mov eax, 0x30
push 0x6b3e24
push dword [esp + 0x30]
push eax
call fcn.005008c0
add esp, 0xc
jmp 0x454ad7
push 0x6b301c
push 0x2b
push str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_srccollections_btree_navigate.rs
call fcn.004faaf0
add esp, 0xc
jmp 0x454ad7
push 0x6b302c
push 0x2b
push str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_srccollections_btree_navigate.rs
call fcn.004faaf0
add esp, 0xc
jmp 0x454ad7
call fcn.004ed360
jmp 0x454ad7
push dword [esp + 4]
push 8
call fcn.004ed3a0
add esp, 8
jmp 0x454ad7
mov dword [esp + 0x70], 0
push 0x6b306c
push 0x2b
push str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_srccollections_btree_navigate.rs
call fcn.004faaf0
add esp, 0xc
jmp 0x454ad7
xor ebx, ebx
push 0x6b3090
push 0x11
push 0x6b307c
call fcn.004fa840
add esp, 0xc
jmp 0x454ad7
push 0x6b4528
push 0x2d
push 0x6b44fa
call fcn.004faaf0
add esp, 0xc
jmp 0x454ad7
push 1
push 1
call fcn.004ed3a0
add esp, 8
jmp 0x454ad7
call fcn.004ed360
jmp 0x454ad7
push esi
push 1
call fcn.004ed3a0
add esp, 8
jmp 0x454ad7
mov dword [esp + 0xb0], 0x40
jmp 0x454ac6
mov dword [esp + 0xb0], 0x60
push dword [esp + 0xb0]
push 1
call fcn.004ed3a0
add esp, 8
ud2
mov eax, 0x6b3128
mov ecx, 1
jmp 0x453208
mov ecx, 0x6b303c
xor eax, eax
jmp 0x454911