Function at 0x45c750
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd78
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xce0], xmm6
mov qword [rbp + 0xaa8], rdx
mov rdx, qword [0x004a5048]
test rdx, rdx
je 0x45d83c
mov rax, qword [0x004a5040]
mov rdi, rdx
shl rdi, 6
add rdi, rax
xor r15d, r15d
mov r8, rax
mov r10, qword [r8 + 0x28]
mov r9, qword [r8 + 0x30]
mov r12, qword [r8 + 0x38]
add r8, 0x40
shl r9, 4
nop word cs:[rax + rax]
test r9, r9
je 0x45c7f0
mov r11, r10
add r10, 0x10
mov rsi, qword [r11]
add rsi, r12
add r9, 0xfffffffffffffff0
cmp rsi, rcx
ja 0x45c7c0
add rsi, qword [r11 + 8]
cmp rsi, rcx
jbe 0x45c7c0
jmp 0x45c7fd
inc r15
cmp r8, rdi
jne 0x45c7a0
jmp 0x45d83c
mov qword [rbp + 0xc18], rcx
mov rdi, qword [0x004a5060]
test rdi, rdi
je 0x45c849
mov r14, qword [0x004a5058]
imul rsi, rdi, 0x230
xor ecx, ecx
xor ebx, ebx
nop word cs:[rax + rax]
cmp qword [r14 + rbx], r15
je 0x45ca1d
add rbx, 0x230
dec rcx
cmp rsi, rbx
jne 0x45c830
cmp rdx, r15
jbe 0x45fd53
mov rcx, r15
shl rcx, 6
mov rdx, qword [rax + rcx + 8]
mov r8, qword [rax + rcx + 0x10]
lea rcx, [rbp + 0x870]
call fcn.0045bec0
cmp qword [rbp + 0x870], 0
je 0x45d83c
mov rax, qword [rbp + 0x878]
mov qword [rbp + 0xc60], rax
mov r14, qword [rbp + 0x880]
mov rdi, qword [rbp + 0x888]
mov qword [rbp + 0x740], 0
mov qword [rbp + 0x748], 8
xorps xmm0, xmm0
movups xmmword [rbp + 0x750], xmm0
mov qword [rbp + 0x760], 8
mov qword [rbp + 0x768], 0
mov r9d, 0x40
mov rcx, r14
mov rdx, rdi
xor r8d, r8d
call fcn.00461b40
test rax, rax
je 0x45c9f8
cmp rdx, 0x40
jb 0x45c9f8
movzx ecx, word [rax]
cmp ecx, 0x5a4d
jne 0x45c9f8
mov esi, dword [rax + 0x3c]
mov r9d, 0x88
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.00461b40
mov r13, rax
test rax, rax
je 0x45c9f8
cmp rdx, 0x88
jb 0x45c9f8
cmp dword [r13], 0x4550
jne 0x45c9f8
movzx eax, word [r13 + 0x18]
cmp eax, 0x20b
jne 0x45c9f8
movzx ebx, word [r13 + 0x14]
cmp rbx, 0x70
jb 0x45c9f8
add rsi, 0x88
add rbx, 0xffffffffffffff90
mov rcx, r14
mov rdx, rdi
mov r8, rsi
mov r9, rbx
call fcn.00461b40
test rax, rax
je 0x45c9f8
mov r8, rdx
mov r9d, dword [r13 + 0x84]
lea rcx, [rbp + 0x870]
mov rdx, rax
call fcn.00462f50
cmp qword [rbp + 0x870], 0
jne 0x45c9f8
add rbx, rsi
movzx esi, word [r13 + 6]
lea eax, [rsi*8]
lea rax, [rax + rax*4]
mov rcx, r14
mov rdx, rdi
mov r8, rbx
mov rbx, rax
mov r9, rax
call fcn.00461b40
test rax, rax
sete cl
cmp rbx, rdx
seta dl
xor r8d, r8d
or dl, cl
mov ecx, 0x1f
cmovne rsi, rcx
cmove r8, rax
mov qword [rbp + 0xcb8], r8
je 0x45d878
lea rcx, [rbp + 0x740]
call fcn.0040eee0
mov rcx, r14
call sub.KERNEL32.dll_UnmapViewOfFile
mov rcx, qword [rbp + 0xc60]
call sub.KERNEL32.dll_CloseHandle
jmp 0x45d83c
test rcx, rcx
je 0x45caad
mov r15, r14
add r14, rbx
lea rcx, [rbp - 0x60]
mov r8d, 0x230
mov rdx, r14
call sub.ntdll.dll_memcpy
lea rdx, [r15 + rbx]
add rdx, 0x230
sub rsi, rbx
add rsi, 0xfffffffffffffdd0
mov rcx, r14
mov r8, rsi
call sub.ntdll.dll_memmove
lea rsi, [rdi - 1]
mov qword [0x004a5060], rsi
cmp rsi, qword [0x004a5050]
jne 0x45ca77
call fcn.0041de00
mov r14, qword [0x004a5058]
lea rcx, [r14 + 0x230]
imul r8, rsi, 0x230
mov rdx, r14
call sub.ntdll.dll_memmove
lea rdx, [rbp - 0x60]
mov r8d, 0x230
mov rcx, r14
call sub.ntdll.dll_memcpy
mov qword [0x004a5060], rdi
mov rax, qword [rbp + 0xc18]
sub rax, r12
mov qword [rbp + 0xc18], rax
lea rdi, [rax + 1]
mov rbx, qword [r14 + 0x1b8]
mov rdx, qword [r14 + 0x1c0]
xor ecx, ecx
test rdx, rdx
je 0x45cb15
mov rax, rdx
mov r8, rdx
nop dword [rax]
shr rax, 1
add rax, rcx
mov r9, rax
shl r9, 5
mov r9, qword [rbx + r9]
cmp r9, rdi
je 0x45cb0f
lea r10, [rax + 1]
cmp r9, rdi
cmova r8, rax
cmovb rcx, r10
mov rax, r8
sub rax, rcx
ja 0x45cae0
jmp 0x45cb15
inc rax
mov rcx, rax
cmp rcx, rdx
ja 0x4607ed
mov r15d, 3
test rcx, rcx
mov qword [rbp + 0xc50], r14
je 0x45cf17
lea rsi, [r14 + 0x1b0]
shl rcx, 5
lea r12, [rcx + rbx]
add r12, 0xffffffffffffffe0
neg rcx
xor eax, eax
mov rdx, qword [rbp + 0xc18]
jmp 0x45cb6e
add r12, 0xffffffffffffffe0
add rcx, 0x20
je 0x45cf17
cmp qword [r12 + 0x18], rdx
jbe 0x45cbb9
cmp qword [r12 + 8], rdx
jbe 0x45cb60
cmp rdi, qword [r12]
jbe 0x45cb60
mov rcx, qword [r12 + 0x10]
mov rdx, qword [r14 + 0x1d0]
cmp rcx, rdx
jae 0x46081e
imul rax, rcx, 0x218
add rax, qword [r14 + 0x1c8]
mov qword [rbp + 0x878], rax
mov ecx, 0x10
xor r13d, r13d
mov rax, r12
jmp 0x45cbc1
mov ecx, 8
mov r13b, 1
mov qword [rbp + rcx + 0x870], rax
mov r14, qword [rbp + 0x878]
test r14, r14
je 0x45cf17
lea rcx, [rbp - 0x60]
mov rdx, r14
mov r8, rsi
call fcn.004279a0
mov qword [rbp + 0x550], r14
mov rax, qword [rbp + 0xc18]
mov qword [rbp + 0x560], rax
mov qword [rbp + 0x558], rsi
cmp qword [rbp - 0x30], 0
je 0x45ccad
lea rax, [rbp - 0x30]
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x290], rcx
movups xmm0, xmmword [rax]
mov rax, qword [rbp + 0x550]
mov qword [rbp + 0x298], rax
mov rax, qword [rbp + 0x558]
mov qword [rbp + 0x2a0], rax
mov rax, qword [rbp + 0x560]
mov qword [rbp + 0x2a8], rax
movups xmm1, xmmword [rbp - 0x60]
movups xmm2, xmmword [rbp - 0x50]
movups xmm3, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0x870], xmm1
movaps xmmword [rbp + 0x880], xmm2
movaps xmmword [rbp + 0x890], xmm3
movaps xmmword [rbp + 0x8a0], xmm0
mov rax, qword [rbp + 0x290]
mov qword [rbp + 0x8b0], rax
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x8b8], rax
mov rax, qword [rbp + 0x2a0]
mov qword [rbp + 0x8c0], rax
mov rax, qword [rbp + 0x2a8]
mov qword [rbp + 0x8c8], rax
jmp 0x45cccf
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0x550]
lea r8, [rbp - 0x60]
call fcn.00427e30
mov qword [rbp + 0x8a0], 0
mov rax, qword [rbp + 0xc18]
mov qword [rbp + 0x280], rax
mov qword [rbp + 0x288], r14
mov qword [rbp + 0x290], rsi
mov qword [rbp + 0x298], rsi
mov qword [rbp + 0x2a0], rax
mov qword [rbp + 0x2a8], rdi
mov qword [rbp + 0x2b0], rbx
mov qword [rbp + 0x2b8], r12
mov qword [rbp + 0x2c0], rdi
mov qword [rbp + 0x2c8], rax
mov byte [rbp + 0x2d0], r13b
lea rcx, [rbp - 0x60]
lea rdx, [rbp + 0x870]
lea r8, [rbp + 0x280]
call fcn.00429b50
cmp byte [rbp + 0x50], 2
je 0x45cf13
lea rbx, [rbp - 0x30]
lea r14, [rbp + 0x298]
lea rdi, [rbp + 0x881]
lea r13, [rbp + 0x550]
lea r12, [rbp + 0x870]
lea rsi, [rbp + 0x810]
lea r15, [rbp - 0x60]
nop
movups xmm0, xmmword [rbp - 0x60]
movups xmm1, xmmword [rbp - 0x50]
movups xmm2, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0xae0], xmm2
movaps xmmword [rbp + 0xad0], xmm1
movaps xmmword [rbp + 0xac0], xmm0
mov r8d, 0x88
lea rcx, [rbp + 0x280]
mov rdx, rbx
call sub.ntdll.dll_memcpy
mov rax, qword [rbp + 0xac0]
lock dec qword [rax]
jne 0x45cdbf
lea rcx, [rbp + 0xac0]
call fcn.0041d150
mov rax, qword [rbp + 0x280]
mov rcx, qword [rbp + 0x290]
movzx edx, byte [rax + 0x200]
cmp edx, 0x4b
je 0x45ce00
cmp edx, 0x4c
jne 0x45ce30
mov byte [rax + 0x200], 0x4b
mov qword [rax + 0x208], 0
jmp 0x45ce20
mov r8, qword [rax + 0x208]
test r8, r8
je 0x45ce20
mov rcx, qword [r8]
add rcx, 0x10
add r8, 8
mov dl, 2
mov rax, r8
jmp 0x45ce29
mov rcx, qword [rcx]
add rcx, 0x10
xor edx, edx
xor r8d, r8d
jmp 0x45ce5e
mov rcx, qword [rax + 0x200]
movzx edx, byte [rax + 0x208]
mov r8d, dword [rax + 0x20c]
mov dword [rbp + 0x813], r8d
mov eax, dword [rax + 0x209]
mov dword [rbp + 0x810], eax
mov r8d, 1
mov qword [rbp + 0x870], r8
mov qword [rbp + 0x878], rcx
mov byte [rbp + 0x880], dl
mov ecx, dword [rbp + 0x810]
mov edx, dword [rbp + 0x813]
mov dword [rdi + 3], edx
mov dword [rdi], ecx
mov qword [rbp + 0x888], rax
mov rcx, r13
mov rdx, r14
mov r8, r12
call fcn.00427e30
mov qword [rbp + 0x580], 0
mov rax, qword [r14 + 0x68]
mov qword [rbp + 0x860], rax
movups xmm0, xmmword [r14 + 0x58]
movaps xmmword [rbp + 0x850], xmm0
movups xmm0, xmmword [r14 + 0x18]
movups xmm1, xmmword [r14 + 0x28]
movups xmm2, xmmword [r14 + 0x38]
movups xmm3, xmmword [r14 + 0x48]
movaps xmmword [rbp + 0x840], xmm3
movaps xmmword [rbp + 0x830], xmm2
movaps xmmword [rbp + 0x820], xmm1
movaps xmmword [rbp + 0x810], xmm0
mov rcx, r12
mov rdx, r13
mov r8, rsi
call fcn.00429b50
mov r8d, 0xb8
mov rcx, r15
mov rdx, r12
call sub.ntdll.dll_memcpy
cmp byte [rbp + 0x50], 2
jne 0x45cd70
mov r15d, dword [rbp - 0x60]
mov rbx, qword [rbp + 0xc50]
add rbx, 8
cmp r15d, 5
je 0x45d7f7
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0xcb0], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0xcc8], rax
lea rax, [rax*8]
mov qword [rbp + 0xc58], rax
lea eax, [r15 - 3]
cmp eax, 2
mov ecx, 2
cmovb ecx, eax
test ecx, ecx
je 0x45d067
mov qword [rbp + 0xc50], rbx
mov esi, dword [rbp - 0x5c]
mov r11d, dword [rbp - 0x58]
mov ebx, dword [rbp - 0x54]
mov r14, qword [rbp - 0x50]
mov r13, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x38]
mov qword [rbp + 0xc10], r8
mov r8, qword [rbp - 0x30]
mov qword [rbp + 0xc38], r8
mov r8, qword [rbp - 0x20]
mov qword [rbp + 0xc70], r8
mov r8, qword [rbp - 0x10]
mov qword [rbp + 0xc80], r8
lea r8, [rdx + 0x60]
mov qword [rbp + 0xc68], r8
mov qword [rbp + 0xca0], rdx
add rdx, 0x1b8
mov qword [rbp + 0xc40], rdx
mov rdx, qword [rbp + 0xaa8]
mov r8, qword [rdx]
mov qword [rbp + 0xc78], r8
mov rdx, qword [rdx + 8]
cmp ecx, 1
mov qword [rbp + 0xc90], rdx
jne 0x45d06e
mov qword [rbp + 0xcd0], rsi
mov qword [rbp + 0xca8], rbx
mov rsi, rbx
shl rsi, 0x20
or rsi, r11
cmp eax, 2
jb 0x45d032
cmp qword [rbp + 0xcc8], 0
je 0x45d032
mov r8d, 8
mov rcx, qword [rbp + 0xcb0]
mov rdx, qword [rbp + 0xc58]
call fcn.00404450
mov dword [rbp + 0xcd8], 2
mov eax, 3
mov qword [rbp + 0xcb8], rax
mov rax, qword [rbp + 0xca0]
mov qword [rbp + 0xc60], rax
mov rbx, r14
mov r15, r14
mov r14, r13
mov r12, r13
jmp 0x45d326
xor esi, esi
jmp 0x45d7ca
mov rax, qword [rbp + 0xc80]
cmp qword [rbp + 0xc70], rax
je 0x45d0e8
mov qword [rbp + 0xc88], r11
mov qword [rbp + 0xca8], rbx
mov qword [rbp + 0xcd0], rsi
mov qword [rbp + 0xc98], r13
mov rsi, qword [rax - 8]
mov r8d, dword [rsi + 0x28]
mov edx, dword [rsi + 0x2c]
xor ecx, ecx
mov qword [rbp + 0xcb8], rcx
mov qword [rbp + 0xc60], r8
test r8d, r8d
setne bl
mov dword [rbp + 0xcd8], 0
mov r12, rdx
test edx, edx
setne dil
cmp qword [rsi], 0
je 0x45d0e0
mov rcx, qword [rbp + 0xc68]
cmp dword [rcx], 0x2f
jne 0x45d110
xor r10d, r10d
jmp 0x45d27a
mov rcx, qword [rbp + 0xc38]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x45d180
mov rdx, qword [rcx + 0x30]
mov rcx, qword [rbp + 0xca0]
movzx edi, word [rcx + 0x210]
jmp 0x45d184
mov rax, qword [rsi + 8]
mov qword [rbp + 0xcc0], rax
mov rax, qword [rbp + 0xca0]
cmp qword [rax + 0x1b0], 0
jne 0x45d223
lea rcx, [rbp + 0x870]
mov rdx, qword [rbp + 0xc68]
call fcn.004268c0
mov r13, qword [rbp + 0xca0]
lea rcx, [rbp - 0x60]
lea r8, [rbp + 0x870]
mov rdx, r13
mov r9, qword [rbp + 0xc10]
call fcn.0042a170
cmp qword [r13 + 0x1b0], 0
je 0x45d202
lea rcx, [rbp - 0x60]
call fcn.0040f3e0
jmp 0x45d223
mov di, 2
mov ecx, 3
mov qword [rbp + 0xcb8], rcx
cmp qword [rbp + 0xcc8], 0
je 0x45d1e7
mov r8d, 8
mov rcx, qword [rbp + 0xcb0]
mov r12, rsi
mov rsi, rdx
mov rdx, qword [rbp + 0xc58]
mov qword [rbp + 0xc88], r11
mov word [rbp + 0xc60], di
mov rdi, rbx
mov rbx, rax
call fcn.00404450
mov rdx, rsi
mov rsi, r12
mov rax, rbx
mov rbx, rdi
movzx edi, word [rbp + 0xc60]
mov r11, qword [rbp + 0xc88]
mov r12, r13
mov r10, r14
mov r8d, ebx
mov ecx, r11d
mov dword [rbp + 0xcd8], r11d
mov r9d, esi
jmp 0x45d2ee
mov qword [r13 + 0x1b0], 1
movups xmm0, xmmword [rbp - 0x60]
movups xmm1, xmmword [rbp - 0x50]
mov rax, qword [rbp + 0xc40]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rax, qword [rbp + 0xc40]
cmp qword [rax], 0
je 0x45d250
mov rcx, qword [rbp + 0xcc0]
cmp rcx, qword [rax + 8]
jae 0x45d270
mov rax, qword [rax]
lea rcx, [rcx + rcx*2]
mov r10, qword [rax + rcx*8 + 8]
mov r11, qword [rax + rcx*8 + 0x10]
jmp 0x45d273
mov rax, qword [rbp + 0xca0]
cmp byte [rax + 0x1c0], 0x4b
jne 0x45d85c
mov rax, qword [rax + 0x1c8]
test rax, rax
jne 0x45d230
xor r10d, r10d
mov rax, qword [rbp + 0xc80]
add rax, 0xfffffffffffffff8
mov qword [rbp + 0xc80], rax
mov rax, qword [rbp + 0xcb8]
mov al, bl
mov qword [rbp + 0xcb8], rax
mov eax, dword [rbp + 0xcd8]
mov al, dil
mov dword [rbp + 0xcd8], eax
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x45d2c1
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rbp + 0xca0]
movzx edi, word [rcx + 0x210]
jmp 0x45d2c5
mov di, 2
mov r8, r12
mov r9, qword [rbp + 0xc60]
mov r12, r11
mov r13, qword [rbp + 0xc98]
mov rsi, qword [rbp + 0xcd0]
mov rbx, qword [rbp + 0xca8]
mov r11, qword [rbp + 0xc88]
mov ecx, r15d
shl rsi, 0x20
or rsi, rcx
shl rbx, 0x20
or rbx, r11
mov qword [rbp + 0xc60], r13
mov ecx, r9d
mov qword [rbp + 0xcd0], rcx
mov r13, r8
mov qword [rbp + 0xca8], r8
cmp di, 2
mov rdi, r9
mov r15, r10
jne 0x45d347
mov rcx, qword [rbp + 0xc50]
mov rdx, qword [rbp + 0xc18]
call fcn.00460e00
mov rdi, qword [rbp + 0xcd0]
mov r13, qword [rbp + 0xca8]
mov qword [rbp + 0x870], rsi
mov qword [rbp + 0x878], rbx
mov qword [rbp + 0x880], r14
mov rcx, qword [rbp + 0xc60]
mov qword [rbp + 0x888], rcx
mov rcx, qword [rbp + 0xc18]
mov qword [rbp + 0x890], rcx
mov qword [rbp + 0x898], rax
mov qword [rbp + 0x8a0], rdx
mov rax, qword [rbp + 0xc90]
mov rax, qword [rax + 0x20]
lea rdx, [rbp + 0x870]
mov rcx, qword [rbp + 0xc78]
mov qword [rbp + 0xc88], rax
call rax
nop dword [rax + rax]
mov rax, qword [rbp + 0xcb8]
add eax, 0xfffffffd
cmp eax, 2
mov ecx, 2
cmovb ecx, eax
cmp ecx, 1
mov qword [rbp + 0xc60], rdi
je 0x45d450
cmp ecx, 2
jne 0x45d7c0
mov rax, qword [rbp + 0xc80]
cmp qword [rbp + 0xc70], rax
je 0x45d4bb
mov qword [rbp + 0xcc0], r12
mov qword [rbp + 0xc98], r15
mov r15, qword [rax - 8]
mov edx, dword [r15 + 0x28]
mov ecx, dword [r15 + 0x2c]
mov dword [rbp + 0xc90], 0
mov dword [rbp + 0xc48], edx
test edx, edx
setne r14b
xor edi, edi
mov esi, ecx
test ecx, ecx
setne r12b
cmp qword [r15], 0
je 0x45d43e
mov rcx, qword [rbp + 0xc68]
cmp dword [rcx], 0x2f
jne 0x45d549
xor ecx, ecx
mov qword [rbp + 0xcd0], rcx
jmp 0x45d693
cmp eax, 2
jb 0x45d478
cmp qword [rbp + 0xcc8], 0
je 0x45d478
mov r8d, 8
mov rcx, qword [rbp + 0xcb0]
mov rdx, qword [rbp + 0xc58]
call fcn.00404450
mov eax, dword [rbp + 0xcd8]
mov rdi, r13
shl r13, 0x20
or r13, rax
mov dword [rbp + 0xcd8], 2
mov eax, 3
mov qword [rbp + 0xcb8], rax
mov rsi, qword [rbp + 0xca0]
mov rbx, r15
mov qword [rbp + 0xcd0], r15
mov qword [rbp + 0xca8], r12
jmp 0x45d73e
mov rbx, r15
mov rax, qword [rbp + 0xc38]
mov r14, qword [rax + 0x28]
test r14, r14
je 0x45d5a6
mov r15, qword [rax + 0x30]
mov rax, qword [rbp + 0xca0]
movzx r11d, word [rax + 0x210]
mov edi, dword [rbp + 0xcd8]
mov dword [rbp + 0xc90], 3
cmp qword [rbp + 0xcc8], 0
je 0x45d51e
mov r8d, 8
mov rcx, qword [rbp + 0xcb0]
mov rdx, qword [rbp + 0xc58]
mov esi, r11d
call fcn.00404450
mov r11d, esi
mov qword [rbp + 0xca8], r12
mov r8, rbx
mov rax, rbx
mov qword [rbp + 0xcd0], rbx
mov rbx, r13
mov r9d, ebx
mov ecx, edi
mov r13, qword [rbp + 0xc60]
mov r10d, r13d
jmp 0x45d6fb
mov rax, qword [r15 + 8]
mov qword [rbp + 0xcd0], rax
mov rax, qword [rbp + 0xca0]
cmp qword [rax + 0x1b0], 0
lea rax, [rbp + 0x870]
je 0x45d5ce
mov rax, qword [rbp + 0xc40]
cmp qword [rax], 0
jne 0x45d655
mov rax, qword [rbp + 0xca0]
cmp byte [rax + 0x1c0], 0x4b
jne 0x45d857
mov rax, qword [rax + 0x1c8]
test rax, rax
jne 0x45d655
jmp 0x45d683
mov r11w, 2
mov edi, dword [rbp + 0xcd8]
mov dword [rbp + 0xc90], 3
cmp qword [rbp + 0xcc8], 0
jne 0x45d4ff
jmp 0x45d51e
mov rcx, rax
mov rdx, qword [rbp + 0xc68]
call fcn.004268c0
mov rbx, qword [rbp + 0xca0]
lea rcx, [rbp - 0x60]
mov rdx, rbx
lea r8, [rbp + 0x870]
mov r9, qword [rbp + 0xc10]
call fcn.0042a170
cmp qword [rbx + 0x1b0], 0
je 0x45d623
lea rcx, [rbp - 0x60]
call fcn.0040f3e0
mov rax, qword [rbp + 0xc40]
cmp qword [rax], 0
jne 0x45d655
jmp 0x45d57d
mov qword [rbx + 0x1b0], 1
movups xmm0, xmmword [rbp - 0x60]
movups xmm1, xmmword [rbp - 0x50]
mov rax, qword [rbp + 0xc40]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rax, qword [rbp + 0xc40]
cmp qword [rax], 0
je 0x45d57d
mov rcx, qword [rbp + 0xcd0]
cmp rcx, qword [rax + 8]
jae 0x45d683
mov rax, qword [rax]
lea rcx, [rcx + rcx*2]
mov rdx, qword [rax + rcx*8 + 8]
mov qword [rbp + 0xcd0], rdx
mov rax, qword [rax + rcx*8 + 0x10]
mov qword [rbp + 0xca8], rax
jmp 0x45d68c
xor eax, eax
mov qword [rbp + 0xcd0], rax
mov rax, qword [rbp + 0xc80]
add rax, 0xfffffffffffffff8
mov qword [rbp + 0xc80], rax
mov eax, dword [rbp + 0xc90]
mov al, r14b
mov dword [rbp + 0xc90], eax
mov dil, r12b
mov r14, qword [r15 + 0x18]
test r14, r14
je 0x45d6ce
mov r15, qword [r15 + 0x20]
mov rax, qword [rbp + 0xca0]
movzx r11d, word [rax + 0x210]
jmp 0x45d6d3
mov r11w, 2
mov ecx, dword [rbp + 0xcd8]
mov rbx, r13
mov r13, qword [rbp + 0xc60]
mov r8, qword [rbp + 0xc98]
mov r12, qword [rbp + 0xcc0]
mov r9d, esi
mov r10d, dword [rbp + 0xc48]
mov eax, dword [rbp + 0xcb8]
shl r13, 0x20
or r13, rax
mov eax, ecx
shl rbx, 0x20
or rbx, rax
mov rsi, r12
mov r12, r8
mov eax, dword [rbp + 0xc90]
mov qword [rbp + 0xcb8], rax
mov eax, r10d
mov qword [rbp + 0xc60], rax
mov dword [rbp + 0xcd8], edi
mov edi, r9d
cmp r11w, 2
jne 0x45d757
mov rcx, qword [rbp + 0xc50]
mov rdx, qword [rbp + 0xc18]
call fcn.00460e00
mov r14, rax
mov r15, rdx
mov qword [rbp + 0x870], r13
mov qword [rbp + 0x878], rbx
mov qword [rbp + 0x880], r12
mov qword [rbp + 0x888], rsi
mov rax, qword [rbp + 0xc18]
mov qword [rbp + 0x890], rax
mov qword [rbp + 0x898], r14
mov qword [rbp + 0x8a0], r15
mov rcx, qword [rbp + 0xc78]
lea rdx, [rbp + 0x870]
call qword [rbp + 0xc88]
mov r12, qword [rbp + 0xca8]
mov r15, qword [rbp + 0xcd0]
mov r13, rdi
mov rdi, qword [rbp + 0xc60]
jmp 0x45d3b0
mov sil, 1
mov rbx, qword [rbp + 0xc50]
cmp eax, 2
jb 0x45d7f2
cmp qword [rbp + 0xcc8], 0
je 0x45d7f2
mov r8d, 8
mov rcx, qword [rbp + 0xcb0]
mov rdx, qword [rbp + 0xc58]
call fcn.00404450
test sil, sil
jne 0x45d83c
mov rcx, rbx
mov rdx, qword [rbp + 0xc18]
call fcn.00460e00
test rax, rax
je 0x45d83c
mov r8, qword [rbp + 0xaa8]
mov rcx, qword [r8]
mov r8, qword [r8 + 8]
mov dword [rbp + 0x870], 3
mov qword [rbp + 0x878], rax
mov qword [rbp + 0x880], rdx
lea rdx, [rbp + 0x870]
call qword [r8 + 0x20]
movaps xmm6, xmmword [rbp + 0xce0]
add rsp, 0xd78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov sil, 1
jmp 0x45d85e
xor esi, esi
cmp qword [rbp + 0xcc8], 0
mov rbx, qword [rbp + 0xc50]
jne 0x45d7d9
jmp 0x45d7f2
mov ebx, dword [r13 + 0xc]
test rbx, rbx
je 0x45da70
mov eax, dword [r13 + 0x10]
mov qword [rbp + 0xca8], rax
add rax, rax
lea r9, [rax + rax*8]
mov rcx, r14
mov rdx, rdi
mov r8, rbx
mov qword [rbp + 0xcd8], r9
call fcn.00461b40
mov qword [rbp + 0xc90], rax
test rax, rax
je 0x45c9f8
cmp qword [rbp + 0xcd8], rdx
ja 0x45c9f8
mov r8, qword [rbp + 0xcd8]
add r8, rbx
mov r9d, 4
mov rcx, r14
mov rdx, rdi
mov qword [rbp + 0xcd8], r8
call fcn.00461b40
test rax, rax
je 0x45c9f8
cmp rdx, 4
jb 0x45c9f8
mov qword [rbp + 0xc88], rsi
mov qword [rbp + 0xc10], rdi
mov eax, dword [rax]
add rax, qword [rbp + 0xcd8]
mov qword [rbp + 0xca0], rax
mov rax, qword [r13 + 0x30]
mov qword [rbp + 0xc80], rax
mov qword [rbp + 0x870], 0
mov qword [rbp + 0x878], 8
mov qword [rbp + 0x880], 0
cmp qword [rbp + 0xca8], 0
je 0x45e256
lea rax, [rbp + 0x878]
mov qword [rbp + 0xab0], rax
mov eax, 8
xor ecx, ecx
mov qword [rbp + 0xcd0], rcx
xor ebx, ebx
mov r8, qword [rbp + 0xc88]
mov r9, qword [rbp + 0xca8]
mov r10, qword [rbp + 0xc90]
jmp 0x45d9eb
add r13, qword [rbp + 0xc80]
add rsi, r13
mov rdx, qword [rbp + 0xcd0]
mov rcx, rdx
shl rcx, 4
mov qword [rax + rcx], rsi
mov qword [rax + rcx + 8], rdi
inc rdx
mov rcx, rdx
mov qword [rbp + 0xcd0], rdx
mov qword [rbp + 0x880], rdx
mov r8, qword [rbp + 0xc88]
mov r9, qword [rbp + 0xca8]
mov r10, qword [rbp + 0xc90]
mov r11, qword [rbp + 0xc78]
add rbx, r11
inc rbx
cmp rbx, r9
jae 0x45e24c
lea rcx, [rbx + rbx*8]
movzx r11d, byte [r10 + rcx*2 + 0x11]
movzx edx, word [r10 + rcx*2 + 0xe]
and edx, 0x30
cmp dx, 0x20
jne 0x45d9dc
lea rdi, [r10 + rcx*2]
movzx edx, word [rdi + 0xc]
cmp edx, 0xfeff
movsx ecx, dx
cmovb ecx, edx
test ecx, ecx
jle 0x45d9dc
mov qword [rbp + 0xc78], r11
mov ecx, ecx
dec rcx
cmp rcx, r8
jae 0x45f860
mov r13d, dword [rdi + 8]
lea rcx, [rcx + rcx*4]
mov rdx, qword [rbp + 0xcb8]
mov esi, dword [rdx + rcx*8 + 0xc]
mov rcx, qword [rbp + 0xcd0]
cmp rcx, qword [rbp + 0x870]
jne 0x45d98b
lea rcx, [rbp + 0x870]
call fcn.0041df80
mov rax, qword [rbp + 0x878]
jmp 0x45d98b
mov qword [rbp + 0x870], 0
mov qword [rbp + 0x878], 8
mov qword [rbp + 0x880], 0
xor eax, eax
xor ecx, ecx
mov qword [rbp + 0xcd8], rcx
xor ecx, ecx
mov qword [rbp + 0xca0], rcx
movabs r8, 0x8000000000000000
mov rcx, qword [rbp + 0x870]
mov rdx, qword [rbp + 0x878]
mov qword [rbp + 0x550], rdx
mov rdx, qword [rbp + 0x880]
mov qword [rbp + 0x558], rdx
cmp rcx, r8
je 0x45c9f8
lea rdx, [rbp + 0xac8]
mov qword [rbp + 0xab0], rdx
mov rdx, qword [rbp + 0x550]
mov qword [rbp + 0xac8], rdx
mov rdx, qword [rbp + 0x558]
mov qword [rbp + 0xad0], rdx
mov qword [rbp + 0xac0], rcx
mov qword [rbp + 0xad8], r14
mov qword [rbp + 0xae0], rdi
mov rcx, qword [rbp + 0xcb8]
mov qword [rbp + 0xae8], rcx
mov qword [rbp + 0xaf0], rsi
mov qword [rbp + 0xaf8], rax
mov qword [rbp + 0xc10], rdi
mov qword [rbp + 0xb00], rdi
mov rax, qword [rbp + 0xcd8]
mov qword [rbp + 0xb08], rax
mov rax, qword [rbp + 0xca0]
mov qword [rbp + 0xb10], rax
mov qword [rbp + 0x810], r8
lea rdx, str..debug_abbrev.debug_addr.debug_aranges.debug_cu_index.debug_info.debug_line.debug_line_str.debug_loc.debug_loclists.debug_ranges.debug_rnglists.debug_str.debug_str_offsets.debug_tu_index.debug_types.debug_abbrev.dwo.debug_info.dwo.debug_line.dwo.debug_loc.dwo.debug_loclists.dwo.debug_rnglists.dwo.debug_str.dwo.debug_str_offsets.dwo.debug_types.dwo
lea rcx, [rbp + 0xac0]
mov r8d, 0xd
call fcn.00460c90
mov qword [rbp + 0xcb8], rdx
test rax, rax
mov edx, 1
mov r8, rax
mov ecx, 1
mov qword [rbp + 0xcd8], rcx
cmove r8, rdx
mov qword [rbp + 0xcb0], r8
mov rcx, qword [rbp + 0xcb8]
cmove rcx, rax
mov qword [rbp + 0xcb8], rcx
lea rdx, [0x004aa8dd]
lea rcx, [rbp + 0xac0]
mov r8d, 0xb
call fcn.00460c90
mov qword [rbp + 0xcd0], rdx
test rax, rax
mov rcx, qword [rbp + 0xcd8]
cmovne rcx, rax
mov qword [rbp + 0xcd8], rcx
mov rcx, qword [rbp + 0xcd0]
cmove rcx, rax
mov qword [rbp + 0xcd0], rcx
lea rdx, [0x004aa8e8]
lea rcx, [rbp + 0xac0]
mov r8d, 0xe
call fcn.00460c90
mov qword [rbp + 0xca8], rdx
test rax, rax
mov edx, 1
mov r8, rax
mov ecx, 1
mov qword [rbp + 0xc90], rcx
cmove r8, rdx
mov qword [rbp + 0xc58], r8
mov rcx, qword [rbp + 0xca8]
cmove rcx, rax
mov qword [rbp + 0xca8], rcx
lea rdx, [0x004aa905]
lea rcx, [rbp + 0xac0]
mov r8d, 0xb
call fcn.00460c90
mov qword [rbp + 0xc78], rdx
test rax, rax
mov rcx, qword [rbp + 0xc90]
cmovne rcx, rax
mov qword [rbp + 0xc90], rcx
mov rcx, qword [rbp + 0xc78]
cmove rcx, rax
mov qword [rbp + 0xc78], rcx
lea rdx, [0x004aa910]
lea rcx, [rbp + 0xac0]
mov r8d, 0xb
call fcn.00460c90
mov qword [rbp + 0xca0], rdx
test rax, rax
mov edx, 1
mov r8, rax
mov ecx, 1
mov qword [rbp + 0xc88], rcx
cmove r8, rdx
mov qword [rbp + 0xc68], r8
mov rcx, qword [rbp + 0xca0]
cmove rcx, rax
mov qword [rbp + 0xca0], rcx
lea rdx, [0x004aa91b]
lea rcx, [rbp + 0xac0]
mov r8d, 0xf
call fcn.00460c90
mov qword [rbp + 0xc80], rdx
test rax, rax
mov rcx, qword [rbp + 0xc88]
cmovne rcx, rax
mov qword [rbp + 0xc88], rcx
mov rcx, qword [rbp + 0xc80]
cmove rcx, rax
mov qword [rbp + 0xc80], rcx
lea rdx, [0x004aa95f]
lea rcx, [rbp + 0xac0]
mov r8d, 0xa
call fcn.00460c90
mov qword [rbp + 0xc50], rdx
test rax, rax
mov edx, 1
mov r8, rax
mov ecx, 1
mov qword [rbp + 0xc98], rcx
cmove r8, rdx
mov qword [rbp + 0xc38], r8
mov rcx, qword [rbp + 0xc50]
cmove rcx, rax
mov qword [rbp + 0xc50], rcx
lea rdx, [0x004aa969]
lea rcx, [rbp + 0xac0]
mov r8d, 0x12
call fcn.00460c90
mov qword [rbp + 0xcc0], rdx
test rax, rax
mov rcx, qword [rbp + 0xc98]
cmovne rcx, rax
mov qword [rbp + 0xc98], rcx
mov rcx, qword [rbp + 0xcc0]
cmove rcx, rax
mov qword [rbp + 0xcc0], rcx
lea rdx, [0x004aa98a]
lea rcx, [rbp + 0xac0]
mov r8d, 0xc
call fcn.00460c90
mov qword [rbp + 0xc48], rdx
test rax, rax
mov edx, 1
mov r8, rax
mov ecx, 1
mov qword [rbp + 0xcc8], rcx
cmove r8, rdx
mov qword [rbp + 0xc40], r8
mov rcx, qword [rbp + 0xc48]
cmove rcx, rax
mov qword [rbp + 0xc48], rcx
lea rdx, [0x004aa92a]
lea rcx, [rbp + 0xac0]
mov r8d, 0xa
call fcn.00460c90
mov qword [rbp + 0xc70], rdx
test rax, rax
mov rcx, qword [rbp + 0xcc8]
cmovne rcx, rax
mov qword [rbp + 0xcc8], rcx
mov rcx, qword [rbp + 0xc70]
cmove rcx, rax
mov qword [rbp + 0xc70], rcx
lea rdx, [0x004aa934]
lea rcx, [rbp + 0xac0]
mov r8d, 0xf
call fcn.00460c90
mov rsi, rdx
test rax, rax
mov edi, 1
cmovne rdi, rax
cmove rsi, rax
lea rdx, [0x004aa943]
lea rcx, [rbp + 0xac0]
mov r8d, 0xd
call fcn.00460c90
mov r13, rax
mov rbx, rdx
lea rdx, [0x004aa950]
lea rcx, [rbp + 0xac0]
mov r8d, 0xf
call fcn.00460c90
test r13, r13
cmove rbx, r13
mov ecx, 1
cmove r13, rcx
test rax, rax
cmovne rcx, rax
cmove rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x950], xmm0
mov rax, qword [rbp + 0xcb0]
mov qword [rbp + 0x880], rax
mov rax, qword [rbp + 0xcb8]
mov qword [rbp + 0x888], rax
mov rax, qword [rbp + 0xcd8]
mov qword [rbp + 0x890], rax
mov rax, qword [rbp + 0xcd0]
mov qword [rbp + 0x898], rax
mov rax, qword [rbp + 0xc58]
mov qword [rbp + 0x8a0], rax
mov rax, qword [rbp + 0xca8]
mov qword [rbp + 0x8a8], rax
mov rax, qword [rbp + 0xc90]
mov qword [rbp + 0x8b0], rax
mov rax, qword [rbp + 0xc78]
mov qword [rbp + 0x8b8], rax
mov rax, qword [rbp + 0xc68]
mov qword [rbp + 0x8c0], rax
mov rax, qword [rbp + 0xca0]
mov qword [rbp + 0x8c8], rax
mov rax, qword [rbp + 0xc88]
mov qword [rbp + 0x8d0], rax
mov rax, qword [rbp + 0xc80]
mov qword [rbp + 0x8d8], rax
mov rax, qword [rbp + 0xc38]
mov qword [rbp + 0x8e0], rax
mov rax, qword [rbp + 0xc50]
mov qword [rbp + 0x8e8], rax
mov rax, qword [rbp + 0xc98]
mov qword [rbp + 0x8f0], rax
mov rax, qword [rbp + 0xcc0]
mov qword [rbp + 0x8f8], rax
mov rax, qword [rbp + 0xc40]
mov qword [rbp + 0x900], rax
mov rax, qword [rbp + 0xc48]
mov qword [rbp + 0x908], rax
mov rax, qword [rbp + 0xcc8]
mov qword [rbp + 0x910], rax
mov rax, qword [rbp + 0xc70]
mov qword [rbp + 0x918], rax
mov qword [rbp + 0x920], rdi
mov qword [rbp + 0x928], rsi
mov qword [rbp + 0x930], r13
mov qword [rbp + 0x938], rbx
mov qword [rbp + 0x940], rcx
mov qword [rbp + 0x948], rdx
mov qword [rbp + 0x968], 0
mov byte [rbp + 0x970], 0
mov qword [rbp + 0x870], 1
mov qword [rbp + 0x878], 1
mov rax, qword [0x004cc798]
movzx eax, byte [rax]
mov ecx, 0x108
mov edx, 8
call fcn.00404440
test rax, rax
je 0x46082a
mov rsi, rax
lea rdx, [rbp + 0x870]
mov r8d, 0x108
mov rcx, rax
call sub.ntdll.dll_memcpy
mov qword [rbp + 0xbb0], rsi
mov qword [rbp + 0xb90], 0
mov qword [rbp + 0xb98], 8
mov qword [rbp + 0xba0], 0
mov rax, qword [rsi + 0x30]
mov qword [rbp + 0xcd0], rsi
mov rcx, qword [rsi + 0x38]
mov qword [rbp + 0xc90], rax
mov qword [rbp + 0x7f8], rax
mov qword [rbp + 0x800], rcx
mov qword [rbp + 0x808], 0
mov qword [rbp + 0xca8], rcx
test rcx, rcx
je 0x45e2f6
mov eax, 8
mov qword [rbp + 0xcd8], rax
xor edi, edi
xor esi, esi
xor r13d, r13d
mov rbx, qword [rbp + 0xca8]
jmp 0x45e15d
mov rax, qword [rbp + 0xb98]
mov qword [rbp + 0xcd8], rax
mov rax, qword [rbp + 0xcd8]
mov qword [rax + rdi], rbx
mov rcx, qword [rbp + 0xcb8]
mov qword [rax + rdi + 8], rcx
inc rsi
mov qword [rbp + 0xba0], rsi
mov rbx, qword [rbp + 0x800]
add rdi, 0x10
test rbx, rbx
je 0x45e1cb
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0x7f8]
mov r8, r13
call fcn.00425280
cmp byte [rbp + 0x899], 3
je 0x45e3ea
sub rbx, qword [rbp + 0x800]
mov rax, qword [rbp + 0x880]
mov qword [rbp + 0xcb8], rax
mov r13, rbx
add r13, qword [rbp + 0x808]
mov rbx, qword [rbp + 0x890]
mov qword [rbp + 0x808], r13
cmp rsi, qword [rbp + 0xb90]
jne 0x45e12c
lea rcx, [rbp + 0xb90]
call fcn.0041df80
jmp 0x45e11e
cmp rsi, 2
jb 0x45e2f6
mov rcx, qword [rbp + 0xb98]
cmp rsi, 0x15
jae 0x45e2ee
add rdi, rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
jmp 0x45e215
mov r10, rcx
mov qword [r10], r8
mov qword [r10 + 8], r9
lea r8, [rdx + 0x10]
add rax, 0x10
mov r9, rdx
cmp rdi, r8
je 0x45e2f6
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x45e201
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x45e1f7
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x45e228
add r10, rcx
jmp 0x45e1fa
cmp qword [rbp + 0xcd0], 2
jae 0x45e26c
mov rax, r14
mov rdi, qword [rbp + 0xc10]
mov rsi, qword [rbp + 0xc88]
jmp 0x45daa5
mov rcx, qword [rbp + 0x878]
cmp qword [rbp + 0xcd0], 0x15
jae 0x45f94c
mov rsi, qword [rbp + 0xcd0]
shl rsi, 4
add rsi, rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
jmp 0x45e2b7
mov r10, rcx
mov qword [r10], r8
mov qword [r10 + 8], r9
lea r8, [rdx + 0x10]
add rax, 0x10
mov r9, rdx
cmp r8, rsi
je 0x45e256
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x45e2a7
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x45e29d
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x45e2ca
add r10, rcx
jmp 0x45e2a0
mov rdx, rsi
call fcn.00410430
mov qword [rbp + 0xc20], 0
mov qword [rbp + 0xc28], 8
mov qword [rbp + 0xc30], 0
mov qword [rbp + 0xbf0], 0
mov qword [rbp + 0xbf8], 8
mov qword [rbp + 0xc00], 0
mov rax, qword [rbp + 0xcd0]
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rbp + 0xb20], xmm0
mov qword [rbp + 0xb30], 0
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0xb20]
call fcn.004216e0
mov rax, qword [rbp + 0x870]
cmp rax, 3
jne 0x45e47a
mov rsi, qword [rbp + 0xbf8]
mov r15, qword [rbp + 0xc00]
inc r15
mov rcx, rsi
cmp r15, 1
je 0x45e3a7
lea rbx, [rcx + 0x218]
dec r15
call fcn.0040cfc0
mov rcx, rbx
jmp 0x45e38d
mov rax, qword [rbp + 0xbf0]
test rax, rax
je 0x45e3c8
imul rdx, rax, 0x218
mov r8d, 8
mov rcx, rsi
call fcn.00404450
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x45e3ea
mov rcx, qword [rbp + 0xc28]
shl rdx, 5
mov r8d, 8
call fcn.00404450
mov rdx, qword [rbp + 0xb90]
test rdx, rdx
je 0x45e40c
mov rcx, qword [rbp + 0xb98]
shl rdx, 4
mov r8d, 8
call fcn.00404450
mov rax, qword [rbp + 0xbb0]
lock dec qword [rax]
jne 0x45e425
lea rcx, [rbp + 0xbb0]
call fcn.0041d150
mov rdx, qword [rbp + 0x810]
lea rax, [rdx*2]
test rax, rax
je 0x45e44f
mov rcx, qword [rbp + 0x818]
shl rdx, 4
mov r8d, 8
call fcn.00404450
mov rdx, qword [rbp + 0xac0]
test rdx, rdx
je 0x45c9f8
mov rcx, qword [rbp + 0xac8]
shl rdx, 4
mov r8d, 8
call fcn.00404450
jmp 0x45c9f8
mov rcx, qword [rbp + 0xcd0]
mov rdx, rcx
add rdx, 0x10
mov qword [rbp + 0xcb8], rdx
lea rbx, [rbp + 0x888]
lea rdi, [rbp + 0x560]
mov rdx, qword [rcx + 0xd0]
mov qword [rbp + 0xc80], rdx
mov rdx, qword [rcx + 0xd8]
mov qword [rbp + 0xca0], rdx
movzx edx, byte [rcx + 0x100]
mov byte [rbp + 0xc50], dl
mov rdx, qword [rcx + 0x20]
mov qword [rbp + 0xc88], rdx
mov rcx, qword [rcx + 0x28]
mov qword [rbp + 0xc78], rcx
lea r13, [rbp + 0x870]
jmp 0x45e513
lea rdi, [rbp + 0x560]
lea r13, [rbp + 0x870]
mov rcx, r13
lea rdx, [rbp + 0xb20]
call fcn.004216e0
mov rax, qword [rbp + 0x870]
cmp rax, 3
je 0x45e379
mov rsi, qword [rbp + 0x878]
mov rcx, qword [rbp + 0x880]
mov rdx, qword [rbx + 0x30]
mov qword [rbp + 0x580], rdx
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movaps xmmword [rbp + 0x570], xmm2
movaps xmmword [rbp + 0x560], xmm1
movaps xmmword [rbp + 0x550], xmm0
movaps xmmword [rbp + 0x1e0], xmm0
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movaps xmmword [rbp + 0x7d0], xmm0
movaps xmmword [rbp + 0x7e0], xmm1
mov rdx, qword [rdi + 0x20]
mov qword [rbp + 0x7f0], rdx
cmp rax, 2
je 0x45f78b
test rax, rax
jne 0x45e4f3
mov rax, rcx
or rax, 4
cmp rax, 5
je 0x45e4f3
mov rax, qword [rbp + 0xc00]
mov qword [rbp + 0xcd8], rax
mov qword [rbp + 0xb40], 0
mov qword [rbp + 0xb48], rsi
mov qword [rbp + 0xb50], rcx
movaps xmm0, xmmword [rbp + 0x1e0]
lea rcx, [rbp + 0xb58]
movups xmmword [rcx], xmm0
mov rax, qword [rbp + 0x7f0]
mov qword [rcx + 0x30], rax
movaps xmm0, xmmword [rbp + 0x7d0]
movaps xmm1, xmmword [rbp + 0x7e0]
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x10], xmm0
mov rcx, r13
mov rdx, qword [rbp + 0xcb8]
lea r8, [rbp + 0xb40]
call fcn.00421ce0
cmp dword [rbp + 0x870], 2
je 0x45e4e5
mov r8d, 0x1a8
lea rdi, [rbp + 0x550]
mov rcx, rdi
lea rdx, [rbp + 0x870]
call sub.ntdll.dll_memcpy
mov rdx, qword [rbp + 0x6a8]
lea rax, [rdx + 0x10]
mov r8, qword [rbp + 0x578]
mov r9, qword [rbp + 0x580]
mov qword [rbp + 0xb40], r8
mov qword [rbp + 0xb48], r9
mov qword [rbp + 0xb50], rdi
mov qword [rbp + 0xb58], rax
mov qword [rbp + 0xb60], 0
test r9, r9
je case.0x45f22d.3
mov r10d, 1
sub r10, r9
lea r11, [r8 + 1]
xor eax, eax
xor ecx, ecx
movzx edi, byte [r11 - 1]
cmp ecx, 0x3f
jne 0x45e69d
cmp dil, 2
jae 0x45f84d
movzx r13d, dil
mov edi, r13d
and edi, 0x7f
shl rdi, cl
or rax, rdi
test r13b, r13b
jns 0x45e6c6
add ecx, 7
inc r10
inc r11
cmp r10, 1
jne 0x45e689
jmp 0x45f87c
mov qword [rbp + 0xb40], r11
neg r10
mov qword [rbp + 0xb48], r10
test rax, rax
jne 0x45e794
lock dec qword [rdx]
jne 0x45e6f2
lea rcx, [rbp + 0x6a8]
call fcn.0041cf10
cmp dword [rbp + 0x5b0], 0x2f
je 0x45e4e5
mov rdx, qword [rbp + 0x5f0]
test rdx, rdx
je 0x45e721
mov rcx, qword [rbp + 0x5f8]
shl rdx, 2
mov r8d, 2
call fcn.00404450
mov rax, qword [rbp + 0x608]
test rax, rax
je 0x45e747
mov rcx, qword [rbp + 0x610]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.00404450
mov rdx, qword [rbp + 0x620]
test rdx, rdx
je 0x45e769
mov rcx, qword [rbp + 0x628]
shl rdx, 2
mov r8d, 2
call fcn.00404450
mov rdx, qword [rbp + 0x638]
test rdx, rdx
je 0x45e4e5
mov rcx, qword [rbp + 0x640]
shl rdx, 6
mov r8d, 8
call fcn.00404450
jmp 0x45e4e5
lea rcx, [rax - 1]
cmp rcx, qword [rdx + 0x20]
jae 0x45e7a8
imul rcx, rcx, 0x70
add rcx, qword [rdx + 0x18]
jmp 0x45e825
mov rcx, qword [rdx + 0x28]
test rcx, rcx
je case.0x45f22d.3
mov rdx, qword [rdx + 0x30]
movzx r10d, word [rcx + 0x532]
imul r11, r10, 0x70
mov r8, 0xffffffffffffffff
xor r9d, r9d
mov rdi, r11
add rdi, r9
je 0x45e807
xor edi, edi
cmp qword [rcx + r8*8 + 0x4e0], rax
setne dil
mov r13d, 0xff
cmova edi, r13d
inc r8
add r9, 0xffffffffffffff90
cmp dil, 1
je 0x45e7cf
movzx r10d, dil
test r10d, r10d
jne 0x45e80a
jmp 0x45e81e
mov r8, r10
sub rdx, 1
jb case.0x45f22d.3
mov rcx, qword [rcx + r8*8 + 0x538]
jmp 0x45e7b9
sub rcx, r9
add rcx, 0xffffffffffffff90
cmp byte [rcx + 0x6a], 1
jne 0x45e836
mov qword [rbp + 0xb60], 1
call fcn.0046c150
mov qword [rbp + 0xcc0], rax
mov qword [rbp + 0xc98], rdx
cmp qword [rbp + 0xc98], 0
je 0x45edea
mov ecx, dword [rbp + 0x598]
mov rdx, qword [rbp + 0x6f0]
mov rax, qword [rbp + 0xca0]
sub rax, rdx
mov qword [rbp + 0x7b0], rax
mov eax, ecx
and eax, 0xff00
mov dword [rbp + 0xb1c], eax
mov eax, ecx
shr eax, 0x10
xor edi, edi
mov dword [rbp + 0xbac], eax
cmp ax, 5
mov r8d, 0
cmovb r8, rdx
mov rax, qword [rbp + 0xc80]
mov qword [rbp + 0xc40], rdx
add rax, rdx
mov qword [rbp + 0xab8], rax
cmp byte [rbp + 0xc50], 0
cmove r8, rdi
mov qword [rbp + 0x7a8], r8
movzx eax, ch
mov qword [rbp + 0x7b8], rax
mov rdx, qword [rbp + 0x6e0]
mov rax, qword [rbp + 0xc78]
sub rax, rdx
mov qword [rbp + 0xc68], rax
mov rax, qword [rbp + 0xc88]
mov qword [rbp + 0xc38], rdx
add rax, rdx
mov qword [rbp + 0xc08], rax
mov qword [rbp + 0x7c0], rcx
movzx eax, cl
mov qword [rbp + 0xcc8], rax
shl qword [rbp + 0xc98], 4
xor eax, eax
mov qword [rbp + 0xc48], rax
xor eax, eax
mov qword [rbp + 0xc70], rax
xor eax, eax
mov qword [rbp + 0xcb0], rax
xor eax, eax
mov qword [rbp + 0xb38], rax
xor r13d, r13d
jmp 0x45e96e
mov eax, 1
mov qword [rbp + 0xc70], rax
mov rax, qword [rbp + 0x878]
mov qword [rbp + 0xbe0], rax
add rdi, 0x10
cmp qword [rbp + 0xc98], rdi
je 0x45eec6
mov rax, qword [rbp + 0xcc0]
movups xmm0, xmmword [rax + rdi]
movaps xmmword [rbp + 0x1d0], xmm0
mov rax, qword [rbp + 0xb50]
mov r8d, dword [rax + 0x48]
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0xb40]
lea r9, [rbp + 0x1d0]
call fcn.0041f4b0
mov rax, qword [rbp + 0x870]
cmp rax, 0x2e
je case.0x45f22d.3
mov rcx, qword [rbp + 0x888]
movups xmm0, xmmword [rbp + 0x878]
movups xmmword [rbp + 0xbc0], xmm0
mov qword [rbp + 0xbb8], rax
mov qword [rbp + 0xbd0], rcx
movzx eax, cx
cmp eax, 0x12
jg 0x45ea9e
cmp eax, 0x11
je 0x45eb63
cmp eax, 0x12
jne 0x45e95d
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0xbb8]
call fcn.00420d40
mov rax, qword [rbp + 0x870]
test rax, rax
je 0x45ec72
cmp eax, 7
je 0x45ec91
cmp eax, 0xc
jne 0x45e95d
mov rax, qword [rbp + 0xc38]
cmp qword [rbp + 0xc78], rax
jb case.0x45f22d.3
mov rax, qword [rbp + 0x878]
imul rax, qword [rbp + 0xcc8]
mov rcx, qword [rbp + 0xc68]
sub rcx, rax
jb case.0x45f22d.3
mov rdx, qword [rbp + 0xcc8]
dec edx
cmp edx, 7
ja case.0x45f22d.3
lea r8, [0x004a9978]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp qword [rbp + 0xc68], rax
je case.0x45f22d.3
mov rcx, qword [rbp + 0xc08]
movzx eax, byte [rcx + rax]
jmp 0x45edd2
cmp eax, 0x13
je 0x45ec01
cmp eax, 0x55
jne 0x45e95d
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0xbb8]
call fcn.00420d40
mov rcx, qword [rbp + 0x870]
mov rax, qword [rbp + 0x878]
cmp rcx, 0x16
je 0x45ec51
cmp ecx, 0x18
jne 0x45ec6a
mov rcx, qword [rbp + 0xc40]
cmp qword [rbp + 0xca0], rcx
jb case.0x45f22d.3
imul rax, qword [rbp + 0x7b8]
mov rcx, qword [rbp + 0x7b0]
sub rcx, rax
jb case.0x45f22d.3
cmp dword [rbp + 0xb1c], 0x800
jne 0x45ecb0
cmp rcx, 7
jbe case.0x45f22d.3
mov r9, qword [rbp + 0xab8]
movzx ecx, byte [r9 + rax + 7]
movzx edx, word [r9 + rax + 4]
movzx r8d, byte [r9 + rax + 6]
shl r8d, 0x10
or r8d, edx
mov eax, dword [r9 + rax]
shl r8, 0x28
shl rax, 8
or rax, r8
shrd rax, rcx, 8
jmp 0x45ecc4
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0xbb8]
call fcn.00420d40
mov rax, qword [rbp + 0x870]
test rax, rax
je 0x45e943
cmp eax, 0xc
jne 0x45e95d
mov rax, qword [rbp + 0xc38]
cmp qword [rbp + 0xc78], rax
jb case.0x45f22d.3
mov rax, qword [rbp + 0x878]
imul rax, qword [rbp + 0xcc8]
mov rcx, qword [rbp + 0xc68]
sub rcx, rax
jb case.0x45f22d.3
mov rdx, qword [rbp + 0xcc8]
dec edx
cmp edx, 7
ja case.0x45f22d.3
lea r8, [0x004a9998]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp qword [rbp + 0xc68], rax
je case.0x45f22d.3
mov rcx, qword [rbp + 0xc08]
movzx eax, byte [rcx + rax]
jmp 0x45ed4f
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0xbb8]
call fcn.00420d40
mov rax, qword [rbp + 0x870]
cmp rax, 0x26
mov ecx, 1
mov rdx, qword [rbp + 0xc48]
cmove edx, ecx
mov qword [rbp + 0xc48], rdx
cmp eax, 0x26
jne 0x45e95d
movzx eax, word [rbp + 0x878]
mov word [rbp + 0xbde], ax
jmp 0x45e95d
add rax, qword [rbp + 0x7a8]
mov r13d, 1
mov qword [rbp + 0xc58], rax
jmp 0x45e95d
xor r13d, r13d
jmp 0x45e95d
mov eax, 1
mov qword [rbp + 0xcb0], rax
mov rax, qword [rbp + 0x878]
mov qword [rbp + 0xbe8], rax
jmp 0x45e95d
mov eax, 1
mov qword [rbp + 0xb38], rax
mov rax, qword [rbp + 0x878]
mov qword [rbp + 0x7c8], rax
jmp 0x45e95d
cmp rcx, 3
jbe case.0x45f22d.3
mov rcx, qword [rbp + 0xab8]
mov eax, dword [rcx + rax]
mov qword [rbp + 0xc58], rax
mov rax, qword [rbp + 0xc40]
add qword [rbp + 0xc58], rax
mov r13d, 1
jmp 0x45e95d
cmp rcx, 1
jbe case.0x45f22d.3
mov rcx, qword [rbp + 0xc08]
movzx eax, word [rcx + rax]
jmp 0x45ed4f
cmp rcx, 3
jbe case.0x45f22d.3
mov rcx, qword [rbp + 0xc08]
mov eax, dword [rcx + rax]
jmp 0x45ed4f
cmp rcx, 8
jb case.0x45f22d.3
mov r9, qword [rbp + 0xc08]
movzx ecx, byte [r9 + rax + 7]
movzx edx, word [r9 + rax + 4]
movzx r8d, byte [r9 + rax + 6]
shl r8d, 0x10
or r8d, edx
mov eax, dword [r9 + rax]
shl r8, 0x28
shl rax, 8
or rax, r8
shrd rax, rcx, 8
mov qword [rbp + 0xbe0], rax
mov eax, 1
mov qword [rbp + 0xc70], rax
jmp 0x45e95d
cmp rcx, 1
jbe case.0x45f22d.3
mov rcx, qword [rbp + 0xc08]
movzx eax, word [rcx + rax]
jmp 0x45edd2
cmp rcx, 3
jbe case.0x45f22d.3
mov rcx, qword [rbp + 0xc08]
mov eax, dword [rcx + rax]
jmp 0x45edd2
cmp rcx, 8
jb case.0x45f22d.3
mov r9, qword [rbp + 0xc08]
movzx ecx, byte [r9 + rax + 7]
movzx edx, word [r9 + rax + 4]
movzx r8d, byte [r9 + rax + 6]
shl r8d, 0x10
or r8d, edx
mov eax, dword [r9 + rax]
shl r8, 0x28
shl rax, 8
or rax, r8
shrd rax, rcx, 8
mov qword [rbp + 0xbe8], rax
mov eax, 1
mov qword [rbp + 0xcb0], rax
jmp 0x45e95d
xor eax, eax
mov qword [rbp + 0xc48], rax
xor eax, eax
mov qword [rbp + 0xc70], rax
xor eax, eax
mov qword [rbp + 0xcb0], rax
xor eax, eax
mov qword [rbp + 0xb38], rax
mov rax, qword [rbp + 0xba0]
test rax, rax
je 0x45ee6a
mov rcx, qword [rbp + 0xb98]
mov qword [rbp + 0xc98], rcx
mov rcx, rax
xor r8d, r8d
mov r9, rax
shr rcx, 1
lea rdx, [rcx + r8]
mov r10, rdx
shl r10, 4
mov r11, qword [rbp + 0xc98]
mov r10, qword [r11 + r10]
cmp r10, rsi
je 0x45efd6
lea rcx, [rdx + 1]
cmp r10, rsi
cmova r9, rdx
cmovb r8, rcx
mov rcx, r9
sub rcx, r8
ja 0x45ee31
cmp qword [rbp + 0xc70], 0
je 0x45f437
cmp qword [rbp + 0xcb0], 0
je 0x45f3f1
mov rax, qword [rbp + 0xbe8]
cmp qword [rbp + 0xbe0], rax
jae 0x45f437
mov rdi, qword [rbp + 0xc30]
cmp rdi, qword [rbp + 0xc20]
jne 0x45f648
lea rcx, [rbp + 0xc20]
call fcn.0041d930
mov r13, qword [rbp + 0xbe8]
jmp 0x45f64f
test r13, r13
je 0x45ee0e
xor eax, eax
cmp word [rbp + 0xbac], 5
setae al
shl eax, 4
mov rcx, qword [rbp + 0xcd0]
mov rax, qword [rcx + rax + 0xc8]
sub rax, qword [rbp + 0xc58]
jb case.0x45f22d.3
xor ecx, ecx
mov r9d, dword [rbp + 0xbac]
cmp r9w, 5
setae cl
shl ecx, 4
mov rdx, qword [rbp + 0xcd0]
mov rcx, qword [rdx + rcx + 0xc0]
add rcx, qword [rbp + 0xc58]
cmp r9w, 5
mov rdx, qword [rbp + 0x6d0]
setae byte [rbp + 0x8a4]
mov r8, qword [rbp + 0xc88]
mov qword [rbp + 0x870], r8
mov r8, qword [rbp + 0xc78]
mov qword [rbp + 0x878], r8
mov qword [rbp + 0x880], rdx
mov rdx, qword [rbp + 0xc38]
mov qword [rbp + 0x888], rdx
mov qword [rbp + 0x890], rcx
mov qword [rbp + 0x898], rax
mov rax, qword [rbp + 0x7c0]
mov word [rbp + 0x8a0], ax
mov word [rbp + 0x8a2], r9w
lea rcx, [rbp + 0xbb8]
lea rdx, [rbp + 0x870]
call fcn.00425530
mov rax, qword [rbp + 0xbb8]
cmp rax, 2
jne 0x45f580
mov rax, qword [rbp + 0xbc0]
mov qword [rbp + 0xcb0], rax
cmp al, 0x4b
jne case.0x45f22d.3
mov rax, qword [rbp + 0xcb0]
shr eax, 8
jmp 0x45f439
add rcx, r8
shl rcx, 4
add rcx, qword [rbp + 0xc98]
mov r8, rdx
mov rdi, rcx
sub rdx, 1
jb 0x45effa
lea rcx, [rdi - 0x10]
cmp qword [rdi - 0x10], rsi
je 0x45efe4
cmp rax, r8
je 0x45f437
shl rax, 4
add qword [rbp + 0xc98], rax
xor eax, eax
mov qword [rbp + 0xcb0], rax
jmp 0x45f02a
add rdi, 0x10
cmp rdi, qword [rbp + 0xc98]
je 0x45f440
cmp qword [rdi], rsi
jne 0x45f440
mov r8, qword [rdi + 8]
mov rax, qword [rbp + 0xca8]
sub rax, r8
jb case.0x45f22d.3
mov rcx, qword [rbp + 0xc90]
add rcx, r8
mov qword [rbp + 0xbb8], rcx
mov qword [rbp + 0xbc0], rax
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0xbb8]
call fcn.00425280
cmp byte [rbp + 0x899], 3
je case.0x45f22d.3
mov rax, qword [rbp + 0x878]
mov qword [rbp + 0xcc0], rax
test rax, rax
je 0x45f019
mov rax, qword [rbp + 0x870]
mov qword [rbp + 0xcc8], rax
movzx eax, byte [rbp + 0x898]
movzx ecx, byte [rbp + 0x89c]
mov qword [rbp + 0xc40], rax
add eax, eax
mov qword [rbp + 0xc70], rcx
add al, cl
movzx eax, al
mov qword [rbp + 0xc38], rax
jmp 0x45f103
mov rcx, qword [rbp + 0xcc8]
mov edx, dword [rcx]
mov qword [rbp + 0xc68], rdx
mov r13d, dword [rcx + 4]
add qword [rbp + 0xcc0], 0xfffffffffffffff8
add rcx, 8
mov qword [rbp + 0xcc8], rcx
or rax, qword [rbp + 0xc68]
or rax, r13
jne 0x45f366
mov rax, qword [rbp + 0xcc0]
cmp rax, qword [rbp + 0xc38]
jb 0x45f019
cmp dword [rbp + 0xc70], 8
ja case.0x45f22d.3
mov eax, dword [rbp + 0xc70]
lea rcx, [0x004a99b8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rbp + 0xc70]
jmp 0x45f20d
cmp qword [rbp + 0xcc0], 0
je case.0x45f22d.3
dec qword [rbp + 0xcc0]
mov rcx, qword [rbp + 0xcc8]
movzx eax, byte [rcx]
inc rcx
jmp 0x45f1b3
cmp qword [rbp + 0xcc0], 1
jbe case.0x45f22d.3
add qword [rbp + 0xcc0], 0xfffffffffffffffe
mov rcx, qword [rbp + 0xcc8]
movzx eax, word [rcx]
add rcx, 2
jmp 0x45f1b3
cmp qword [rbp + 0xcc0], 3
jbe case.0x45f22d.3
add qword [rbp + 0xcc0], 0xfffffffffffffffc
mov rcx, qword [rbp + 0xcc8]
mov eax, dword [rcx]
add rcx, 4
mov qword [rbp + 0xcc8], rcx
jmp 0x45f20d
cmp qword [rbp + 0xcc0], 8
jb case.0x45f22d.3
add qword [rbp + 0xcc0], 0xfffffffffffffff8
mov r9, qword [rbp + 0xcc8]
movzx ecx, byte [r9 + 7]
movzx edx, word [r9 + 4]
movzx r8d, byte [r9 + 6]
mov eax, dword [r9]
add r9, 8
shl r8d, 0x10
or r8d, edx
shl r8, 0x28
shl rax, 8
or rax, r8
shrd rax, rcx, 8
mov qword [rbp + 0xcc8], r9
mov rcx, qword [rbp + 0xc40]
dec ecx
cmp ecx, 7
ja case.0x45f22d.3
lea rdx, [0x004a99dc]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp qword [rbp + 0xcc0], 2
jb case.0x45f22d.3
mov rcx, qword [rbp + 0xcc8]
movzx edx, byte [rcx]
mov qword [rbp + 0xc68], rdx
add qword [rbp + 0xcc0], 0xfffffffffffffffe
movzx r13d, byte [rcx + 1]
add rcx, 2
jmp 0x45f0ec
cmp qword [rbp + 0xcc0], 4
jb case.0x45f22d.3
mov rcx, qword [rbp + 0xcc8]
movzx edx, word [rcx]
mov qword [rbp + 0xc68], rdx
add qword [rbp + 0xcc0], 0xfffffffffffffffc
movzx r13d, word [rcx + 2]
add rcx, 4
jmp 0x45f0ec
cmp qword [rbp + 0xcc0], 4
jb case.0x45f22d.3
mov rcx, qword [rbp + 0xcc0]
and rcx, 0xfffffffffffffffc
cmp rcx, 4
jne 0x45f0cc
jmp case.0x45f22d.3
cmp qword [rbp + 0xcc0], 8
jb case.0x45f22d.3
mov rcx, qword [rbp + 0xcc0]
and rcx, 0xfffffffffffffff8
cmp rcx, 8
je case.0x45f22d.3
mov r9, qword [rbp + 0xcc8]
movzx ecx, word [r9 + 4]
movzx edx, byte [r9 + 6]
shl edx, 0x10
or edx, ecx
mov r8d, dword [r9]
mov r13d, dword [r9 + 8]
movzx ecx, byte [r9 + 7]
shl rdx, 0x28
shl r8, 8
or r8, rdx
shrd r8, rcx, 8
mov qword [rbp + 0xc68], r8
add qword [rbp + 0xcc0], 0xfffffffffffffff0
movzx ecx, byte [r9 + 0xf]
movzx edx, word [r9 + 0xc]
movzx r8d, byte [r9 + 0xe]
add r9, 0x10
shl r8d, 0x10
or r8d, edx
shl r8, 0x28
shl r13, 8
or r13, r8
shrd r13, rcx, 8
mov qword [rbp + 0xcc8], r9
or rax, qword [rbp + 0xc68]
or rax, r13
je 0x45f103
test r13, r13
je 0x45f3de
mov rax, qword [rbp + 0xc30]
mov qword [rbp + 0xcb0], rax
cmp rax, qword [rbp + 0xc20]
jne 0x45f38e
lea rcx, [rbp + 0xc20]
call fcn.0041d930
mov rdx, qword [rbp + 0xc68]
add r13, rdx
mov rax, qword [rbp + 0xc28]
mov r8, qword [rbp + 0xcb0]
mov rcx, r8
shl rcx, 5
mov qword [rax + rcx], rdx
mov qword [rax + rcx + 8], r13
mov rdx, qword [rbp + 0xcd8]
mov qword [rax + rcx + 0x10], rdx
mov qword [rax + rcx + 0x18], 0
inc r8
mov qword [rbp + 0xc30], r8
mov al, 1
mov qword [rbp + 0xcb0], rax
cmp qword [rbp + 0xcc0], 0
jne 0x45f103
jmp 0x45f019
cmp qword [rbp + 0xb38], 0
je 0x45f437
mov rax, qword [rbp + 0x7c8]
mov rcx, qword [rbp + 0xbe0]
lea r13, [rax + rcx]
cmp rcx, r13
jae 0x45f437
mov rdi, qword [rbp + 0xc30]
cmp rdi, qword [rbp + 0xc20]
jne 0x45f64f
lea rcx, [rbp + 0xc20]
call fcn.0041d930
jmp 0x45f64f
xor eax, eax
mov qword [rbp + 0xcb0], rax
mov qword [rbp + 0xb40], 0
test byte [rbp + 0xcb0], 1
jne 0x45f697
cmp qword [rbp + 0x5b0], 0x2f
je 0x45f697
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0x5b0]
call fcn.004268c0
lea rcx, [rbp + 0xbb8]
lea rdx, [rbp + 0x550]
lea r8, [rbp + 0x870]
mov r9, qword [rbp + 0xcb8]
call fcn.0042a170
mov qword [rbp + 0xb40], 1
movups xmm0, xmmword [rbp + 0xbb8]
movups xmm1, xmmword [rbp + 0xbc8]
lea rax, [rbp + 0xb48]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
cmp qword [rbp + 0xb48], 0
je 0x45f697
mov rax, qword [rbp + 0xb60]
mov qword [rbp + 0xc98], rax
test rax, rax
je 0x45f697
mov rax, qword [rbp + 0xb58]
mov qword [rbp + 0xcc0], rax
mov rax, qword [rbp + 0xc30]
mov r13, rax
shl rax, 5
mov qword [rbp + 0xcc8], rax
shl qword [rbp + 0xc98], 5
xor edi, edi
jmp 0x45f55d
mov rax, qword [rbp + 0xc28]
add rax, qword [rbp + 0xcc8]
movups xmmword [rdi + rax], xmm6
mov rcx, qword [rbp + 0xcd8]
mov qword [rdi + rax + 0x10], rcx
mov qword [rdi + rax + 0x18], 0
mov rax, r13
inc rax
mov r13, rax
mov qword [rbp + 0xc30], rax
add rdi, 0x20
cmp qword [rbp + 0xc98], rdi
je 0x45f697
mov rax, qword [rbp + 0xcc0]
movups xmm6, xmmword [rax + rdi + 0x10]
cmp r13, qword [rbp + 0xc20]
jne 0x45f515
lea rcx, [rbp + 0xc20]
call fcn.0041d930
jmp 0x45f515
xor ecx, ecx
mov qword [rbp + 0xcb0], rcx
jmp 0x45f5f5
mov rax, qword [rbp + 0xc28]
mov rcx, rdi
shl rcx, 5
mov qword [rax + rcx], r13
mov rdx, qword [rbp + 0xc98]
mov qword [rax + rcx + 8], rdx
mov rdx, qword [rbp + 0xcd8]
mov qword [rax + rcx + 0x10], rdx
mov qword [rax + rcx + 0x18], 0
inc rdi
mov qword [rbp + 0xc30], rdi
mov al, 1
mov qword [rbp + 0xcb0], rax
lea rcx, [rbp + 0xbb8]
lea rdx, [rbp + 0x870]
call fcn.00425530
mov rax, qword [rbp + 0xbb8]
cmp rax, 2
je 0x45efb1
cmp rax, 1
jne 0x45f63a
mov r13, qword [rbp + 0xbc0]
mov rax, qword [rbp + 0xbc8]
mov qword [rbp + 0xc98], rax
cmp r13, rax
jae 0x45f5d1
mov rdi, qword [rbp + 0xc30]
cmp rdi, qword [rbp + 0xc20]
jne 0x45f58b
lea rcx, [rbp + 0xc20]
call fcn.0041d930
jmp 0x45f58b
mov rax, qword [rbp + 0xcb0]
and al, 1
jmp 0x45f439
mov r13, qword [rbp + 0xbe8]
mov rax, qword [rbp + 0xc28]
mov rcx, rdi
shl rcx, 5
mov rdx, qword [rbp + 0xbe0]
mov qword [rax + rcx], rdx
mov qword [rax + rcx + 8], r13
mov rdx, qword [rbp + 0xcd8]
mov qword [rax + rcx + 0x10], rdx
mov qword [rax + rcx + 0x18], 0
inc rdi
mov qword [rbp + 0xc30], rdi
mov qword [rbp + 0xb40], 0
mov r8d, 0x1a8
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0x550]
call sub.ntdll.dll_memcpy
movups xmm0, xmmword [rbp + 0xb40]
movups xmm1, xmmword [rbp + 0xb50]
movups xmmword [rbx + 0x198], xmm0
movups xmmword [rbx + 0x1a8], xmm1
mov rax, qword [rbp + 0xb60]
mov qword [rbx + 0x1b8], rax
mov qword [rbp + 0xa18], rsi
mov rax, qword [rbp + 0xc48]
mov word [rbp + 0xa80], ax
movzx eax, word [rbp + 0xbde]
mov word [rbp + 0xa82], ax
mov qword [rbp + 0xa48], 0
mov byte [rbp + 0xa70], 0x4c
mov rax, qword [rbp + 0xcd8]
cmp rax, qword [rbp + 0xbf0]
jne 0x45f72b
lea rcx, [rbp + 0xbf0]
call fcn.0041d6f0
mov rsi, qword [rbp + 0xcd8]
imul rcx, rsi, 0x218
add rcx, qword [rbp + 0xbf8]
mov r8d, 0x218
lea r13, [rbp + 0x870]
mov rdx, r13
call sub.ntdll.dll_memcpy
inc rsi
mov qword [rbp + 0xc00], rsi
mov rcx, r13
lea rdx, [rbp + 0xb20]
call fcn.004216e0
mov rax, qword [rbp + 0x870]
cmp rax, 3
lea rdi, [rbp + 0x560]
jne 0x45e513
jmp 0x45e379
mov r13, qword [rbp + 0xc28]
mov rsi, qword [rbp + 0xc30]
cmp rsi, 2
jb 0x45f996
cmp rsi, 0x15
jae 0x45f96e
shl rsi, 5
add rsi, r13
lea rdx, [r13 + 0x20]
mov eax, 0x20
mov r8, r13
jmp 0x45f7f3
mov r8, r13
mov qword [r8], rdx
movaps xmm0, xmmword [rbp + 0x870]
movups xmmword [r8 + 8], xmm0
mov rdx, qword [rbp + 0x880]
mov qword [r8 + 0x18], rdx
lea rdx, [rcx + 0x20]
add rax, 0x20
mov r8, rcx
cmp rdx, rsi
je 0x45f988
mov rcx, rdx
mov rdx, qword [r8 + 0x20]
cmp rdx, qword [r8]
jae 0x45f7df
mov r9, qword [r8 + 0x38]
mov qword [rbp + 0x880], r9
movups xmm0, xmmword [r8 + 0x28]
movaps xmmword [rbp + 0x870], xmm0
mov r9, rax
movups xmm0, xmmword [r13 + r9 - 0x20]
movups xmm1, xmmword [r13 + r9 - 0x10]
movups xmmword [r13 + r9 + 0x10], xmm1
movups xmmword [r13 + r9], xmm0
cmp r9, 0x20
je 0x45f7c2
lea r8, [r9 - 0x20]
cmp rdx, qword [r13 + r9 - 0x40]
mov r9, r8
jb 0x45f819
add r8, r13
jmp 0x45f7c5
mov qword [rbp + 0xb40], r11
neg r10
mov qword [rbp + 0xb48], r10
jmp case.0x45f22d.3
mov rdx, qword [rbp + 0x870]
test rdx, rdx
je 0x45c9f8
mov rcx, qword [rbp + 0x878]
jmp 0x45e466
add r8, r9
mov qword [rbp + 0xb40], r8
mov qword [rbp + 0xb48], 0
mov rax, qword [rbp + 0x6a8]
lock dec qword [rax]
jne 0x45f8aa
lea rcx, [rbp + 0x6a8]
call fcn.0041cf10
cmp dword [rbp + 0x5b0], 0x2f
je 0x45e379
mov rdx, qword [rbp + 0x5f0]
test rdx, rdx
je 0x45f8d9
mov rcx, qword [rbp + 0x5f8]
shl rdx, 2
mov r8d, 2
call fcn.00404450
mov rax, qword [rbp + 0x608]
test rax, rax
je 0x45f8ff
mov rcx, qword [rbp + 0x610]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.00404450
mov rdx, qword [rbp + 0x620]
test rdx, rdx
je 0x45f921
mov rcx, qword [rbp + 0x628]
shl rdx, 2
mov r8d, 2
call fcn.00404450
mov rdx, qword [rbp + 0x638]
test rdx, rdx
je 0x45e379
mov rcx, qword [rbp + 0x640]
shl rdx, 6
mov r8d, 8
call fcn.00404450
jmp 0x45e379
mov rdx, qword [rbp + 0xcd0]
call fcn.00415f60
mov rax, r14
mov rdi, qword [rbp + 0xc10]
mov rsi, qword [rbp + 0xc88]
jmp 0x45daa5
mov rcx, r13
mov rdx, rsi
call fcn.004107c0
mov rcx, rsi
shl rcx, 5
mov rax, r13
add rax, rcx
jmp 0x45f9a5
mov r13, qword [rbp + 0xc28]
mov rsi, qword [rbp + 0xc30]
test rsi, rsi
je 0x45f9c7
mov rax, rsi
shl rax, 5
add rax, r13
xor ecx, ecx
mov rdx, r13
mov r8, qword [rdx + 8]
cmp rcx, r8
cmovbe rcx, r8
mov qword [rdx + 0x18], rcx
lea r8, [rdx + 0x20]
mov rdx, r8
cmp r8, rax
jne 0x45f9aa
jmp 0x45f9c9
xor esi, esi
mov rax, qword [rbp + 0xc20]
mov qword [rbp + 0xcb8], rax
movups xmm0, xmmword [rbp + 0xbf0]
movaps xmmword [rbp + 0x700], xmm0
mov rax, qword [rbp + 0xc00]
mov qword [rbp + 0x710], rax
mov rdx, qword [rbp + 0xb90]
test rdx, rdx
je 0x45fa15
mov rcx, qword [rbp + 0xb98]
shl rdx, 4
mov r8d, 8
call fcn.00404450
movabs rax, 0x8000000000000000
cmp qword [rbp + 0xcb8], rax
je 0x45e40c
mov rax, qword [rbp + 0x710]
mov qword [rbp + 0xc00], rax
movaps xmm0, xmmword [rbp + 0x700]
movaps xmmword [rbp + 0xbf0], xmm0
mov rax, qword [rbp + 0xbb0]
mov qword [rbp + 0xca8], rax
mov rax, qword [rax + 0xe0]
mov qword [rbp + 0xcd8], rax
test rax, rax
je 0x45fb51
mov qword [rbp + 0xbb8], 0
mov qword [rbp + 0xbc0], 8
mov qword [rbp + 0xbc8], 0
mov rax, qword [rbp + 0xcd8]
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rbp + 0x7d0], xmm0
mov qword [rbp + 0x7e0], 0
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0x7d0]
call fcn.004216e0
mov rax, qword [rbp + 0x870]
cmp rax, 3
jne 0x45fc00
lea rcx, [rbp + 0xbb8]
call fcn.0040d5a0
mov rsi, qword [rbp + 0xbf8]
mov r15, qword [rbp + 0xc00]
inc r15
mov rcx, rsi
cmp r15, 1
je 0x45fb09
lea rbx, [rcx + 0x218]
dec r15
call fcn.0040cfc0
mov rcx, rbx
jmp 0x45faef
mov rax, qword [rbp + 0xbf0]
test rax, rax
je 0x45fb2a
imul rdx, rax, 0x218
mov r8d, 8
mov rcx, rsi
call fcn.00404450
cmp qword [rbp + 0xcb8], 0
je 0x45e40c
mov rdx, qword [rbp + 0xcb8]
shl rdx, 5
mov r8d, 8
mov rcx, r13
jmp 0x45e407
mov qword [rbp + 0xb20], 0
mov qword [rbp + 0xb28], 8
mov eax, 8
mov qword [rbp + 0xcd0], rax
xor eax, eax
mov qword [rbp + 0xc90], rax
xor edi, edi
mov qword [rbp + 0xb30], rdi
mov rax, qword [rbp + 0xca8]
mov qword [rbp + 0x870], rax
mov qword [rbp + 0xc78], r13
cmp qword [rbp + 0xcb8], rsi
jbe 0x45fdc4
mov rbx, qword [rbp + 0xcb8]
shl rbx, 5
test rsi, rsi
je 0x45fda7
mov r9, rsi
shl r9, 5
mov r8d, 8
mov rcx, r13
mov rdx, rbx
mov qword [rbp + 0xcd8], r9
call fcn.00404460
mov qword [rbp + 0xc78], rax
test rax, rax
jne 0x45fdc4
mov ecx, 8
mov rdx, qword [rbp + 0xcd8]
call fcn.0047efe0
jmp 0x460839
add qword [rbp + 0xcd8], 0x10
mov ecx, 8
mov qword [rbp + 0xcd0], rcx
xor edi, edi
jmp 0x45fc46
cmp rax, 2
je 0x45fd62
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0x7d0]
call fcn.004216e0
mov rax, qword [rbp + 0x870]
cmp rax, 3
je 0x45facf
movups xmm6, xmmword [rbp + 0x878]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movaps xmmword [rbp + 0xb40], xmm0
movaps xmmword [rbp + 0xb50], xmm1
movaps xmmword [rbp + 0xb60], xmm2
mov rcx, qword [rbx + 0x30]
mov qword [rbp + 0xb70], rcx
test rax, rax
jne 0x45fc18
mov qword [rbp + 0x870], 0
movups xmmword [rbp + 0x878], xmm6
mov rax, qword [rbp + 0xb70]
mov qword [rbx + 0x30], rax
movaps xmm0, xmmword [rbp + 0xb40]
movaps xmm1, xmmword [rbp + 0xb50]
movaps xmm2, xmmword [rbp + 0xb60]
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
lea rcx, [rbp + 0x550]
mov rdx, qword [rbp + 0xcd8]
lea r8, [rbp + 0x870]
call fcn.00421ce0
cmp dword [rbp + 0x550], 2
je 0x45fc22
mov r8d, 0x1a8
lea rcx, [rbp + 0x870]
lea rdx, [rbp + 0x550]
call sub.ntdll.dll_memcpy
movlps qword [rbp + 0xa18], xmm6
cmp rdi, qword [rbp + 0xbb8]
jne 0x45fd24
lea rcx, [rbp + 0xbb8]
call fcn.0041da90
mov rax, qword [rbp + 0xbc0]
mov qword [rbp + 0xcd0], rax
imul rcx, rdi, 0x1b0
add rcx, qword [rbp + 0xcd0]
mov r8d, 0x1b0
lea rdx, [rbp + 0x870]
call sub.ntdll.dll_memcpy
inc rdi
mov qword [rbp + 0xbc8], rdi
jmp 0x45fc22
lea r8, [0x004af1a0]
mov rcx, r15
call fcn.0048c580
mov rdx, qword [rbp + 0xbb8]
movabs rax, 0x8000000000000000
mov rcx, rdx
mov qword [rbp + 0xc90], rdx
cmp rdx, rax
je 0x45fadb
mov rax, qword [rbp + 0xc90]
mov qword [rbp + 0xb20], rax
mov rax, qword [rbp + 0xcd0]
mov qword [rbp + 0xb28], rax
jmp 0x45fb7e
mov eax, 8
mov qword [rbp + 0xc78], rax
mov r8d, 8
mov rcx, r13
mov rdx, rbx
call fcn.00404450
mov rax, qword [rbp + 0xbf0]
mov rbx, qword [rbp + 0xbf8]
mov rcx, qword [rbp + 0xc00]
mov qword [rbp + 0xcd8], rcx
cmp rax, rcx
jbe 0x45fe47
imul rdx, rax, 0x218
cmp qword [rbp + 0xcd8], 0
je 0x45fe34
imul r9, qword [rbp + 0xcd8], 0x218
mov r8d, 8
mov rcx, rbx
mov qword [rbp + 0xca0], r9
call fcn.00404460
mov rbx, rax
test rax, rax
jne 0x45fe47
mov ecx, 8
mov rdx, qword [rbp + 0xca0]
call fcn.0047efe0
jmp 0x460839
mov r8d, 8
mov rcx, rbx
call fcn.00404450
mov ebx, 8
cmp qword [rbp + 0xc90], rdi
jbe 0x45fec0
imul rdx, qword [rbp + 0xc90], 0x1b0
test rdi, rdi
je 0x45fea2
imul r9, rdi, 0x1b0
mov r8d, 8
mov rcx, qword [rbp + 0xcd0]
mov qword [rbp + 0xc90], r9
call fcn.00404460
mov qword [rbp + 0xcd0], rax
test rax, rax
jne 0x45fec0
mov ecx, 8
mov rdx, qword [rbp + 0xc90]
call fcn.0047efe0
jmp 0x460839
mov r8d, 8
mov rcx, qword [rbp + 0xcd0]
call fcn.00404450
mov eax, 8
mov qword [rbp + 0xcd0], rax
mov rax, qword [rbp + 0xca8]
mov qword [rbp + 0x770], rax
mov rax, qword [rbp + 0xc78]
mov qword [rbp + 0x778], rax
mov qword [rbp + 0x780], rsi
mov qword [rbp + 0x788], rbx
mov rax, qword [rbp + 0xcd8]
mov qword [rbp + 0x790], rax
mov rax, qword [rbp + 0xcd0]
mov qword [rbp + 0x798], rax
mov qword [rbp + 0x7a0], rdi
mov r13, qword [rbp + 0x810]
movabs rax, 0x8000000000000000
cmp r13, rax
jne 0x460345
mov byte [rbp + 0xcb8], 0x16
mov rax, qword [rbp + 0x7a0]
mov qword [rbp + 0x540], rax
movups xmm0, xmmword [rbp + 0x770]
movups xmm1, xmmword [rbp + 0x780]
movups xmm2, xmmword [rbp + 0x790]
movaps xmmword [rbp + 0x530], xmm2
movaps xmmword [rbp + 0x520], xmm1
movaps xmmword [rbp + 0x510], xmm0
mov rax, qword [rbp + 0xac0]
lea rcx, [rbp + 0xac8]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movaps xmmword [rbp + 0x230], xmm0
movaps xmmword [rbp + 0x240], xmm1
movaps xmmword [rbp + 0x250], xmm2
movaps xmmword [rbp + 0x260], xmm3
movups xmm0, xmmword [rcx + 0x40]
movaps xmmword [rbp + 0x270], xmm0
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x45c9f8
movaps xmm0, xmmword [rbp + 0x270]
movups xmmword [rbp + 0x2c8], xmm0
movaps xmm0, xmmword [rbp + 0x230]
movaps xmm1, xmmword [rbp + 0x240]
movaps xmm2, xmmword [rbp + 0x250]
movaps xmm3, xmmword [rbp + 0x260]
movups xmmword [rbp + 0x2b8], xmm3
movups xmmword [rbp + 0x2a8], xmm2
movups xmmword [rbp + 0x298], xmm1
movups xmmword [rbp + 0x288], xmm0
movaps xmm0, xmmword [rbp + 0x4f0]
movups xmmword [rbp + 0x319], xmm0
mov rcx, qword [rbp + 0x4ff]
mov qword [rbp + 0x328], rcx
movaps xmm0, xmmword [rbp + 0x4b0]
movaps xmm1, xmmword [rbp + 0x4c0]
movaps xmm2, xmmword [rbp + 0x4d0]
movaps xmm3, xmmword [rbp + 0x4e0]
movups xmmword [rbp + 0x2d9], xmm0
movups xmmword [rbp + 0x2e9], xmm1
movups xmmword [rbp + 0x2f9], xmm2
movups xmmword [rbp + 0x309], xmm3
mov rcx, qword [rbp + 0x72f]
mov qword [rbp + 0x340], rcx
movaps xmm0, xmmword [rbp + 0x720]
movups xmmword [rbp + 0x331], xmm0
movaps xmm0, xmmword [rbp + 0x1f0]
movaps xmm1, xmmword [rbp + 0x200]
movaps xmm2, xmmword [rbp + 0x210]
movaps xmm3, xmmword [rbp + 0x220]
movups xmmword [rbp + 0x348], xmm0
movups xmmword [rbp + 0x358], xmm1
movups xmmword [rbp + 0x368], xmm2
movups xmmword [rbp + 0x378], xmm3
mov rcx, qword [rbp + 0x540]
mov qword [rbp + 0x458], rcx
movaps xmm0, xmmword [rbp + 0x510]
movaps xmm1, xmmword [rbp + 0x520]
movaps xmm2, xmmword [rbp + 0x530]
movups xmmword [rbp + 0x428], xmm0
movups xmmword [rbp + 0x438], xmm1
movups xmmword [rbp + 0x448], xmm2
movups xmm0, xmmword [rbp + 0x740]
movups xmm1, xmmword [rbp + 0x750]
movups xmm2, xmmword [rbp + 0x760]
movups xmmword [rbp + 0x498], xmm2
movups xmmword [rbp + 0x488], xmm1
movups xmmword [rbp + 0x478], xmm0
mov qword [rbp + 0x280], rax
movzx eax, byte [rbp + 0xcb8]
mov byte [rbp + 0x2d8], al
mov byte [rbp + 0x330], bl
mov rax, qword [rbp + 0xc70]
mov qword [rbp + 0x388], rax
mov rax, qword [rbp + 0xcd8]
mov qword [rbp + 0x390], rax
mov rax, qword [rbp + 0xcd0]
mov qword [rbp + 0x398], rax
mov rax, qword [rbp + 0xca8]
mov qword [rbp + 0x3a0], rax
mov rax, qword [rbp + 0xcb0]
mov qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0xc90]
mov qword [rbp + 0x3b0], rax
mov rax, qword [rbp + 0xc78]
mov qword [rbp + 0x3b8], rax
mov rax, qword [rbp + 0xca0]
mov qword [rbp + 0x3c0], rax
mov rax, qword [rbp + 0xc58]
mov qword [rbp + 0x3c8], rax
mov rax, qword [rbp + 0xc88]
mov qword [rbp + 0x3d0], rax
mov rax, qword [rbp + 0xc80]
mov qword [rbp + 0x3d8], rax
mov rax, qword [rbp + 0xc50]
mov qword [rbp + 0x3e0], rax
mov rax, qword [rbp + 0xc68]
mov qword [rbp + 0x3e8], rax
mov rax, qword [rbp + 0xc98]
mov qword [rbp + 0x3f0], rax
mov qword [rbp + 0x3f8], rdi
mov rax, qword [rbp + 0xcc0]
mov qword [rbp + 0x400], rax
mov qword [rbp + 0x408], rsi
mov rax, qword [rbp + 0xc48]
mov qword [rbp + 0x410], rax
mov qword [rbp + 0x418], 1
mov qword [rbp + 0x420], 0
mov rax, qword [rbp + 0xc60]
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], r14
mov rax, qword [rbp + 0xc10]
mov qword [rbp + 0x470], rax
mov rdi, qword [0x004a5060]
mov rbx, qword [0x004a5050]
cmp rdi, 4
jne 0x4602bd
mov qword [0x004a5060], 3
mov edx, 0x690
add rdx, qword [0x004a5058]
lea rcx, [rbp + 0x870]
mov r8d, 0x230
call sub.ntdll.dll_memcpy
mov edi, 3
movabs rax, 0x8000000000000000
cmp qword [rbp + 0x878], rax
je 0x4602bd
lea rcx, [rbp + 0x878]
call fcn.0040ed00
mov rdi, qword [0x004a5060]
mov rbx, qword [0x004a5050]
lea rsi, [rbp + 0x878]
lea rdx, [rbp + 0x280]
mov r8d, 0x228
mov rcx, rsi
call sub.ntdll.dll_memcpy
mov qword [rbp + 0x870], r15
cmp rdi, rbx
jne 0x4602ea
call fcn.0041de00
mov r14, qword [0x004a5058]
test rdi, rdi
je 0x4607f9
lea rcx, [r14 + 0x230]
imul r8, rdi, 0x230
mov rdx, r14
call sub.ntdll.dll_memmove
lea rdx, [rbp + 0x870]
mov r8d, 0x230
mov rcx, r14
call sub.ntdll.dll_memcpy
inc rdi
mov qword [0x004a5060], rdi
jne 0x45caad
lea r8, [0x004af1b8]
xor ecx, ecx
xor edx, edx
call fcn.0048c580
lea rdx, [0x004aa8f6]
lea rcx, [rbp + 0x810]
mov r8d, 0xf
call fcn.00460c90
mov qword [rbp + 0xcb8], rdx
test rax, rax
mov rcx, qword [rbp + 0xcb8]
cmove rcx, rax
mov qword [rbp + 0xcb8], rcx
mov ecx, 1
cmovne rcx, rax
mov qword [rbp + 0xcc8], rcx
lea rdx, [0x004aa97b]
lea rcx, [rbp + 0x810]
mov r8d, 0xf
call fcn.00460c90
mov qword [rbp + 0xc40], rax
mov qword [rbp + 0xc38], rdx
lea rdx, [0x004aa996]
lea rcx, [rbp + 0x810]
mov r8d, 0x11
call fcn.00460c90
mov qword [rbp + 0xcd8], rdx
test rax, rax
mov rcx, qword [rbp + 0xcd8]
cmove rcx, rax
mov qword [rbp + 0xcd8], rcx
mov edx, 1
mov ecx, 1
mov qword [rbp + 0xcd0], rcx
cmove rax, rdx
mov qword [rbp + 0xc70], rax
lea rdx, [0x004aa9a7]
lea rcx, [rbp + 0x810]
mov r8d, 0xf
call fcn.00460c90
mov qword [rbp + 0xca8], rdx
test rax, rax
mov rcx, qword [rbp + 0xca8]
cmove rcx, rax
mov qword [rbp + 0xca8], rcx
mov rcx, qword [rbp + 0xcd0]
cmovne rcx, rax
mov qword [rbp + 0xcd0], rcx
lea rdx, [0x004aa9b6]
lea rcx, [rbp + 0x810]
mov r8d, 0xf
call fcn.00460c90
mov qword [rbp + 0xc90], rdx
test rax, rax
mov rcx, qword [rbp + 0xc90]
cmove rcx, rax
mov qword [rbp + 0xc90], rcx
mov edx, 1
mov ecx, 1
mov qword [rbp + 0xc78], rcx
cmove rax, rdx
mov qword [rbp + 0xcb0], rax
lea rdx, [0x004aa9f9]
lea rcx, [rbp + 0x810]
mov r8d, 0xe
call fcn.00460c90
mov qword [rbp + 0xca0], rdx
test rax, rax
mov rcx, qword [rbp + 0xca0]
cmove rcx, rax
mov qword [rbp + 0xca0], rcx
mov rcx, qword [rbp + 0xc78]
cmovne rcx, rax
mov qword [rbp + 0xc78], rcx
lea rdx, [0x004aaa07]
lea rcx, [rbp + 0x810]
mov r8d, 0x16
call fcn.00460c90
mov qword [rbp + 0xc88], rdx
test rax, rax
mov rcx, qword [rbp + 0xc88]
cmove rcx, rax
mov qword [rbp + 0xc88], rcx
mov edx, 1
mov ecx, 1
mov qword [rbp + 0xc80], rcx
cmove rax, rdx
mov qword [rbp + 0xc58], rax
lea rdx, [0x004aa9c5]
lea rcx, [rbp + 0x810]
mov r8d, 0xe
call fcn.00460c90
mov qword [rbp + 0xc50], rdx
test rax, rax
mov rcx, qword [rbp + 0xc50]
cmove rcx, rax
mov qword [rbp + 0xc50], rcx
mov rcx, qword [rbp + 0xc80]
cmovne rcx, rax
mov qword [rbp + 0xc80], rcx
lea rdx, [0x004aa9d3]
lea rcx, [rbp + 0x810]
mov r8d, 0x13
call fcn.00460c90
mov qword [rbp + 0xc98], rdx
test rax, rax
mov rcx, qword [rbp + 0xc98]
cmove rcx, rax
mov qword [rbp + 0xc98], rcx
mov edi, 1
cmove rax, rdi
mov qword [rbp + 0xc68], rax
lea rdx, [0x004aa9e6]
lea rcx, [rbp + 0x810]
mov r8d, 0x13
call fcn.00460c90
mov qword [rbp + 0xcc0], rdx
test rax, rax
mov rcx, qword [rbp + 0xcc0]
cmove rcx, rax
mov qword [rbp + 0xcc0], rcx
cmovne rdi, rax
lea rdx, [0x004aaa1d]
lea rcx, [rbp + 0x810]
mov r8d, 0x10
call fcn.00460c90
mov qword [rbp + 0xc48], rdx
mov rsi, rax
test rax, rax
mov rax, qword [rbp + 0xc48]
cmove rax, rsi
mov qword [rbp + 0xc48], rax
mov ebx, 1
cmove rsi, rbx
lea rcx, [rbp + 0x870]
mov rdx, qword [rbp + 0xcc8]
mov r8, qword [rbp + 0xcb8]
call fcn.00424650
movzx eax, byte [rbp + 0x870]
mov byte [rbp + 0xcb8], al
cmp al, 0x16
je 0x4606ef
mov rax, qword [rbp + 0xc40]
test rax, rax
cmovne rbx, rax
mov r8, qword [rbp + 0xc38]
cmove r8, rax
mov rax, qword [rbp + 0x880]
mov qword [rbp + 0xb4f], rax
movups xmm0, xmmword [rbp + 0x871]
movaps xmmword [rbp + 0xb40], xmm0
movups xmm0, xmmword [rbp + 0x888]
movaps xmmword [rbp + 0x550], xmm0
movups xmm0, xmmword [rbp + 0x898]
movaps xmmword [rbp + 0x560], xmm0
movups xmm0, xmmword [rbp + 0x8a8]
movaps xmmword [rbp + 0x570], xmm0
movups xmm0, xmmword [rbp + 0x8b8]
movaps xmmword [rbp + 0x580], xmm0
lea rcx, [rbp + 0x870]
mov rdx, rbx
call fcn.00424650
movzx ebx, byte [rbp + 0x870]
cmp bl, 0x16
jne 0x46071e
test r13, r13
je 0x46070d
mov rcx, qword [rbp + 0x818]
shl r13, 4
mov r8d, 8
mov rdx, r13
call fcn.00404450
lea rcx, [rbp + 0x770]
call fcn.0040ce80
jmp 0x45e44f
mov rax, qword [rbp + 0x880]
mov qword [rbp + 0x72f], rax
movups xmm0, xmmword [rbp + 0x871]
movaps xmmword [rbp + 0x720], xmm0
movups xmm0, xmmword [rbp + 0x888]
movaps xmmword [rbp + 0x1f0], xmm0
movups xmm0, xmmword [rbp + 0x898]
movaps xmmword [rbp + 0x200], xmm0
movups xmm0, xmmword [rbp + 0x8a8]
movaps xmmword [rbp + 0x210], xmm0
movups xmm0, xmmword [rbp + 0x8b8]
movaps xmmword [rbp + 0x220], xmm0
movaps xmm0, xmmword [rbp + 0xb40]
movaps xmmword [rbp + 0x4b0], xmm0
mov rax, qword [rbp + 0xb4f]
mov qword [rbp + 0x4bf], rax
movaps xmm0, xmmword [rbp + 0x550]
movaps xmm1, xmmword [rbp + 0x560]
movaps xmm2, xmmword [rbp + 0x570]
movaps xmm3, xmmword [rbp + 0x580]
movups xmmword [rbp + 0x4f7], xmm3
movups xmmword [rbp + 0x4e7], xmm2
movups xmmword [rbp + 0x4d7], xmm1
movups xmmword [rbp + 0x4c7], xmm0
test r13, r13
je 0x45ff2e
mov rcx, qword [rbp + 0x818]
shl r13, 4
mov r8d, 8
mov rdx, r13
call fcn.00404450
jmp 0x45ff2e
lea r8, str._rust_deps_addr2line_0.22.0_srclib.rs
call fcn.00492700
lea rdx, [rbp + 0x870]
mov r8d, 0x230
mov rcx, r14
call sub.ntdll.dll_memcpy
mov qword [0x004a5060], 1
jmp 0x45caad
lea r8, str._rust_deps_addr2line_0.22.0_srclib.rs
call fcn.0048c580
mov ecx, 8
mov edx, 0x108
call fcn.0047f000
ud2