Function at 0x495040
Capabilities:
Hash data using fnv

Disassembly:
lea r12, [rsp - 0x6c0]
cmp r12, qword [r14 + 0x10]
jbe 0x4978ef
sub rsp, 0x740
mov qword [rsp + 0x738], rbp
lea rbp, [rsp + 0x738]
mov qword [rsp + 0x748], rax
mov r13, 0
mov qword [rsp + 0x730], r13
mov byte [rsp + 0x6f], 0
movups xmmword [rsp + 0x3e8], xmm15
movabs rdx, 0x7b20746375727473
mov qword [rsp + 0x1b8], rdx
xor ecx, ecx
xor esi, esi
jmp 0x4950b9
movzx edi, byte [rsp + rsi + 0x1b8]
inc rsi
imul ecx, ecx, 0x1000193
xor ecx, edi
cmp rsi, 8
jl 0x4950a6
mov qword [rsp + 0x748], rax
mov qword [rsp + 0x750], rbx
mov dword [rsp + 0x70], ecx
lea rax, [0x00a71860]
mov rcx, rbx
nop dword [rax]
call fcn.0044c620
mov qword [rsp + 0x3d0], rax
movups xmmword [rsp + 0x2c0], xmm15
movups xmmword [rsp + 0x2d0], xmm15
movups xmmword [rsp + 0x2e0], xmm15
movups xmmword [rsp + 0x2f0], xmm15
movups xmmword [rsp + 0x480], xmm15
movups xmmword [rsp + 0x490], xmm15
movups xmmword [rsp + 0x4a0], xmm15
lea rdi, [rsp + 0x568]
lea rdi, [rdi - 0x30]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00468bd9
mov rbp, qword [rbp]
lea rdx, [rsp + 0x568]
mov qword [rsp + 0x490], rdx
call fcn.00451b60
mov dword [rsp + 0x48c], eax
movabs rdx, 0x7b20746375727473
mov qword [rsp + 0x2c0], rdx
mov rdx, qword [rsp + 0x748]
mov rcx, qword [rsp + 0x750]
mov esi, dword [rsp + 0x70]
xor eax, eax
xor ebx, ebx
xor edi, edi
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
mov r11d, 0x40
lea r12, [rsp + 0x2c0]
mov r13d, 8
xor r15d, r15d
xor ebx, ebx
mov qword [rsp + 0x100], rbx
xor eax, eax
mov qword [rsp + 0x348], rax
xor eax, eax
mov byte [rsp + 0x6d], al
mov eax, 1
mov byte [rsp + 0x6e], al
xor ebx, ebx
xor eax, eax
jmp 0x495253
mov rcx, qword [rsp + 0x3c8]
add rcx, 0x68
lea r8, [r10 + 1]
movzx r10d, byte [rsp + 0x6d]
mov r13, qword [rsp + 0x348]
mov r15, qword [rsp + 0x100]
mov rdx, rcx
mov rdi, r9
mov r9, qword [rsp + 0x358]
mov r10, qword [rsp + 0x120]
mov r13, qword [rsp + 0xf0]
mov r15d, esi
mov byte [rsp + 0x6e], r11b
mov rcx, qword [rsp + 0x750]
mov r11, rax
mov esi, ebx
mov rax, r8
mov rbx, r12
mov r8, qword [rsp + 0x118]
mov r12, qword [rsp + 0x340]
mov qword [rsp + 0x340], r12
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], r11
mov qword [rsp + 0x358], r9
mov qword [rsp + 0x118], r8
mov byte [rsp + 0x6c], r15b
mov dword [rsp + 0x74], esi
cmp rcx, rax
jle 0x495d05
mov qword [rsp + 0x128], rdi
mov r15, qword [rdx]
mov qword [rsp + 0x500], r15
lea r15, [rdx + 8]
lea rdi, [rsp + 0x508]
mov rsi, r15
nop word [rax + rax]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00468f4c
mov rbp, qword [rbp]
mov r15, qword [rsp + 0x508]
mov rsi, rdx
mov rdx, qword [rsp + 0x500]
test r15, r15
je 0x497885
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x3c8], rsi
mov qword [rsp + 0x120], r10
mov qword [rsp + 0xe0], rbx
mov rax, rdx
mov rbx, r15
call fcn.00494f20
nop word [rax + rax]
test al, al
je 0x497839
cmp qword [rsp + 0x520], 0
je 0x4977ed
mov rax, qword [rsp + 0x500]
mov qword [rsp], rax
lea rdi, [rsp + 8]
lea rsi, [rsp + 0x508]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00468f4c
mov rbp, qword [rbp]
call fcn.00497fe0
mov qword [rsp + 0x3c0], rbx
mov qword [rsp + 0x448], rax
mov qword [rsp + 0x450], rbx
mov qword [rsp + 0x458], rcx
movzx eax, byte [rbx + 0x17]
test al, 0x40
setne al
movzx ecx, byte [rsp + 0x6d]
or eax, ecx
mov byte [rsp + 0x6d], al
test rsi, rsi
je 0x49540e
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x49541e
mov qword [rsp + 0x1b0], rsi
mov qword [rsp + 0x3b8], rdi
cmp rsi, rcx
jne 0x497799
mov rax, qword [rsp + 0x348]
mov rbx, rdi
call fcn.00403a40
test al, al
je 0x497799
movzx eax, byte [rsp + 0x6d]
mov rbx, qword [rsp + 0x3c0]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x348]
jmp 0x49541e
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x348]
mov qword [rsp + 0x348], rdi
mov qword [rsp + 0x100], rsi
mov rax, qword [rsp + 0x448]
call fcn.0048dae0
mov qword [rsp + 0x350], rax
mov qword [rsp + 0x110], rbx
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x2a0]
call fcn.00450ae0
mov ecx, dword [rsp + 0x74]
xor edx, edx
jmp 0x496c80
mov dword [rsp + 0x74], ecx
lea rax, [rsp + 0x280]
lea rbx, [0x00b978a0]
mov ecx, 1
mov rdi, qword [rsp + 0x350]
mov rsi, qword [rsp + 0x110]
call fcn.00450540
mov rdx, qword [rsp + 0xf0]
lea r8, [rdx + rbx]
mov rcx, qword [rsp + 0xf8]
cmp rcx, r8
jb 0x4954b9
mov rsi, qword [rsp + 0x340]
jmp 0x495503
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x340]
mov rdi, rbx
lea rsi, [0x00a16ae0]
mov rbx, r8
nop
call fcn.0044c700
mov rdx, qword [rsp + 0xf0]
mov rsi, rax
mov r8, rbx
mov rax, qword [rsp + 0x390]
mov rbx, qword [rsp + 0x1a0]
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0xf0], r8
mov qword [rsp + 0x340], rsi
add rdx, rsi
mov rdi, rax
mov rax, rdx
mov r9, rbx
mov rbx, rdi
mov rcx, r9
call fcn.004692c0
mov rdx, qword [rsp + 0x448]
movzx edx, byte [rdx]
nop dword [rax]
test dl, 8
je 0x495810
mov rsi, qword [rsp + 0x450]
movzx esi, byte [rsi + 0x17]
and esi, 0x1f
cmp rsi, 0x16
jne 0x495594
mov rax, qword [rsp + 0x3c0]
call fcn.0048f340
mov rcx, qword [rax + 0x98]
mov rax, rbx
call rcx
nop word [rax + rax]
cmp rax, 0x16
je 0x49775c
cmp rax, 0x14
je 0x49775c
mov rsi, qword [rsp + 0x450]
movzx esi, byte [rsi + 0x17]
and esi, 0x1f
cmp rsi, 0x14
je 0x4957d1
cmp rsi, 0x16
jne 0x4956b6
mov rax, qword [rsp + 0x3c0]
movzx esi, byte [rax + 0x14]
test sil, 1
jne 0x4955cd
xor esi, esi
jmp 0x495620
movzx esi, byte [rax + 0x17]
and esi, 0x1f
add rsi, 0xffffffffffffffef
cmp rsi, 8
ja 0x49561a
lea rcx, [0x00b9f260]
jmp qword [rcx + rsi*8]
lea rsi, [rax + 0x30]
nop
test rsi, rsi
je 0x495699
mov r8, qword [rsp + 0x148]
test r8, r8
jle 0x49563d
cmp word [rsi + 4], 0
ja 0x497749
mov r9, qword [rsp + 0x750]
cmp r9, 1
jg 0x497736
movzx edx, word [rsi + 4]
test dx, dx
jne 0x49565e
xor edx, edx
xor esi, esi
jmp 0x495672
mov r10d, dword [rsi + 8]
add rsi, r10
cmp rdx, 0x10000
ja 0x49772c
mov qword [rsp + 0xb8], rdx
xor ecx, ecx
mov rbx, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x358]
mov r10, qword [rsp + 0x118]
jmp 0x4975e0
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x358]
jmp 0x4972fc
mov rax, qword [rsp + 0x3c0]
movzx esi, byte [rax + 0x14]
test sil, 1
je 0x49571a
movzx esi, byte [rax + 0x17]
and esi, 0x1f
add rsi, 0xffffffffffffffef
cmp rsi, 8
ja 0x495714
lea rcx, [0x00b9f200]
jmp qword [rcx + rsi*8]
lea rsi, [rax + 0x30]
jmp 0x495720
xor esi, esi
nop dword [rax]
test rsi, rsi
je 0x4957b4
mov r8, qword [rsp + 0x148]
test r8, r8
jle 0x495746
cmp word [rsi + 4], 0
nop dword [rax + rax]
ja 0x4972e9
mov r9, qword [rsp + 0x750]
cmp r9, 1
jle 0x49576a
movzx r10d, byte [rax + 0x17]
nop dword [rax]
test r10b, 0x20
jne 0x4972d6
movzx edx, word [rsi + 4]
test dx, dx
jne 0x495779
xor edx, edx
xor esi, esi
jmp 0x49578d
mov r10d, dword [rsi + 8]
add rsi, r10
cmp rdx, 0x10000
ja 0x4972cc
mov qword [rsp + 0xa8], rdx
xor ecx, ecx
mov rbx, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x358]
mov r10, qword [rsp + 0x118]
jmp 0x497180
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x358]
jmp 0x4970f8
mov rax, qword [rsp + 0x3c0]
mov rdx, qword [rax + 0x38]
mov qword [rsp + 0x388], rdx
mov rsi, qword [rax + 0x40]
mov qword [rsp + 0x1a0], rsi
xor ecx, ecx
mov rbx, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x358]
mov r8, qword [rsp + 0x118]
jmp 0x496d85
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x358]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x358], rdx
lea rbx, [rsp + 0x480]
mov rdi, qword [rsp + 0x110]
lea rax, [0x00a3a180]
mov rcx, qword [rsp + 0x350]
nop
call fcn.00414520
test bl, bl
je 0x49588d
mov rdi, qword [rsp + 0x110]
cmp rdi, 1
jne 0x496d19
mov rcx, qword [rsp + 0x350]
cmp byte [rcx], 0x5f
je 0x49589d
jmp 0x496ceb
mov rcx, qword [rsp + 0x350]
mov rdi, qword [rsp + 0x110]
lea rax, [0x00a3a180]
lea rbx, [rsp + 0x480]
call fcn.00414940
test byte [rax], al
mov dword [rsp + 0xa4], 0
mov rax, qword [rsp + 0x3c0]
mov edx, dword [rax + 0x10]
shr edx, 0x18
mov byte [rsp + 0xa4], dl
mov edx, dword [rax + 0x10]
shr edx, 0x10
mov byte [rsp + 0xa5], dl
mov edx, dword [rax + 0x10]
shr edx, 8
mov byte [rsp + 0xa6], dl
mov edx, dword [rax + 0x10]
mov byte [rsp + 0xa7], dl
mov edx, dword [rsp + 0x74]
xor ecx, ecx
nop dword [rax]
jmp 0x496ca0
mov dword [rsp + 0x74], edx
call fcn.0048e3c0
mov ecx, 1
mov rdi, rax
mov rsi, rbx
lea rax, [rsp + 0x260]
lea rbx, [0x00b978a0]
call fcn.00450540
mov rcx, qword [rsp + 0xf0]
lea rdx, [rcx + rbx]
mov rsi, qword [rsp + 0xf8]
cmp rsi, rdx
jb 0x495950
mov rdi, qword [rsp + 0x340]
jmp 0x49599e
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x340]
mov rcx, rsi
mov rdi, rbx
lea rsi, [0x00a16ae0]
mov rbx, rdx
call fcn.0044c700
mov rsi, rcx
mov rdi, rax
mov rdx, rbx
mov rax, qword [rsp + 0x390]
mov rcx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x1a0]
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0x340], rdi
lea r8, [rdi + rcx]
mov rcx, rbx
mov rbx, rax
mov rax, r8
call fcn.004692c0
mov rax, qword [rsp + 0x448]
movzx edx, byte [rax]
test dl, 2
jne 0x4959f9
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0xf0]
mov ebx, dword [rsp + 0x74]
jmp 0x495b81
call fcn.0048dbc0
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x240]
call fcn.00450ae0
mov ecx, dword [rsp + 0x74]
xor edx, edx
jmp 0x496cba
mov dword [rsp + 0x74], ecx
mov rax, qword [rsp + 0x448]
call fcn.0048dbc0
mov qword [rsp + 0x338], rax
mov qword [rsp + 0xe8], rbx
nop
lea rcx, [rbx + rbx*2]
mov rdx, rcx
shr rcx, 0x3f
add rcx, rdx
sar rcx, 1
mov qword [rsp + 0x1a0], rcx
lea rax, [0x00a16ae0]
xor ebx, ebx
call fcn.0044c620
xor ebx, ebx
mov rcx, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x338]
mov rsi, qword [rsp + 0xe8]
mov r8d, 0x22
xor r9d, r9d
mov r10d, r9d
call fcn.00480280
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x220]
nop
call fcn.004508e0
mov ecx, 1
mov rdi, rax
mov rsi, rbx
lea rax, [rsp + 0x200]
lea rbx, [0x00b978a0]
nop
call fcn.00450540
mov rcx, qword [rsp + 0xf0]
lea rdx, [rcx + rbx]
mov rsi, qword [rsp + 0xf8]
cmp rsi, rdx
jb 0x495ae8
mov rdi, qword [rsp + 0x340]
jmp 0x495b36
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x340]
mov rcx, rsi
mov rdi, rbx
lea rsi, [0x00a16ae0]
mov rbx, rdx
call fcn.0044c700
mov rdi, rax
mov rsi, rcx
mov rdx, rbx
mov rax, qword [rsp + 0x390]
mov rcx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x1a0]
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0x340], rdi
lea r8, [rdi + rcx]
mov rcx, rbx
mov rbx, rax
mov rax, r8
nop dword [rax + rax]
call fcn.004692c0
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0xf0]
mov ebx, dword [rsp + 0x74]
mov r8, qword [rsp + 0x750]
lea r9, [r8 - 1]
mov r10, qword [rsp + 0x148]
cmp r10, r9
jge 0x495bf1
inc rdx
nop dword [rax]
cmp rax, rdx
jae 0x495bec
mov dword [rsp + 0x98], ebx
mov rbx, rdx
mov edi, 1
lea rsi, [0x00a16ae0]
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0044c700
mov r8, qword [rsp + 0x750]
mov r10, qword [rsp + 0x148]
mov rdx, rbx
mov ebx, dword [rsp + 0x98]
mov rsi, rcx
mov rcx, rax
mov rax, rsi
mov byte [rdx + rcx - 1], 0x3b
movzx r9d, byte [rsp + 0x6e]
test r9b, r9b
je 0x495c0f
mov r9, qword [rsp + 0x3c0]
cmp qword [r9 + 0x18], 0
setne r11b
jmp 0x495c1a
mov r9, qword [rsp + 0x3c0]
xor r11d, r11d
movzx r12d, byte [r9 + 0x15]
mov r13, qword [rsp + 0xe0]
lea r15, [r13 - 1]
add r15, r12
mov esi, r12d
neg r12
and r15, r12
nop word [rax + rax]
cmp r13, r15
ja 0x496cd8
movzx r12d, byte [rsp + 0x6c]
cmp r12b, sil
jb 0x495c57
mov esi, r12d
mov r12, qword [r9]
add r12, r15
nop dword [rax]
cmp r15, r12
ja 0x496cc5
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0x340], rcx
mov qword [rsp + 0x458], r15
cmp qword [r9], 0
mov r9, qword [rsp + 0x128]
cmove r9, r12
lea r13, [r10 + r10*2]
mov rdi, r8
mov r8, qword [rsp + 0x448]
mov rcx, qword [rsp + 0x450]
mov rdx, qword [rsp + 0x3d0]
mov qword [rdx + r13*8 + 0x10], r15
lea r15, [rdx + r13*8]
mov qword [rsp + 0x380], r15
lea r15, [rdx + r13*8]
lea r15, [r15 + 8]
cmp dword [0x00f0c520], 0
jne 0x495ce5
mov qword [rdx + r13*8], r8
mov qword [rdx + r13*8 + 8], rcx
nop dword [rax + rax]
jmp 0x4951e4
mov r13, rdi
mov rdi, qword [rsp + 0x380]
call fcn.004685c0
mov rdi, r15
call fcn.00468540
mov rdi, r13
jmp 0x4951e4
test rbx, rbx
jbe 0x495d1c
cmp rdi, rbx
jne 0x495d1c
cmp rbx, 0xffffffffffffffff
je 0x496c57
inc rbx
mov qword [rsp + 0xe0], rbx
test r8, r8
jne 0x495d3e
lea rax, [0x00a60f80]
call fcn.0040f0e0
lea rcx, [rax + 0x50]
jmp 0x49600d
lea rdi, [rsp + 0x4b0]
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00468bf0
mov rbp, qword [rbp]
lea rax, [0x00a71920]
lea rbx, [rsp + 0x4b0]
call fcn.0040c4c0
lea rcx, [0x00a71920]
mov qword [rsp + 0x428], rcx
mov qword [rsp + 0x430], rax
mov rcx, qword [rsp + 0x428]
test rcx, rcx
je 0x495d9e
lea rax, [0x00ba54f8]
jmp 0x495da2
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x308], rcx
movups xmmword [rsp + 0x1d0], xmm15
lea rbx, [rsp + 0x1d0]
lea rax, [0x00a904a0]
call fcn.0040c540
lea rcx, [0x00a904a0]
mov qword [rsp + 0x418], rcx
mov qword [rsp + 0x420], rax
mov rcx, qword [rsp + 0x418]
test rcx, rcx
je 0x495dfc
lea rax, [0x00ba54f8]
jmp 0x495e00
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x300], rcx
mov qword [rsp + 0xc0], rax
mov rbx, qword [rsp + 0x358]
lea rax, [0x00a849a0]
nop
call fcn.0040c540
lea rcx, [0x00a849a0]
mov qword [rsp + 0x408], rcx
mov qword [rsp + 0x410], rax
mov rcx, qword [rsp + 0x408]
test rcx, rcx
je 0x495e52
lea rax, [0x00ba54f8]
jmp 0x495e56
xor eax, eax
xor ecx, ecx
mov rbx, rax
mov rax, qword [rsp + 0x118]
call fcn.00498320
mov rdx, qword [0x00ba5ac0]
mov qword [rsp + 0x5f8], rdx
lea rdi, [rsp + 0x600]
lea rsi, [0x00ba5ac8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00468e96
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x618], rdx
mov rdx, qword [rsp + 0x308]
mov qword [rsp + 0x620], rdx
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x680], rdx
mov rdx, qword [rsp + 0x300]
mov qword [rsp + 0x688], rdx
mov qword [rsp + 0x6e8], rax
mov qword [rsp + 0x6f0], rbx
lea rax, [rsp + 0x5f8]
mov ebx, 3
mov rcx, rbx
call fcn.00495040
nop dword [rax]
call fcn.004a5ec0
mov qword [rsp + 0x3c0], rax
mov qword [rsp + 0x3c8], rbx
mov qword [rsp + 0x1a8], rcx
nop dword [rax]
call fcn.0049ee80
xor edi, edi
call fcn.0049f060
call fcn.0049a320
call fcn.004a4e20
mov qword [rsp + 0x3b0], rax
mov rbx, qword [rsp + 0x3c8]
mov rcx, qword [rsp + 0x1a8]
mov rax, qword [rsp + 0x3c0]
call fcn.0049ee80
mov edi, 1
call fcn.0049f060
call fcn.0049a320
call fcn.004a4e20
mov qword [rsp + 0x3a8], rax
mov rbx, qword [rsp + 0x3c8]
mov rcx, qword [rsp + 0x1a8]
mov rax, qword [rsp + 0x3c0]
call fcn.0049ee80
mov edi, 2
call fcn.0049f060
xor edi, edi
mov rsi, qword [rsp + 0x118]
call fcn.004a41c0
mov edi, 1
call fcn.004a00a0
lea rdx, [0x00a0ede0]
nop
cmp rax, rdx
jne 0x496c48
mov rcx, qword [rbx + 8]
mov rdx, qword [rsp + 0x118]
cmp rdx, rcx
cmovl rcx, rdx
mov rax, qword [rbx]
mov rbx, qword [rsp + 0x358]
cmp rbx, rax
je 0x495ffd
shl rcx, 4
call fcn.004692c0
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x3a8]
mov rax, qword [rsp + 0x3b0]
mov qword [rsp + 0x310], rax
mov rdx, qword [rsp + 0x118]
mov word [rcx + 4], dx
mov word [rcx + 6], dx
mov dword [rcx + 8], 0x10
mov r8, qword [rsp + 0x750]
test r8, r8
je 0x496096
mov rbx, qword [rsp + 0xf0]
inc rbx
mov rcx, qword [rsp + 0xf8]
cmp rcx, rbx
jb 0x49605b
mov rsi, qword [rsp + 0x340]
jmp 0x49608f
mov rax, qword [rsp + 0x340]
mov edi, 1
lea rsi, [0x00a16ae0]
call fcn.0044c700
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x750]
mov rsi, rax
mov rax, qword [rsp + 0x310]
mov byte [rbx + rsi - 1], 0x20
jmp 0x4960ae
mov rcx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x340]
mov rbx, qword [rsp + 0xf0]
inc rbx
cmp rcx, rbx
jae 0x4960e5
mov rax, rsi
mov edi, 1
lea rsi, [0x00a16ae0]
call fcn.0044c700
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x750]
mov rsi, rax
mov rax, qword [rsp + 0x310]
mov byte [rbx + rsi - 1], 0x7d
mov edi, dword [rsp + 0x74]
xor ecx, ecx
jmp 0x496100
imul edi, edi, 0x1000193
xor edi, 0x7d
mov ecx, 1
cmp rcx, 1
jl 0x4960f2
mov dword [rsp + 0x74], edi
lea rax, [rsp + 0x1e0]
mov rcx, rbx
mov rbx, rsi
call fcn.004508e0
movzx edx, byte [rsp + 0x6c]
movzx esi, dl
mov rdi, qword [rsp + 0xe0]
lea r8, [rdi - 1]
add r8, rsi
neg rsi
and r8, rsi
nop word [rax + rax]
cmp rdi, r8
ja 0x496c35
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0x330], rax
mov qword [rsp + 0xd8], rbx
lea r9, [0x00a2cde0]
mov qword [rsp + 0x3f8], r9
lea r9, [0x00f0c1f8]
mov qword [rsp + 0x400], r9
mov rdi, qword [rsp + 0x310]
test byte [rdi], al
mov rsi, qword [rsp + 0x3f8]
test byte [rsi], al
cmp dword [0x00f0c520], 0
jne 0x4961b5
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00468f5a
mov rbp, qword [rbp]
jmp 0x4961e4
lea rax, [0x00a71920]
mov rbx, rdi
mov rcx, rsi
call fcn.004155a0
mov rax, qword [rsp + 0x330]
movzx edx, byte [rsp + 0x6c]
mov rbx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x750]
mov rdi, qword [rsp + 0x310]
mov qword [rdi + 0x40], r9
mov qword [rdi + 0x48], r9
cmp dword [0x00f0c520], 0
jne 0x496213
mov r10, qword [rsp + 0x3d0]
mov qword [rdi + 0x38], r10
jmp 0x49623b
lea r10, [rdi + 0x38]
mov rcx, rdi
mov rdi, r10
mov rsi, r9
mov r9, qword [rsp + 0x3d0]
call fcn.004685e0
mov rdi, rcx
mov r9, rsi
mov r10, qword [rsp + 0x3d0]
mov r11, qword [rsp + 0x100]
test r11, r11
je 0x496296
mov rax, qword [rsp + 0x348]
mov rbx, r11
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
nop dword [rax]
call fcn.0048de60
cmp dword [0x00f0c520], 0
jne 0x49627c
mov rdx, qword [rsp + 0x310]
mov qword [rdx + 0x30], rax
jmp 0x496296
mov rdi, qword [rsp + 0x310]
lea rdx, [rdi + 0x30]
mov rcx, rdi
mov rdi, rdx
call fcn.00468440
mov rdx, rcx
mov edx, dword [rsp + 0x74]
mov dword [rsp + 0xa0], edx
lea rax, [0x00eb7268]
lea rbx, [0x00a16a60]
lea rcx, [rsp + 0xa0]
call fcn.00482640
nop dword [rax]
test cl, cl
je 0x4962ea
lea rdx, [0x00a0ed20]
cmp rax, rdx
jne 0x496c26
mov rsi, qword [rbx]
mov rdi, qword [rbx + 8]
mov qword [rsp + 0x1b0], rdi
xor eax, eax
jmp 0x496ba5
nop
xor eax, eax
lea rdx, [0x00eb7260]
mov esi, 1
lock cmpxchg dword [rdx], esi
sete dl
test dl, dl
jne 0x496310
lea rax, [0x00eb7260]
call fcn.00483960
movups xmmword [rsp + 0x438], xmm15
lea rdx, [0x00497ba0]
mov qword [rsp + 0x438], rdx
lea rdx, [0x00eb7260]
mov qword [rsp + 0x440], rdx
lea rdx, [rsp + 0x438]
mov qword [rsp + 0x730], rdx
mov byte [rsp + 0x6f], 1
mov edx, dword [rsp + 0x74]
mov dword [rsp + 0x9c], edx
lea rax, [0x00eb7268]
lea rbx, [0x00a16a60]
lea rcx, [rsp + 0x9c]
call fcn.00482640
test cl, cl
je 0x49639f
lea rdx, [0x00a0ed20]
nop dword [rax]
cmp rax, rdx
jne 0x496b70
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
mov qword [rsp + 0x1b0], rdx
xor eax, eax
jmp 0x496ad5
mov qword [rsp + 0x1c0], 0
mov dword [rsp + 0x1c8], 0
lea rcx, [0x00497a00]
mov qword [rsp + 0x1c0], rcx
mov ecx, dword [rsp + 0x74]
mov dword [rsp + 0x1c8], ecx
mov rax, qword [rsp + 0x330]
mov rbx, qword [rsp + 0xd8]
call fcn.00492c60
mov qword [rsp + 0x3a0], rax
mov qword [rsp + 0x1b0], rbx
xor ecx, ecx
jmp 0x496414
mov rcx, qword [rsp + 0x1a0]
inc rcx
mov rax, qword [rsp + 0x3a0]
mov rbx, qword [rsp + 0x1b0]
cmp rbx, rcx
jle 0x4964ac
mov qword [rsp + 0x1a0], rcx
mov rbx, qword [rax + rcx*8]
mov qword [rsp + 0x318], rbx
mov rax, qword [rsp + 0x310]
mov ecx, 1
nop
call fcn.00492500
test al, al
je 0x4963f9
mov rcx, qword [rsp + 0x1c0]
lea rax, [0x00ba54f8]
mov rbx, qword [rsp + 0x318]
lea rdx, [rsp + 0x1c0]
call rcx
mov qword [rsp + 0x3e8], rax
mov qword [rsp + 0x3f0], rbx
mov byte [rsp + 0x6f], 0
mov rdx, qword [rsp + 0x730]
mov rcx, qword [rdx]
call rcx
mov rax, qword [rsp + 0x3e8]
mov rbx, qword [rsp + 0x3f0]
mov rbp, qword [rsp + 0x738]
add rsp, 0x740
ret
mov rax, qword [rsp + 0x330]
mov rbx, qword [rsp + 0xd8]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
call fcn.0048de60
call fcn.00463440
mov rdx, qword [rsp + 0x310]
mov dword [rdx + 0x28], eax
mov byte [rdx + 0x14], 0
mov r9d, dword [rsp + 0x74]
mov dword [rdx + 0x10], r9d
mov r9, qword [rsp + 0xe0]
mov qword [rdx], r9
mov rax, rdx
call fcn.00498220
mov rcx, qword [rsp + 0x310]
mov qword [rcx + 8], rax
movzx edx, byte [rsp + 0x6c]
mov byte [rcx + 0x15], dl
mov byte [rcx + 0x16], dl
mov dword [rcx + 0x2c], 0
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x49652f
movzx edx, byte [rcx + 0x14]
or edx, 1
mov byte [rcx + 0x14], dl
movzx edx, byte [rsp + 0x6d]
test dl, dl
je 0x496554
mov rdx, qword [rsp + 0x3d0]
mov rbx, rdx
mov rsi, qword [rsp + 0x750]
xor eax, eax
xor edi, edi
jmp 0x496720
movzx edx, byte [rcx + 0x17]
and edx, 0xffffffbf
mov byte [rcx + 0x17], dl
mov dword [rsp + 0x460], 0
mov qword [rsp + 0x468], 0
movups xmmword [rsp + 0x470], xmm15
lea rax, [rsp + 0x460]
xor ebx, ebx
call fcn.004996a0
mov rdx, qword [rsp + 0x468]
cmp qword [rsp + 0x470], 0
nop
je 0x4965d5
cmp dword [0x00f0c520], 0
jne 0x4965b9
mov rdi, qword [rsp + 0x310]
mov qword [rdi + 0x20], rdx
jmp 0x4965dd
mov rdi, qword [rsp + 0x310]
lea rcx, [rdi + 0x20]
mov rax, rdi
mov rdi, rcx
call fcn.00468560
mov rdi, rax
jmp 0x4965dd
mov rdi, qword [rsp + 0x310]
lea rcx, [rdi + 0x18]
cmp dword [0x00f0c520], 0
jne 0x4965f4
mov qword [rdi + 0x18], 0
jmp 0x496608
mov rax, rdi
mov rdi, rcx
xor esi, esi
nop dword [rax]
call fcn.004685a0
mov rdi, rax
movzx esi, byte [rsp + 0x6e]
test sil, sil
je 0x49666c
mov qword [rsp + 0x398], rcx
lea rax, [0x00a55060]
call fcn.0040f0e0
lea rcx, [0x00497920]
mov qword [rax], rcx
cmp dword [0x00f0c520], 0
jne 0x49664b
mov rbx, qword [rsp + 0x310]
mov qword [rax + 8], rbx
mov qword [rbx + 0x18], rax
jmp 0x496669
lea rdi, [rax + 8]
mov rbx, qword [rsp + 0x310]
call fcn.00468580
mov rdi, qword [rsp + 0x398]
call fcn.00468440
mov rdi, rbx
mov rcx, qword [rsp + 0x750]
cmp rcx, 1
jne 0x49669b
mov rcx, qword [rsp + 0x3d0]
mov rcx, qword [rcx + 8]
movzx ecx, byte [rcx + 0x17]
test cl, 0x20
je 0x49669b
movzx ecx, byte [rdi + 0x17]
or ecx, 0x20
mov byte [rdi + 0x17], cl
jmp 0x4966a5
movzx ecx, byte [rdi + 0x17]
and ecx, 0xffffffdf
mov byte [rdi + 0x17], cl
mov rcx, qword [rsp + 0x1c0]
lea rax, [0x00ba54f8]
mov rbx, rdi
lea rdx, [rsp + 0x1c0]
nop
call rcx
mov qword [rsp + 0x3e8], rax
mov qword [rsp + 0x3f0], rbx
mov byte [rsp + 0x6f], 0
mov rdx, qword [rsp + 0x730]
mov rcx, qword [rdx]
call rcx
mov rax, qword [rsp + 0x3e8]
mov rbx, qword [rsp + 0x3f0]
mov rbp, qword [rsp + 0x738]
add rsp, 0x740
ret
mov r8, rdx
mov r9, qword [rdx + 8]
cmp qword [r9 + 8], 0
cmovne rdi, rax
lea rdx, [r8 + 0x18]
inc rax
nop
nop dword [rax]
cmp rsi, rax
jg 0x496704
mov qword [rsp + 0x130], rdi
lea rax, [0x00a1a4a0]
call fcn.0040f0e0
mov rcx, qword [rsp + 0x3d0]
mov rdx, rcx
mov rbx, qword [rsp + 0x750]
mov rsi, qword [rsp + 0x130]
xor edi, edi
xor r8d, r8d
mov r9d, 4
mov r10d, 4
jmp 0x49676e
add rcx, 0x18
inc rdi
cmp rbx, rdi
jle 0x4968c7
mov r11, qword [rcx + 8]
mov r12, qword [rcx + 0x10]
nop
cmp rsi, rdi
jl 0x4968c7
cmp qword [r11 + 8], 0
je 0x496767
mov qword [rsp + 0x3c0], r11
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x3c8], rcx
cmp r8, r12
jae 0x496950
mov qword [rsp + 0x198], r12
mov r13, r12
sub r12, r8
lea r8, [r10 + 2]
cmp r9, r8
jae 0x49682d
mov qword [rsp + 0x190], r12
mov rbx, r8
mov rcx, r9
mov edi, 2
lea rsi, [0x00a16ae0]
call fcn.0044c700
mov rdx, qword [rsp + 0x3d0]
mov rsi, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x140]
mov r11, qword [rsp + 0x3c0]
mov r12, qword [rsp + 0x190]
mov r13, qword [rsp + 0x198]
mov r9, rcx
mov r8, rbx
mov rcx, qword [rsp + 0x3c8]
mov rbx, qword [rsp + 0x750]
mov word [r8 + rax - 2], 1
shr r12, 3
nop dword [rax]
cmp r12, 1
jbe 0x4969ad
inc r8
cmp r9, r8
jae 0x4968b7
mov qword [rsp + 0x190], r12
mov rbx, r8
mov rcx, r9
mov edi, 1
lea rsi, [0x00a16ae0]
call fcn.0044c700
mov rdx, qword [rsp + 0x3d0]
mov rsi, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x140]
mov r11, qword [rsp + 0x3c0]
mov r12, qword [rsp + 0x190]
mov r13, qword [rsp + 0x198]
mov r8, rbx
mov r9, rcx
mov rcx, qword [rsp + 0x3c8]
mov rbx, qword [rsp + 0x750]
mov byte [r8 + rax - 1], 0x81
lea r10, [r12 - 1]
jmp 0x4969c9
lea r8, [r10 + 1]
cmp r9, r8
jae 0x4968fa
mov rbx, r8
mov rcx, r9
mov edi, 1
lea rsi, [0x00a16ae0]
call fcn.0044c700
mov rdx, qword [rsp + 0x3d0]
mov r8, rbx
mov rbx, qword [rsp + 0x750]
mov byte [r8 + rax - 1], 0
test r8, r8
jbe 0x496946
lea rcx, [r8 - 4]
mov dword [rax], ecx
mov rdi, qword [rsp + 0x310]
movzx ecx, byte [rdi + 0x17]
or ecx, 0x40
mov byte [rdi + 0x17], cl
cmp dword [0x00f0c520], 0
jne 0x49692f
mov qword [rdi + 0x20], rax
jmp 0x4965dd
lea rcx, [rdi + 0x20]
mov rsi, rdi
mov rdi, rcx
call fcn.00468440
mov rdi, rsi
jmp 0x4965dd
xor eax, eax
mov rcx, rax
call fcn.004688e0
mov qword [rsp + 0x108], r8
mov rbx, r10
mov rcx, r9
mov rdi, r11
call fcn.004947e0
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x3c0]
add r8, qword [rdx + 8]
mov rdx, qword [rsp + 0x3d0]
mov rsi, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x140]
mov r9, rcx
mov r10, rbx
mov rcx, qword [rsp + 0x3c8]
mov rbx, qword [rsp + 0x750]
jmp 0x496767
mov r10, r8
mov r8, r13
jmp 0x496950
mov r12, r10
bts r10, 7
mov byte [r8 + rax - 1], r10b
shr r12, 7
mov r10, r12
mov qword [rsp + 0xd0], r10
cmp r10, 0x80
jb 0x496a47
inc r8
nop dword [rax]
cmp r9, r8
jae 0x4969b5
mov rbx, r8
mov rcx, r9
mov edi, 1
lea rsi, [0x00a16ae0]
call fcn.0044c700
mov rdx, qword [rsp + 0x3d0]
mov rsi, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x140]
mov r10, qword [rsp + 0xd0]
mov r11, qword [rsp + 0x3c0]
mov r13, qword [rsp + 0x198]
mov r8, rbx
mov r9, rcx
mov rcx, qword [rsp + 0x3c8]
mov rbx, qword [rsp + 0x750]
jmp 0x4969b5
inc r8
cmp r9, r8
jae 0x496aac
mov rbx, r8
mov rcx, r9
mov edi, 1
lea rsi, [0x00a16ae0]
call fcn.0044c700
mov rdx, qword [rsp + 0x3d0]
mov rsi, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x140]
mov r10, qword [rsp + 0xd0]
mov r11, qword [rsp + 0x3c0]
mov r13, qword [rsp + 0x198]
mov r8, rbx
mov r9, rcx
mov rcx, qword [rsp + 0x3c8]
mov rbx, qword [rsp + 0x750]
mov byte [r8 + rax - 1], r10b
jmp 0x4969ad
mov rcx, qword [rsp + 0x3c8]
add rcx, 0x10
mov rax, qword [rsp + 0x1a0]
inc rax
mov rdx, qword [rsp + 0x1b0]
cmp rax, rdx
jge 0x49639f
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x3c8], rcx
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
mov rdx, qword [rdx + 0x100]
call rdx
mov qword [rsp + 0x320], rax
mov rbx, rax
mov ecx, 1
mov rax, qword [rsp + 0x310]
call fcn.00492500
test al, al
je 0x496ab6
lea rax, [0x00ba54f8]
mov qword [rsp + 0x3e8], rax
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0x3f0], rax
mov byte [rsp + 0x6f], 0
mov rdx, qword [rsp + 0x730]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0x3f0]
mov rax, qword [rsp + 0x3e8]
mov rbp, qword [rsp + 0x738]
add rsp, 0x740
ret
mov rbx, rdx
lea rcx, [0x00a2c360]
call fcn.0040c300
mov rsi, qword [rsp + 0x3c8]
add rsi, 0x10
mov rax, qword [rsp + 0x1a0]
inc rax
lea rdx, [0x00a0ed20]
mov rdi, qword [rsp + 0x1b0]
cmp rax, rdi
jge 0x4962ea
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x3c8], rsi
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
mov rcx, qword [rcx + 0x100]
call rcx
mov qword [rsp + 0x328], rax
mov rbx, rax
mov ecx, 1
mov rax, qword [rsp + 0x310]
call fcn.00492500
test al, al
je 0x496b7f
lea rcx, [0x00ba54f8]
mov qword [rsp + 0x3e8], rcx
mov rbx, qword [rsp + 0x328]
mov qword [rsp + 0x3f0], rbx
mov rax, qword [rsp + 0x3e8]
mov rbp, qword [rsp + 0x738]
add rsp, 0x740
ret
mov rbx, rdx
lea rcx, [0x00a2c360]
call fcn.0040c300
lea rax, [0x00a16860]
lea rbx, [0x00b98810]
call fcn.00438220
mov rbx, rdx
lea rcx, [0x00a2c360]
call fcn.0040c300
lea rax, [0x00a16860]
lea rbx, [0x00b98810]
call fcn.00438220
movzx r8d, byte [rax + rdx]
inc rdx
imul ecx, ecx, 0x1000193
xor ecx, r8d
nop dword [rax + rax]
cmp rbx, rdx
jg 0x496c6a
jmp 0x495469
movzx ebx, byte [rsp + rcx + 0xa4]
inc rcx
imul edx, edx, 0x1000193
xor edx, ebx
nop dword [rax]
cmp rcx, 4
jl 0x496c8a
jmp 0x495905
movzx esi, byte [rax + rdx]
inc rdx
imul ecx, ecx, 0x1000193
xor ecx, esi
cmp rbx, rdx
jg 0x496cab
nop
jmp 0x495a1c
lea rax, [0x00a16860]
lea rbx, [0x00b98810]
call fcn.00438220
lea rax, [0x00a16860]
lea rbx, [0x00b98810]
call fcn.00438220
xor eax, eax
lea rbx, [0x00addf46]
mov rsi, rdi
mov rdi, rcx
mov ecx, 0x22
nop
call fcn.00450540
call fcn.0040c740
mov rbx, rax
lea rax, [0x00a16860]
call fcn.00438220
mov rcx, qword [rsp + 0x350]
jmp 0x496ceb
lea r9, [rbx - 1]
shl r9, 4
mov r10d, dword [rsp + 0x8c]
mov dword [rdx + r9], r10d
mov r10d, dword [rsp + 0x88]
mov dword [rdx + r9 + 4], r10d
mov r10d, dword [rsp + 0x84]
mov dword [rdx + r9 + 8], r10d
mov dword [rdx + r9 + 0xc], eax
mov r9, qword [rsp + 0x138]
inc r9
mov rax, qword [rsp + 0x3c0]
mov rsi, qword [rsp + 0x1a0]
mov rdi, rdx
mov r8, rbx
mov rdx, qword [rsp + 0x388]
mov rbx, rcx
mov rcx, r9
cmp rcx, rsi
jge 0x4970d4
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x188], rbx
mov qword [rsp + 0x180], r8
mov qword [rsp + 0x378], rdi
mov ebx, dword [rdx + rcx*8]
mov dword [rsp + 0x94], ebx
mov esi, dword [rdx + rcx*8 + 4]
mov dword [rsp + 0x90], esi
call fcn.00463300
call fcn.0048dd00
test rbx, rbx
jne 0x4970e5
nop
mov rax, qword [rsp + 0x3c0]
mov ebx, dword [rsp + 0x90]
call fcn.00463340
mov qword [rsp + 0x3b0], rax
lea rax, [0x00ac1b80]
call fcn.0040f0e0
mov qword [rsp + 0x3e0], rax
lea rax, [0x00ac1b80]
call fcn.0040f0e0
mov qword [rsp + 0x3d8], rax
mov rcx, qword [rsp + 0x3c0]
movzx edx, byte [rcx + 0x17]
test dl, 0x20
je 0x496f2d
lea rax, [0x00a68ba0]
call fcn.0040f0e0
lea rcx, [0x00497f00]
mov qword [rax], rcx
mov rdx, qword [rsp + 0x148]
mov qword [rax + 8], rdx
mov rbx, qword [rsp + 0x138]
mov qword [rax + 0x10], rbx
mov rsi, rax
lea rax, [0x00ba54f8]
mov rbx, qword [rsp + 0x3b0]
mov rcx, rsi
call fcn.0048d500
mov rdi, qword [rsp + 0x3d8]
mov qword [rdi + 0x10], rcx
cmp dword [0x00f0c520], 0
jne 0x496e96
mov qword [rdi], rax
mov qword [rdi + 8], rbx
jmp 0x496ea7
call fcn.00468440
lea rcx, [rdi + 8]
mov rdi, rcx
call fcn.00468580
lea rax, [0x00a68ba0]
call fcn.0040f0e0
lea rcx, [0x00497e20]
mov qword [rax], rcx
mov rdx, qword [rsp + 0x148]
mov qword [rax + 8], rdx
mov rbx, qword [rsp + 0x138]
mov qword [rax + 0x10], rbx
mov rsi, rax
lea rax, [0x00ba54f8]
mov rbx, qword [rsp + 0x3b0]
mov rcx, rsi
call fcn.0048d500
mov rdi, qword [rsp + 0x3e0]
mov qword [rdi + 0x10], rcx
cmp dword [0x00f0c520], 0
jne 0x496f10
mov qword [rdi], rax
mov qword [rdi + 8], rbx
jmp 0x497022
call fcn.00468440
lea rcx, [rdi + 8]
mov rax, rdi
mov rdi, rcx
nop
call fcn.00468580
mov rdi, rax
jmp 0x497022
lea rax, [0x00a68ba0]
call fcn.0040f0e0
lea rcx, [0x00497d40]
mov qword [rax], rcx
mov rdx, qword [rsp + 0x148]
mov qword [rax + 8], rdx
mov rbx, qword [rsp + 0x138]
mov qword [rax + 0x10], rbx
mov rsi, rax
lea rax, [0x00ba54f8]
mov rbx, qword [rsp + 0x3b0]
mov rcx, rsi
call fcn.0048d500
mov rdi, qword [rsp + 0x3d8]
mov qword [rdi + 0x10], rcx
cmp dword [0x00f0c520], 0
jne 0x496f93
mov qword [rdi], rax
mov qword [rdi + 8], rbx
jmp 0x496fa5
call fcn.00468440
lea rcx, [rdi + 8]
mov rdi, rcx
nop
call fcn.00468580
lea rax, [0x00a68ba0]
call fcn.0040f0e0
lea rcx, [0x00497c00]
mov qword [rax], rcx
mov rdx, qword [rsp + 0x148]
mov qword [rax + 8], rdx
mov rbx, qword [rsp + 0x138]
mov qword [rax + 0x10], rbx
mov rsi, rax
lea rax, [0x00ba54f8]
mov rbx, qword [rsp + 0x3b0]
mov rcx, rsi
call fcn.0048d500
mov rdi, qword [rsp + 0x3e0]
mov qword [rdi + 0x10], rcx
cmp dword [0x00f0c520], 0
jne 0x49700b
mov qword [rdi], rax
mov qword [rdi + 8], rbx
jmp 0x497022
call fcn.00468440
lea rcx, [rdi + 8]
mov rax, rdi
mov rdi, rcx
call fcn.00468580
mov rdi, rax
nop
mov rax, qword [rsp + 0x3c0]
mov ebx, dword [rsp + 0x94]
call fcn.00463300
nop
call fcn.00463440
mov dword [rsp + 0x8c], eax
nop
mov rax, qword [rsp + 0x3b0]
call fcn.00463440
mov dword [rsp + 0x88], eax
nop
mov rax, qword [rsp + 0x3e0]
call fcn.00463440
mov dword [rsp + 0x84], eax
nop
mov rax, qword [rsp + 0x3d8]
call fcn.00463440
mov rbx, qword [rsp + 0x180]
inc rbx
mov rcx, qword [rsp + 0x188]
cmp rcx, rbx
jb 0x4970a5
mov rdx, qword [rsp + 0x378]
nop dword [rax]
jmp 0x496d23
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x378]
mov edi, 1
lea rsi, [0x00a849a0]
call fcn.0044c700
mov rdx, rax
mov eax, dword [rsp + 0x80]
jmp 0x496d23
mov rax, rbx
mov rcx, r8
mov rdx, rdi
nop dword [rax]
jmp 0x495828
lea rax, [0x00a16860]
lea rbx, [0x00b987c0]
call fcn.00438220
mov r8, rdx
mov rdi, rbx
mov rbx, rcx
jmp 0x4970d4
lea r11, [rbx - 1]
shl r11, 4
mov r12d, dword [rsp + 0x8c]
mov dword [rdx + r11], r12d
mov r12d, dword [rsp + 0x88]
mov dword [rdx + r11 + 4], r12d
mov r12d, dword [rsp + 0x84]
mov dword [rdx + r11 + 8], r12d
mov dword [rdx + r11 + 0xc], eax
mov rsi, qword [rsp + 0x3b0]
add rsi, 0x10
mov r11, qword [rsp + 0x1a0]
inc r11
mov rax, qword [rsp + 0x3c0]
mov r8, qword [rsp + 0x148]
mov r9, qword [rsp + 0x750]
mov rdi, rdx
mov r10, rbx
mov rdx, qword [rsp + 0xa8]
mov rbx, rcx
mov rcx, r11
nop dword [rax]
cmp rdx, rcx
jle 0x4972ab
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x178], rbx
mov qword [rsp + 0x170], r10
mov qword [rsp + 0x370], rdi
mov qword [rsp + 0x3b0], rsi
mov ebx, dword [rsi]
mov ecx, dword [rsi + 4]
mov dword [rsp + 0x90], ecx
mov edx, dword [rsi + 8]
mov dword [rsp + 0x7c], edx
mov edi, dword [rsi + 0xc]
mov dword [rsp + 0x78], edi
nop
call fcn.00463300
mov qword [rsp + 0x3a8], rax
call fcn.0048dd00
nop
test rbx, rbx
jne 0x4972b9
nop
mov rax, qword [rsp + 0x3a8]
call fcn.00463440
mov dword [rsp + 0x8c], eax
nop
mov ebx, dword [rsp + 0x90]
mov rax, qword [rsp + 0x3c0]
call fcn.00463340
nop
call fcn.00463440
mov dword [rsp + 0x88], eax
nop
mov ebx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0x3c0]
call fcn.00463380
nop
call fcn.00463440
mov dword [rsp + 0x84], eax
nop
mov ebx, dword [rsp + 0x78]
mov rax, qword [rsp + 0x3c0]
call fcn.00463380
nop
call fcn.00463440
mov rbx, qword [rsp + 0x170]
inc rbx
mov rcx, qword [rsp + 0x178]
cmp rcx, rbx
jb 0x49727c
mov rdx, qword [rsp + 0x370]
jmp 0x497103
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x370]
mov edi, 1
lea rsi, [0x00a849a0]
call fcn.0044c700
mov rdx, rax
mov eax, dword [rsp + 0x80]
jmp 0x497103
mov rcx, rbx
mov rdx, r10
mov rbx, rdi
jmp 0x4970f8
lea rax, [0x00a16860]
lea rbx, [0x00b987c0]
call fcn.00438220
mov ebx, 0x10000
call fcn.004689e0
lea rax, [0x00a16860]
lea rbx, [0x00b987f0]
call fcn.00438220
lea rax, [0x00a16860]
lea rbx, [0x00b987d0]
call fcn.00438220
mov rsi, qword [rax + 0x30]
movzx r8d, byte [rsi + 0x14]
test r8b, 1
je 0x497362
movzx r8d, byte [rsi + 0x17]
and r8d, 0x1f
add r8, 0xffffffffffffffef
cmp r8, 8
ja 0x49735a
lea rdi, [0x00b9f1a0]
jmp qword [rdi + r8*8]
add rsi, 0x30
nop
jmp 0x497364
xor esi, esi
test rsi, rsi
je 0x49739b
movzx r8d, word [rsi + 4]
test r8w, r8w
jne 0x49737b
xor r8d, r8d
xor esi, esi
jmp 0x49738f
mov r9d, dword [rsi + 8]
add rsi, r9
cmp r8, 0x10000
ja 0x497558
mov qword [rsp + 0xb0], r8
xor edi, edi
jmp 0x49740c
mov r8, rdx
mov rdi, rbx
mov rbx, rcx
jmp 0x4970d4
lea r9, [rbx - 1]
shl r9, 4
mov r10d, dword [rsp + 0x8c]
mov dword [rdx + r9], r10d
mov r10d, dword [rsp + 0x88]
mov dword [rdx + r9 + 4], r10d
mov r10d, dword [rsp + 0x84]
mov dword [rdx + r9 + 8], r10d
mov dword [rdx + r9 + 0xc], eax
mov rsi, qword [rsp + 0x3b0]
add rsi, 0x10
mov rdi, qword [rsp + 0x1a0]
inc rdi
mov rax, qword [rsp + 0x3c0]
mov r8, qword [rsp + 0xb0]
mov r9, rbx
mov rbx, rdx
mov rdx, r9
cmp rdi, r8
jge 0x49739b
mov qword [rsp + 0x1a0], rdi
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x368], rbx
mov qword [rsp + 0x3b0], rsi
mov ebx, dword [rsi]
mov ecx, dword [rsi + 4]
mov dword [rsp + 0x90], ecx
mov edx, dword [rsi + 8]
mov dword [rsp + 0x7c], edx
mov edi, dword [rsi + 0xc]
mov dword [rsp + 0x78], edi
nop
call fcn.00463300
mov qword [rsp + 0x3a8], rax
call fcn.0048dd00
test rbx, rbx
jne 0x497545
nop
mov rax, qword [rsp + 0x3a8]
call fcn.00463440
mov dword [rsp + 0x8c], eax
mov rcx, qword [rsp + 0x3c0]
mov rdx, qword [rcx + 0x30]
mov ebx, dword [rsp + 0x90]
mov rax, rdx
call fcn.00463340
nop
call fcn.00463440
mov dword [rsp + 0x88], eax
mov rcx, qword [rsp + 0x3c0]
mov rdx, qword [rcx + 0x30]
mov ebx, dword [rsp + 0x7c]
mov rax, rdx
nop
call fcn.00463380
call fcn.00463440
mov dword [rsp + 0x84], eax
mov rcx, qword [rsp + 0x3c0]
mov rdx, qword [rcx + 0x30]
mov ebx, dword [rsp + 0x78]
mov rax, rdx
call fcn.00463380
call fcn.00463440
mov rbx, qword [rsp + 0x160]
inc rbx
mov rcx, qword [rsp + 0x168]
cmp rcx, rbx
jb 0x497513
mov rdx, qword [rsp + 0x368]
jmp 0x4973a9
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x368]
mov edi, 1
lea rsi, [0x00a849a0]
call fcn.0044c700
mov rdx, rax
mov eax, dword [rsp + 0x80]
nop dword [rax]
jmp 0x4973a9
lea rax, [0x00a16860]
lea rbx, [0x00b987c0]
call fcn.00438220
mov edx, r8d
mov ebx, 0x10000
call fcn.004689e0
lea r11, [rbx - 1]
shl r11, 4
mov r12d, dword [rsp + 0x8c]
mov dword [rdx + r11], r12d
mov r12d, dword [rsp + 0x88]
mov dword [rdx + r11 + 4], r12d
mov r12d, dword [rsp + 0x84]
mov dword [rdx + r11 + 8], r12d
mov dword [rdx + r11 + 0xc], eax
mov rsi, qword [rsp + 0x3b0]
add rsi, 0x10
mov r11, qword [rsp + 0x1a0]
inc r11
mov rax, qword [rsp + 0x3c0]
mov r8, qword [rsp + 0x148]
mov r9, qword [rsp + 0x750]
mov rdi, rdx
mov r10, rbx
mov rdx, qword [rsp + 0xb8]
mov rbx, rcx
mov rcx, r11
nop dword [rax + rax]
cmp rcx, rdx
jge 0x49770b
mov qword [rsp + 0x360], rdi
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x150], r10
mov qword [rsp + 0x3b0], rsi
mov ebx, dword [rsi]
mov ecx, dword [rsi + 4]
mov dword [rsp + 0x90], ecx
mov edx, dword [rsi + 8]
mov dword [rsp + 0x7c], edx
mov edi, dword [rsi + 0xc]
mov dword [rsp + 0x78], edi
nop
call fcn.00463300
mov qword [rsp + 0x3a8], rax
call fcn.0048dd00
nop
test rbx, rbx
jne 0x497719
nop
mov rax, qword [rsp + 0x3a8]
call fcn.00463440
mov dword [rsp + 0x8c], eax
nop
mov ebx, dword [rsp + 0x90]
mov rax, qword [rsp + 0x3c0]
call fcn.00463340
nop
call fcn.00463440
mov dword [rsp + 0x88], eax
nop
mov ebx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0x3c0]
call fcn.00463380
nop
call fcn.00463440
mov dword [rsp + 0x84], eax
nop
mov ebx, dword [rsp + 0x78]
mov rax, qword [rsp + 0x3c0]
call fcn.00463380
nop
call fcn.00463440
mov rbx, qword [rsp + 0x150]
inc rbx
mov rcx, qword [rsp + 0x158]
cmp rcx, rbx
jb 0x4976dc
mov rdx, qword [rsp + 0x360]
jmp 0x497565
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x360]
mov edi, 1
lea rsi, [0x00a849a0]
call fcn.0044c700
mov rdx, rax
mov eax, dword [rsp + 0x80]
jmp 0x497565
mov rcx, rbx
mov rdx, r10
mov rbx, rdi
jmp 0x4972fc
lea rax, [0x00a16860]
lea rbx, [0x00b987c0]
call fcn.00438220
mov ebx, 0x10000
call fcn.004689e0
lea rax, [0x00a16860]
lea rbx, [0x00b987e0]
call fcn.00438220
lea rax, [0x00a16860]
lea rbx, [0x00b987d0]
call fcn.00438220
mov rax, qword [rsp + 0x3c0]
call fcn.0048e3c0
mov ecx, 0x2e
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x00ae472c]
nop dword [rax]
call fcn.00450540
call fcn.0040c740
mov rbx, rax
lea rax, [0x00a16860]
call fcn.00438220
xor eax, eax
lea rbx, [0x00ae46fe]
mov ecx, 0x2e
mov rdi, qword [rsp + 0x348]
mov rsi, qword [rsp + 0x100]
lea r8, [0x00ac2ff9]
mov r9d, 5
mov r10, qword [rsp + 0x3b8]
mov r11, qword [rsp + 0x1b0]
call fcn.004506c0
call fcn.0040c740
mov rbx, rax
lea rax, [0x00a16860]
call fcn.00438220
mov rax, qword [rsp + 0x148]
mov ebx, 0xa
call fcn.0047f940
mov ecx, 0x18
mov rdi, rax
mov rsi, rbx
lea r8, [0x00acbba6]
mov r9d, 0xc
xor eax, eax
lea rbx, [0x00ad6855]
call fcn.004505e0
call fcn.0040c740
mov rbx, rax
lea rax, [0x00a16860]
call fcn.00438220
mov rax, qword [rsp + 0x148]
mov ebx, 0xa
call fcn.0047f940
mov ecx, 0x18
mov rdi, rax
mov rsi, rbx
lea r8, [0x00acfc3f]
mov r9d, 0x11
xor eax, eax
lea rbx, [0x00ad6855]
call fcn.004505e0
call fcn.0040c740
mov rbx, rax
lea rax, [0x00a16860]
call fcn.00438220
mov ebx, 0xa
call fcn.0047f940
mov ecx, 0x18
mov rdi, rax
mov rsi, rbx
lea r8, [0x00acbb9a]
mov r9d, 0xc
xor eax, eax
lea rbx, [0x00ad6855]
call fcn.004505e0
call fcn.0040c740
mov rbx, rax
lea rax, [0x00a16860]
call fcn.00438220
nop
call fcn.00437440
mov rax, qword [rsp + 0x3e8]
mov rbx, qword [rsp + 0x3f0]
mov rbp, qword [rsp + 0x738]
add rsp, 0x740
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
nop
call fcn.00466260
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00495040