Function at 0x49ab80
Capabilities:
Hash data using fnv

Disassembly:
lea r12, [rsp - 0x6c0]
cmp r12, qword [r14 + 0x10]
jbe 0x49d42f
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 0x49abf9
movzx edi, byte [rsp + rsi + 0x1b8]
inc rsi
imul ecx, ecx, 0x1000193
xor ecx, edi
cmp rsi, 8
jl 0x49abe6
mov qword [rsp + 0x748], rax
mov qword [rsp + 0x750], rbx
mov dword [rsp + 0x70], ecx
lea rax, [0x009bc8c0]
mov rcx, rbx
nop dword [rax]
call fcn.0044f2c0
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.0046e179
mov rbp, qword [rbp]
lea rdx, [rsp + 0x568]
mov qword [rsp + 0x490], rdx
call fcn.00454620
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 0x49ad93
mov rcx, qword [rsp + 0x3c8]
add rcx, 0x68
lea r8, [r10 + 1]
movzx r10d, byte [rsp + 0x6d]
mov r12, 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 r12, qword [rsp + 0x340]
mov r15d, esi
mov byte [rsp + 0x6e], r11b
mov rcx, qword [rsp + 0x750]
mov r11, rax
mov esi, ebx
mov rax, r8
mov rbx, r13
mov r8, qword [rsp + 0x118]
mov r13, qword [rsp + 0xf0]
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 0x49b845
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.0046e4ec
mov rbp, qword [rbp]
mov r15, qword [rsp + 0x508]
mov rsi, rdx
mov rdx, qword [rsp + 0x500]
test r15, r15
je 0x49d3c5
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.0049aa60
nop word [rax + rax]
test al, al
je 0x49d379
cmp qword [rsp + 0x520], 0
je 0x49d32d
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.0046e4ec
mov rbp, qword [rbp]
call fcn.0049db20
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 0x49af4e
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x49af5e
mov qword [rsp + 0x1b0], rsi
mov qword [rsp + 0x3b8], rdi
cmp rsi, rcx
jne 0x49d2d9
mov rax, qword [rsp + 0x348]
mov rbx, rdi
call fcn.00403500
test al, al
je 0x49d2d9
movzx eax, byte [rsp + 0x6d]
mov rbx, qword [rsp + 0x3c0]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x348]
jmp 0x49af5e
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.00493620
mov qword [rsp + 0x350], rax
mov qword [rsp + 0x110], rbx
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x2a0]
call fcn.00453780
mov ecx, dword [rsp + 0x74]
xor edx, edx
jmp 0x49c7c0
mov dword [rsp + 0x74], ecx
lea rax, [rsp + 0x280]
lea rbx, [0x00af2688]
mov ecx, 1
mov rdi, qword [rsp + 0x350]
mov rsi, qword [rsp + 0x110]
call fcn.004531e0
mov rdx, qword [rsp + 0xf0]
lea r8, [rdx + rbx]
mov rcx, qword [rsp + 0xf8]
cmp rcx, r8
jb 0x49aff9
mov rsi, qword [rsp + 0x340]
jmp 0x49b043
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x340]
mov rdi, rbx
lea rsi, [0x0095e800]
mov rbx, r8
nop
call fcn.0044f3a0
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.0046e860
mov rdx, qword [rsp + 0x448]
movzx edx, byte [rdx]
nop dword [rax]
test dl, 8
je 0x49b350
mov rsi, qword [rsp + 0x450]
movzx esi, byte [rsi + 0x17]
and esi, 0x1f
cmp rsi, 0x16
jne 0x49b0d4
mov rax, qword [rsp + 0x3c0]
call fcn.00494e80
mov rcx, qword [rax + 0x98]
mov rax, rbx
call rcx
nop word [rax + rax]
cmp rax, 0x16
je 0x49d29c
cmp rax, 0x14
je 0x49d29c
mov rsi, qword [rsp + 0x450]
movzx esi, byte [rsi + 0x17]
and esi, 0x1f
cmp rsi, 0x14
je 0x49b311
cmp rsi, 0x16
jne 0x49b1f6
mov rax, qword [rsp + 0x3c0]
movzx esi, byte [rax + 0x14]
test sil, 1
jne 0x49b10d
xor esi, esi
jmp 0x49b160
movzx esi, byte [rax + 0x17]
and esi, 0x1f
add rsi, 0xffffffffffffffef
cmp rsi, 8
ja 0x49b15a
lea rcx, [0x00afafc0]
jmp qword [rcx + rsi*8]
lea rsi, [rax + 0x30]
nop
test rsi, rsi
je 0x49b1d9
mov r8, qword [rsp + 0x148]
test r8, r8
jle 0x49b17d
cmp word [rsi + 4], 0
ja 0x49d289
mov r9, qword [rsp + 0x750]
cmp r9, 1
jg 0x49d276
movzx edx, word [rsi + 4]
test dx, dx
jne 0x49b19e
xor edx, edx
xor esi, esi
jmp 0x49b1b2
mov r10d, dword [rsi + 8]
add rsi, r10
cmp rdx, 0x10000
ja 0x49d26c
mov qword [rsp + 0xb8], rdx
xor ecx, ecx
mov rbx, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x358]
mov r10, qword [rsp + 0x118]
jmp 0x49d120
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x358]
jmp 0x49ce3c
mov rax, qword [rsp + 0x3c0]
movzx esi, byte [rax + 0x14]
test sil, 1
je 0x49b25a
movzx esi, byte [rax + 0x17]
and esi, 0x1f
add rsi, 0xffffffffffffffef
cmp rsi, 8
ja 0x49b254
lea rcx, [0x00afaf60]
jmp qword [rcx + rsi*8]
lea rsi, [rax + 0x30]
jmp 0x49b260
xor esi, esi
nop dword [rax]
test rsi, rsi
je 0x49b2f4
mov r8, qword [rsp + 0x148]
test r8, r8
jle 0x49b286
cmp word [rsi + 4], 0
nop dword [rax + rax]
ja 0x49ce29
mov r9, qword [rsp + 0x750]
cmp r9, 1
jle 0x49b2aa
movzx r10d, byte [rax + 0x17]
nop dword [rax]
test r10b, 0x20
jne 0x49ce16
movzx edx, word [rsi + 4]
test dx, dx
jne 0x49b2b9
xor edx, edx
xor esi, esi
jmp 0x49b2cd
mov r10d, dword [rsi + 8]
add rsi, r10
cmp rdx, 0x10000
ja 0x49ce0c
mov qword [rsp + 0xa8], rdx
xor ecx, ecx
mov rbx, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x358]
mov r10, qword [rsp + 0x118]
jmp 0x49ccc0
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x358]
jmp 0x49cc38
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 0x49c8c5
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, [0x00981920]
mov rcx, qword [rsp + 0x350]
nop
call fcn.00413be0
test bl, bl
je 0x49b3cd
mov rdi, qword [rsp + 0x110]
cmp rdi, 1
jne 0x49c859
mov rcx, qword [rsp + 0x350]
cmp byte [rcx], 0x5f
je 0x49b3dd
jmp 0x49c82b
mov rcx, qword [rsp + 0x350]
mov rdi, qword [rsp + 0x110]
lea rax, [0x00981920]
lea rbx, [rsp + 0x480]
call fcn.00414000
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 0x49c7e0
mov dword [rsp + 0x74], edx
call fcn.00493f00
mov ecx, 1
mov rdi, rax
mov rsi, rbx
lea rax, [rsp + 0x260]
lea rbx, [0x00af2688]
call fcn.004531e0
mov rcx, qword [rsp + 0xf0]
lea rdx, [rcx + rbx]
mov rsi, qword [rsp + 0xf8]
cmp rsi, rdx
jb 0x49b490
mov rdi, qword [rsp + 0x340]
jmp 0x49b4de
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x340]
mov rcx, rsi
mov rdi, rbx
lea rsi, [0x0095e800]
mov rbx, rdx
call fcn.0044f3a0
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.0046e860
mov rax, qword [rsp + 0x448]
movzx edx, byte [rax]
test dl, 2
jne 0x49b539
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0xf0]
mov ebx, dword [rsp + 0x74]
jmp 0x49b6c1
call fcn.00493700
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x240]
call fcn.00453780
mov ecx, dword [rsp + 0x74]
xor edx, edx
jmp 0x49c7fa
mov dword [rsp + 0x74], ecx
mov rax, qword [rsp + 0x448]
call fcn.00493700
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, [0x0095e800]
xor ebx, ebx
call fcn.0044f2c0
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.00485d80
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x220]
nop
call fcn.00453580
mov ecx, 1
mov rdi, rax
mov rsi, rbx
lea rax, [rsp + 0x200]
lea rbx, [0x00af2688]
nop
call fcn.004531e0
mov rcx, qword [rsp + 0xf0]
lea rdx, [rcx + rbx]
mov rsi, qword [rsp + 0xf8]
cmp rsi, rdx
jb 0x49b628
mov rdi, qword [rsp + 0x340]
jmp 0x49b676
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x340]
mov rcx, rsi
mov rdi, rbx
lea rsi, [0x0095e800]
mov rbx, rdx
call fcn.0044f3a0
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.0046e860
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 0x49b731
inc rdx
nop dword [rax]
cmp rax, rdx
jae 0x49b72c
mov dword [rsp + 0x98], ebx
mov rbx, rdx
mov edi, 1
lea rsi, [0x0095e800]
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.0044f3a0
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 0x49b74f
mov r9, qword [rsp + 0x3c0]
cmp qword [r9 + 0x18], 0
setne r11b
jmp 0x49b75a
mov r9, qword [rsp + 0x3c0]
xor r11d, r11d
movzx r12d, byte [r9 + 0x15]
mov r13, qword [rsp + 0xe0]
lea r15, [r13 + r12]
lea r15, [r15 - 1]
mov esi, r12d
neg r12
and r12, r15
nop dword [rax]
cmp r13, r12
ja 0x49c818
movzx r13d, byte [rsp + 0x6c]
cmp r13b, sil
jb 0x49b797
mov esi, r13d
mov r13, qword [r9]
add r13, r12
nop dword [rax]
cmp r12, r13
ja 0x49c805
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0x340], rcx
mov qword [rsp + 0x458], r12
cmp qword [r9], 0
mov r9, qword [rsp + 0x128]
cmove r9, r13
lea r15, [r10 + r10*2]
mov rdi, r8
mov r8, qword [rsp + 0x448]
mov rcx, qword [rsp + 0x450]
mov rdx, qword [rsp + 0x3d0]
mov qword [rdx + r15*8 + 0x10], r12
lea r12, [rdx + r15*8]
mov qword [rsp + 0x380], r12
lea r12, [rdx + r15*8]
lea r12, [r12 + 8]
cmp dword [0x00ecfe30], 0
jne 0x49b825
mov qword [rdx + r15*8], r8
mov qword [rdx + r15*8 + 8], rcx
nop dword [rax]
jmp 0x49ad24
mov r15, rdi
mov rdi, qword [rsp + 0x380]
call fcn.0046db60
mov rdi, r12
call fcn.0046dae0
mov rdi, r15
jmp 0x49ad24
test rbx, rbx
jbe 0x49b85c
cmp rdi, rbx
jne 0x49b85c
cmp rbx, 0xffffffffffffffff
je 0x49c797
inc rbx
mov qword [rsp + 0xe0], rbx
test r8, r8
jne 0x49b87e
lea rax, [0x009aa2a0]
call fcn.0040e780
lea rcx, [rax + 0x50]
jmp 0x49bb4d
lea rdi, [rsp + 0x4b0]
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046e190
mov rbp, qword [rbp]
lea rax, [0x009bc980]
lea rbx, [rsp + 0x4b0]
call fcn.0040bb60
lea rcx, [0x009bc980]
mov qword [rsp + 0x428], rcx
mov qword [rsp + 0x430], rax
mov rcx, qword [rsp + 0x428]
test rcx, rcx
je 0x49b8de
lea rax, [0x00aff3e8]
jmp 0x49b8e2
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, [0x009db280]
call fcn.0040bbe0
lea rcx, [0x009db280]
mov qword [rsp + 0x418], rcx
mov qword [rsp + 0x420], rax
mov rcx, qword [rsp + 0x418]
test rcx, rcx
je 0x49b93c
lea rax, [0x00aff3e8]
jmp 0x49b940
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x300], rcx
mov qword [rsp + 0xc0], rax
mov rbx, qword [rsp + 0x358]
lea rax, [0x009d1180]
nop
call fcn.0040bbe0
lea rcx, [0x009d1180]
mov qword [rsp + 0x408], rcx
mov qword [rsp + 0x410], rax
mov rcx, qword [rsp + 0x408]
test rcx, rcx
je 0x49b992
lea rax, [0x00aff3e8]
jmp 0x49b996
xor eax, eax
xor ecx, ecx
mov rbx, rax
mov rax, qword [rsp + 0x118]
call fcn.0049de60
mov rdx, qword [0x00aff620]
mov qword [rsp + 0x5f8], rdx
lea rdi, [rsp + 0x600]
lea rsi, [0x00aff628]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046e436
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.0049ab80
nop dword [rax]
call fcn.004aba20
mov qword [rsp + 0x3c0], rax
mov qword [rsp + 0x3c8], rbx
mov qword [rsp + 0x1a8], rcx
nop dword [rax]
call fcn.004a49e0
xor edi, edi
call fcn.004a4bc0
call fcn.0049fe60
call fcn.004aa980
mov qword [rsp + 0x3b0], rax
mov rbx, qword [rsp + 0x3c8]
mov rcx, qword [rsp + 0x1a8]
mov rax, qword [rsp + 0x3c0]
call fcn.004a49e0
mov edi, 1
call fcn.004a4bc0
call fcn.0049fe60
call fcn.004aa980
mov qword [rsp + 0x3a8], rax
mov rbx, qword [rsp + 0x3c8]
mov rcx, qword [rsp + 0x1a8]
mov rax, qword [rsp + 0x3c0]
call fcn.004a49e0
mov edi, 2
call fcn.004a4bc0
xor edi, edi
mov rsi, qword [rsp + 0x118]
call fcn.004a9d20
mov edi, 1
call fcn.004a5c00
lea rdx, [0x00956f40]
nop
cmp rax, rdx
jne 0x49c788
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 0x49bb3d
shl rcx, 4
call fcn.0046e860
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 0x49bbd6
mov rbx, qword [rsp + 0xf0]
inc rbx
mov rcx, qword [rsp + 0xf8]
cmp rcx, rbx
jb 0x49bb9b
mov rsi, qword [rsp + 0x340]
jmp 0x49bbcf
mov rax, qword [rsp + 0x340]
mov edi, 1
lea rsi, [0x0095e800]
call fcn.0044f3a0
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 0x49bbee
mov rcx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x340]
mov rbx, qword [rsp + 0xf0]
inc rbx
cmp rcx, rbx
jae 0x49bc25
mov rax, rsi
mov edi, 1
lea rsi, [0x0095e800]
call fcn.0044f3a0
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 0x49bc40
imul edi, edi, 0x1000193
xor edi, 0x7d
mov ecx, 1
cmp rcx, 1
jl 0x49bc32
mov dword [rsp + 0x74], edi
lea rax, [rsp + 0x1e0]
mov rcx, rbx
mov rbx, rsi
call fcn.00453580
movzx edx, byte [rsp + 0x6c]
movzx esi, dl
mov rdi, qword [rsp + 0xe0]
lea r8, [rdi + rsi]
lea r8, [r8 - 1]
neg rsi
and rsi, r8
nop dword [rax + rax]
cmp rdi, rsi
ja 0x49c775
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0x330], rax
mov qword [rsp + 0xd8], rbx
lea r9, [0x00975020]
mov qword [rsp + 0x3f8], r9
lea r9, [0x00ecfb00]
mov qword [rsp + 0x400], r9
mov rdi, qword [rsp + 0x310]
test byte [rdi], al
mov rcx, qword [rsp + 0x3f8]
test byte [rcx], al
cmp dword [0x00ecfe30], 0
jne 0x49bcf7
mov r8, rsi
mov rsi, rcx
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046e4fa
mov rbp, qword [rbp]
jmp 0x49bd23
lea rax, [0x009bc980]
mov rbx, rdi
call fcn.00414c60
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 [0x00ecfe30], 0
jne 0x49bd52
mov r10, qword [rsp + 0x3d0]
mov qword [rdi + 0x38], r10
jmp 0x49bd7a
lea r10, [rdi + 0x38]
mov rcx, rdi
mov rdi, r10
mov rsi, r9
mov r9, qword [rsp + 0x3d0]
call fcn.0046db80
mov rdi, rcx
mov r9, rsi
mov r10, qword [rsp + 0x3d0]
mov r11, qword [rsp + 0x100]
test r11, r11
je 0x49bdd6
mov rax, qword [rsp + 0x348]
mov rbx, r11
xor ecx, ecx
xor edi, edi
xor esi, esi
mov r8d, esi
nop dword [rax + rax]
call fcn.004939a0
cmp dword [0x00ecfe30], 0
jne 0x49bdbc
mov rdx, qword [rsp + 0x310]
mov qword [rdx + 0x30], rax
jmp 0x49bdd6
mov rdi, qword [rsp + 0x310]
lea rdx, [rdi + 0x30]
mov rcx, rdi
mov rdi, rdx
call fcn.0046d9e0
mov rdx, rcx
mov edx, dword [rsp + 0x74]
mov dword [rsp + 0xa0], edx
lea rax, [0x00e789e8]
lea rbx, [0x0095e780]
lea rcx, [rsp + 0xa0]
call fcn.00488140
nop dword [rax]
test cl, cl
je 0x49be2a
lea rdx, [0x00956e80]
cmp rax, rdx
jne 0x49c766
mov rsi, qword [rbx]
mov rdi, qword [rbx + 8]
mov qword [rsp + 0x1b0], rdi
xor eax, eax
jmp 0x49c6e5
nop
xor eax, eax
lea rdx, [0x00e789e0]
mov esi, 1
lock cmpxchg dword [rdx], esi
sete dl
test dl, dl
jne 0x49be50
lea rax, [0x00e789e0]
call fcn.00489460
movups xmmword [rsp + 0x438], xmm15
lea rdx, [0x0049d6e0]
mov qword [rsp + 0x438], rdx
lea rdx, [0x00e789e0]
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, [0x00e789e8]
lea rbx, [0x0095e780]
lea rcx, [rsp + 0x9c]
call fcn.00488140
test cl, cl
je 0x49bedf
lea rdx, [0x00956e80]
nop dword [rax]
cmp rax, rdx
jne 0x49c6b0
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
mov qword [rsp + 0x1b0], rdx
xor eax, eax
jmp 0x49c615
mov qword [rsp + 0x1c0], 0
mov dword [rsp + 0x1c8], 0
lea rcx, [0x0049d540]
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.004987a0
mov qword [rsp + 0x3a0], rax
mov qword [rsp + 0x1b0], rbx
xor ecx, ecx
jmp 0x49bf54
mov rcx, qword [rsp + 0x1a0]
inc rcx
mov rax, qword [rsp + 0x3a0]
mov rbx, qword [rsp + 0x1b0]
cmp rbx, rcx
jle 0x49bfec
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.00498040
test al, al
je 0x49bf39
mov rcx, qword [rsp + 0x1c0]
lea rax, [0x00aff3e8]
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.004939a0
call fcn.004686e0
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.0049dd60
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 0x49c06f
movzx edx, byte [rcx + 0x14]
or edx, 1
mov byte [rcx + 0x14], dl
movzx edx, byte [rsp + 0x6d]
test dl, dl
je 0x49c094
mov rdx, qword [rsp + 0x3d0]
mov rbx, rdx
mov rsi, qword [rsp + 0x750]
xor eax, eax
xor edi, edi
jmp 0x49c260
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.0049f1e0
mov rdx, qword [rsp + 0x468]
cmp qword [rsp + 0x470], 0
nop
je 0x49c115
cmp dword [0x00ecfe30], 0
jne 0x49c0f9
mov rdi, qword [rsp + 0x310]
mov qword [rdi + 0x20], rdx
jmp 0x49c11d
mov rdi, qword [rsp + 0x310]
lea rcx, [rdi + 0x20]
mov rax, rdi
mov rdi, rcx
call fcn.0046db00
mov rdi, rax
jmp 0x49c11d
mov rdi, qword [rsp + 0x310]
lea rcx, [rdi + 0x18]
cmp dword [0x00ecfe30], 0
jne 0x49c134
mov qword [rdi + 0x18], 0
jmp 0x49c148
mov rax, rdi
mov rdi, rcx
xor esi, esi
nop dword [rax]
call fcn.0046db40
mov rdi, rax
movzx esi, byte [rsp + 0x6e]
test sil, sil
je 0x49c1ac
mov qword [rsp + 0x398], rcx
lea rax, [0x0099de80]
call fcn.0040e780
lea rcx, [0x0049d460]
mov qword [rax], rcx
cmp dword [0x00ecfe30], 0
jne 0x49c18b
mov rbx, qword [rsp + 0x310]
mov qword [rax + 8], rbx
mov qword [rbx + 0x18], rax
jmp 0x49c1a9
lea rdi, [rax + 8]
mov rbx, qword [rsp + 0x310]
call fcn.0046db20
mov rdi, qword [rsp + 0x398]
call fcn.0046d9e0
mov rdi, rbx
mov rcx, qword [rsp + 0x750]
cmp rcx, 1
jne 0x49c1db
mov rcx, qword [rsp + 0x3d0]
mov rcx, qword [rcx + 8]
movzx ecx, byte [rcx + 0x17]
test cl, 0x20
je 0x49c1db
movzx ecx, byte [rdi + 0x17]
or ecx, 0x20
mov byte [rdi + 0x17], cl
jmp 0x49c1e5
movzx ecx, byte [rdi + 0x17]
and ecx, 0xffffffdf
mov byte [rdi + 0x17], cl
mov rcx, qword [rsp + 0x1c0]
lea rax, [0x00aff3e8]
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 0x49c244
mov qword [rsp + 0x130], rdi
lea rax, [0x00962860]
call fcn.0040e780
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 0x49c2ae
add rcx, 0x18
inc rdi
cmp rbx, rdi
jle 0x49c407
mov r11, qword [rcx + 8]
mov r12, qword [rcx + 0x10]
nop
cmp rsi, rdi
jl 0x49c407
cmp qword [r11 + 8], 0
je 0x49c2a7
mov qword [rsp + 0x3c0], r11
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x3c8], rcx
cmp r8, r12
jae 0x49c490
mov qword [rsp + 0x198], r12
mov r13, r12
sub r12, r8
lea r8, [r10 + 2]
cmp r9, r8
jae 0x49c36d
mov qword [rsp + 0x190], r12
mov rbx, r8
mov rcx, r9
mov edi, 2
lea rsi, [0x0095e800]
call fcn.0044f3a0
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 0x49c4ed
inc r8
cmp r9, r8
jae 0x49c3f7
mov qword [rsp + 0x190], r12
mov rbx, r8
mov rcx, r9
mov edi, 1
lea rsi, [0x0095e800]
call fcn.0044f3a0
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 0x49c509
lea r8, [r10 + 1]
cmp r9, r8
jae 0x49c43a
mov rbx, r8
mov rcx, r9
mov edi, 1
lea rsi, [0x0095e800]
call fcn.0044f3a0
mov rdx, qword [rsp + 0x3d0]
mov r8, rbx
mov rbx, qword [rsp + 0x750]
mov byte [r8 + rax - 1], 0
test r8, r8
jbe 0x49c486
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 [0x00ecfe30], 0
jne 0x49c46f
mov qword [rdi + 0x20], rax
jmp 0x49c11d
lea rcx, [rdi + 0x20]
mov rsi, rdi
mov rdi, rcx
call fcn.0046d9e0
mov rdi, rsi
jmp 0x49c11d
xor eax, eax
mov rcx, rax
call fcn.0046de80
mov qword [rsp + 0x108], r8
mov rbx, r10
mov rcx, r9
mov rdi, r11
call fcn.0049a320
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 0x49c2a7
mov r10, r8
mov r8, r13
jmp 0x49c490
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 0x49c587
inc r8
nop dword [rax]
cmp r9, r8
jae 0x49c4f5
mov rbx, r8
mov rcx, r9
mov edi, 1
lea rsi, [0x0095e800]
call fcn.0044f3a0
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 0x49c4f5
inc r8
cmp r9, r8
jae 0x49c5ec
mov rbx, r8
mov rcx, r9
mov edi, 1
lea rsi, [0x0095e800]
call fcn.0044f3a0
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 0x49c4ed
mov rcx, qword [rsp + 0x3c8]
add rcx, 0x10
mov rax, qword [rsp + 0x1a0]
inc rax
mov rdx, qword [rsp + 0x1b0]
cmp rax, rdx
jge 0x49bedf
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.00498040
test al, al
je 0x49c5f6
lea rax, [0x00aff3e8]
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, [0x009744e0]
call fcn.0040b9a0
mov rsi, qword [rsp + 0x3c8]
add rsi, 0x10
mov rax, qword [rsp + 0x1a0]
inc rax
lea rdx, [0x00956e80]
mov rdi, qword [rsp + 0x1b0]
cmp rax, rdi
jge 0x49be2a
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.00498040
test al, al
je 0x49c6bf
lea rcx, [0x00aff3e8]
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, [0x009744e0]
call fcn.0040b9a0
lea rax, [0x0095e580]
lea rbx, [0x00af3fb0]
call fcn.004397c0
mov rbx, rdx
lea rcx, [0x009744e0]
call fcn.0040b9a0
lea rax, [0x0095e580]
lea rbx, [0x00af3fb0]
call fcn.004397c0
movzx r8d, byte [rax + rdx]
inc rdx
imul ecx, ecx, 0x1000193
xor ecx, r8d
nop dword [rax + rax]
cmp rbx, rdx
jg 0x49c7aa
jmp 0x49afa9
movzx ebx, byte [rsp + rcx + 0xa4]
inc rcx
imul edx, edx, 0x1000193
xor edx, ebx
nop dword [rax]
cmp rcx, 4
jl 0x49c7ca
jmp 0x49b445
movzx esi, byte [rax + rdx]
inc rdx
imul ecx, ecx, 0x1000193
xor ecx, esi
cmp rbx, rdx
jg 0x49c7eb
nop
jmp 0x49b55c
lea rax, [0x0095e580]
lea rbx, [0x00af3fb0]
call fcn.004397c0
lea rax, [0x0095e580]
lea rbx, [0x00af3fb0]
call fcn.004397c0
xor eax, eax
lea rbx, [0x00a2dbbf]
mov rsi, rdi
mov rdi, rcx
mov ecx, 0x22
nop
call fcn.004531e0
call fcn.0040bde0
mov rbx, rax
lea rax, [0x0095e580]
call fcn.004397c0
mov rcx, qword [rsp + 0x350]
jmp 0x49c82b
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 0x49cc14
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.004685a0
call fcn.00493840
test rbx, rbx
jne 0x49cc25
nop
mov rax, qword [rsp + 0x3c0]
mov ebx, dword [rsp + 0x90]
call fcn.004685e0
mov qword [rsp + 0x3b0], rax
lea rax, [0x00a10ce0]
call fcn.0040e780
mov qword [rsp + 0x3e0], rax
lea rax, [0x00a10ce0]
call fcn.0040e780
mov qword [rsp + 0x3d8], rax
mov rcx, qword [rsp + 0x3c0]
movzx edx, byte [rcx + 0x17]
test dl, 0x20
je 0x49ca6d
lea rax, [0x009b25a0]
call fcn.0040e780
lea rcx, [0x0049da40]
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, [0x00aff3e8]
mov rbx, qword [rsp + 0x3b0]
mov rcx, rsi
call fcn.00493040
mov rdi, qword [rsp + 0x3d8]
mov qword [rdi + 0x10], rcx
cmp dword [0x00ecfe30], 0
jne 0x49c9d6
mov qword [rdi], rax
mov qword [rdi + 8], rbx
jmp 0x49c9e7
call fcn.0046d9e0
lea rcx, [rdi + 8]
mov rdi, rcx
call fcn.0046db20
lea rax, [0x009b25a0]
call fcn.0040e780
lea rcx, [0x0049d960]
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, [0x00aff3e8]
mov rbx, qword [rsp + 0x3b0]
mov rcx, rsi
call fcn.00493040
mov rdi, qword [rsp + 0x3e0]
mov qword [rdi + 0x10], rcx
cmp dword [0x00ecfe30], 0
jne 0x49ca50
mov qword [rdi], rax
mov qword [rdi + 8], rbx
jmp 0x49cb62
call fcn.0046d9e0
lea rcx, [rdi + 8]
mov rax, rdi
mov rdi, rcx
nop
call fcn.0046db20
mov rdi, rax
jmp 0x49cb62
lea rax, [0x009b25a0]
call fcn.0040e780
lea rcx, [0x0049d880]
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, [0x00aff3e8]
mov rbx, qword [rsp + 0x3b0]
mov rcx, rsi
call fcn.00493040
mov rdi, qword [rsp + 0x3d8]
mov qword [rdi + 0x10], rcx
cmp dword [0x00ecfe30], 0
jne 0x49cad3
mov qword [rdi], rax
mov qword [rdi + 8], rbx
jmp 0x49cae5
call fcn.0046d9e0
lea rcx, [rdi + 8]
mov rdi, rcx
nop
call fcn.0046db20
lea rax, [0x009b25a0]
call fcn.0040e780
lea rcx, [0x0049d740]
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, [0x00aff3e8]
mov rbx, qword [rsp + 0x3b0]
mov rcx, rsi
call fcn.00493040
mov rdi, qword [rsp + 0x3e0]
mov qword [rdi + 0x10], rcx
cmp dword [0x00ecfe30], 0
jne 0x49cb4b
mov qword [rdi], rax
mov qword [rdi + 8], rbx
jmp 0x49cb62
call fcn.0046d9e0
lea rcx, [rdi + 8]
mov rax, rdi
mov rdi, rcx
call fcn.0046db20
mov rdi, rax
nop
mov rax, qword [rsp + 0x3c0]
mov ebx, dword [rsp + 0x94]
call fcn.004685a0
nop
call fcn.004686e0
mov dword [rsp + 0x8c], eax
nop
mov rax, qword [rsp + 0x3b0]
call fcn.004686e0
mov dword [rsp + 0x88], eax
nop
mov rax, qword [rsp + 0x3e0]
call fcn.004686e0
mov dword [rsp + 0x84], eax
nop
mov rax, qword [rsp + 0x3d8]
call fcn.004686e0
mov rbx, qword [rsp + 0x180]
inc rbx
mov rcx, qword [rsp + 0x188]
cmp rcx, rbx
jb 0x49cbe5
mov rdx, qword [rsp + 0x378]
nop dword [rax]
jmp 0x49c863
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x378]
mov edi, 1
lea rsi, [0x009d1180]
call fcn.0044f3a0
mov rdx, rax
mov eax, dword [rsp + 0x80]
jmp 0x49c863
mov rax, rbx
mov rcx, r8
mov rdx, rdi
nop dword [rax]
jmp 0x49b368
lea rax, [0x0095e580]
lea rbx, [0x00af3f60]
call fcn.004397c0
mov r8, rdx
mov rdi, rbx
mov rbx, rcx
jmp 0x49cc14
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 0x49cdeb
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.004685a0
mov qword [rsp + 0x3a8], rax
call fcn.00493840
nop
test rbx, rbx
jne 0x49cdf9
nop
mov rax, qword [rsp + 0x3a8]
call fcn.004686e0
mov dword [rsp + 0x8c], eax
nop
mov ebx, dword [rsp + 0x90]
mov rax, qword [rsp + 0x3c0]
call fcn.004685e0
nop
call fcn.004686e0
mov dword [rsp + 0x88], eax
nop
mov ebx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0x3c0]
call fcn.00468620
nop
call fcn.004686e0
mov dword [rsp + 0x84], eax
nop
mov ebx, dword [rsp + 0x78]
mov rax, qword [rsp + 0x3c0]
call fcn.00468620
nop
call fcn.004686e0
mov rbx, qword [rsp + 0x170]
inc rbx
mov rcx, qword [rsp + 0x178]
cmp rcx, rbx
jb 0x49cdbc
mov rdx, qword [rsp + 0x370]
jmp 0x49cc43
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x370]
mov edi, 1
lea rsi, [0x009d1180]
call fcn.0044f3a0
mov rdx, rax
mov eax, dword [rsp + 0x80]
jmp 0x49cc43
mov rcx, rbx
mov rdx, r10
mov rbx, rdi
jmp 0x49cc38
lea rax, [0x0095e580]
lea rbx, [0x00af3f60]
call fcn.004397c0
mov ebx, 0x10000
call fcn.0046df80
lea rax, [0x0095e580]
lea rbx, [0x00af3f90]
call fcn.004397c0
lea rax, [0x0095e580]
lea rbx, [0x00af3f70]
call fcn.004397c0
mov rsi, qword [rax + 0x30]
movzx r8d, byte [rsi + 0x14]
test r8b, 1
je 0x49cea2
movzx r8d, byte [rsi + 0x17]
and r8d, 0x1f
add r8, 0xffffffffffffffef
cmp r8, 8
ja 0x49ce9a
lea rdi, [0x00afaf00]
jmp qword [rdi + r8*8]
add rsi, 0x30
nop
jmp 0x49cea4
xor esi, esi
test rsi, rsi
je 0x49cedb
movzx r8d, word [rsi + 4]
test r8w, r8w
jne 0x49cebb
xor r8d, r8d
xor esi, esi
jmp 0x49cecf
mov r9d, dword [rsi + 8]
add rsi, r9
cmp r8, 0x10000
ja 0x49d098
mov qword [rsp + 0xb0], r8
xor edi, edi
jmp 0x49cf4c
mov r8, rdx
mov rdi, rbx
mov rbx, rcx
jmp 0x49cc14
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 0x49cedb
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.004685a0
mov qword [rsp + 0x3a8], rax
call fcn.00493840
test rbx, rbx
jne 0x49d085
nop
mov rax, qword [rsp + 0x3a8]
call fcn.004686e0
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.004685e0
nop
call fcn.004686e0
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.00468620
call fcn.004686e0
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.00468620
call fcn.004686e0
mov rbx, qword [rsp + 0x160]
inc rbx
mov rcx, qword [rsp + 0x168]
cmp rcx, rbx
jb 0x49d053
mov rdx, qword [rsp + 0x368]
jmp 0x49cee9
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x368]
mov edi, 1
lea rsi, [0x009d1180]
call fcn.0044f3a0
mov rdx, rax
mov eax, dword [rsp + 0x80]
nop dword [rax]
jmp 0x49cee9
lea rax, [0x0095e580]
lea rbx, [0x00af3f60]
call fcn.004397c0
mov edx, r8d
mov ebx, 0x10000
call fcn.0046df80
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 0x49d24b
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.004685a0
mov qword [rsp + 0x3a8], rax
call fcn.00493840
nop
test rbx, rbx
jne 0x49d259
nop
mov rax, qword [rsp + 0x3a8]
call fcn.004686e0
mov dword [rsp + 0x8c], eax
nop
mov ebx, dword [rsp + 0x90]
mov rax, qword [rsp + 0x3c0]
call fcn.004685e0
nop
call fcn.004686e0
mov dword [rsp + 0x88], eax
nop
mov ebx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0x3c0]
call fcn.00468620
nop
call fcn.004686e0
mov dword [rsp + 0x84], eax
nop
mov ebx, dword [rsp + 0x78]
mov rax, qword [rsp + 0x3c0]
call fcn.00468620
nop
call fcn.004686e0
mov rbx, qword [rsp + 0x150]
inc rbx
mov rcx, qword [rsp + 0x158]
cmp rcx, rbx
jb 0x49d21c
mov rdx, qword [rsp + 0x360]
jmp 0x49d0a5
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x360]
mov edi, 1
lea rsi, [0x009d1180]
call fcn.0044f3a0
mov rdx, rax
mov eax, dword [rsp + 0x80]
jmp 0x49d0a5
mov rcx, rbx
mov rdx, r10
mov rbx, rdi
jmp 0x49ce3c
lea rax, [0x0095e580]
lea rbx, [0x00af3f60]
call fcn.004397c0
mov ebx, 0x10000
call fcn.0046df80
lea rax, [0x0095e580]
lea rbx, [0x00af3f80]
call fcn.004397c0
lea rax, [0x0095e580]
lea rbx, [0x00af3f70]
call fcn.004397c0
mov rax, qword [rsp + 0x3c0]
call fcn.00493f00
mov ecx, 0x2e
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x00a35cf4]
nop dword [rax]
call fcn.004531e0
call fcn.0040bde0
mov rbx, rax
lea rax, [0x0095e580]
call fcn.004397c0
xor eax, eax
lea rbx, [0x00a35cc6]
mov ecx, 0x2e
mov rdi, qword [rsp + 0x348]
mov rsi, qword [rsp + 0x100]
lea r8, [0x00a12b48]
mov r9d, 5
mov r10, qword [rsp + 0x3b8]
mov r11, qword [rsp + 0x1b0]
call fcn.00453360
call fcn.0040bde0
mov rbx, rax
lea rax, [0x0095e580]
call fcn.004397c0
mov rax, qword [rsp + 0x148]
mov ebx, 0xa
call fcn.00485440
mov ecx, 0x18
mov rdi, rax
mov rsi, rbx
lea r8, [0x00a1907a]
mov r9d, 0xc
xor eax, eax
lea rbx, [0x00a249e0]
call fcn.00453280
call fcn.0040bde0
mov rbx, rax
lea rax, [0x0095e580]
call fcn.004397c0
mov rax, qword [rsp + 0x148]
mov ebx, 0xa
call fcn.00485440
mov ecx, 0x18
mov rdi, rax
mov rsi, rbx
lea r8, [0x00a1d0fc]
mov r9d, 0x11
xor eax, eax
lea rbx, [0x00a249e0]
call fcn.00453280
call fcn.0040bde0
mov rbx, rax
lea rax, [0x0095e580]
call fcn.004397c0
mov ebx, 0xa
call fcn.00485440
mov ecx, 0x18
mov rdi, rax
mov rsi, rbx
lea r8, [0x00a1906e]
mov r9d, 0xc
xor eax, eax
lea rbx, [0x00a249e0]
call fcn.00453280
call fcn.0040bde0
mov rbx, rax
lea rax, [0x0095e580]
call fcn.004397c0
nop
call fcn.00438c60
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.0046b820
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.0049ab80