Function at 0x4a9390
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1f8
movups xmmword [rsp + 0x1e0], xmm6
mov eax, dword [rsp + 0x270]
mov r13, qword [rcx + 0x10]
mov dword [rsp + 0x60], eax
mov rbp, rcx
mov r12, r8
mov word [rsp + 0x70], ax
mov rax, qword [rcx]
mov qword [rsp + 0x248], rdx
mov qword [rsp + 0x258], r9
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
test r9, r9
je 0x4a9436
cmp dword [r9], 0x40
mov eax, 0
cmovl rax, r9
mov qword [rsp + 0x258], rax
mov rax, qword [rsp + 0x248]
mov eax, dword [rax]
mov dword [rsp + 0xb4], eax
cmp eax, 0x40
jg 0x4ad018
test byte [rsp + 0x60], 0x20
je 0x4a98c0
mov dword [rsp + 0xb4], 1
mov edx, 0x440
mov ebx, 0x3d0
mov rdi, qword [rsp + 0xa8]
mov rcx, rdi
call fcn.0042cd60
mov qword [rsp + 0x48], rax
movzx eax, byte [rdi + 0x67]
mov byte [rsp + 0x80], al
test al, al
jne 0x4aae00
mov rsi, qword [rsp + 0x48]
movq xmm0, rbp
mov edx, dword [rsp + 0xb4]
movhps xmm0, qword [rsp + 0x248]
movups xmmword [rsi], xmm0
lea rdi, [rsi + 0x49]
lea r14, [rsi + 0x70]
add rbx, rsi
movq xmm0, qword [rsp + 0x258]
mov byte [rsi + 0x40], dl
and rdi, 0xfffffffffffffff8
mov qword [rsi + 0x28], 0xffffffffffffffff
movhps xmm0, qword [rsp + 0x260]
movups xmmword [rsi + 0x10], xmm0
mov eax, dword [rbp + 0x44]
sub eax, 1
mov dword [rbp + 0x44], eax
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x34], eax
movzx eax, word [rsp + 0x60]
mov word [rsi + 0x3c], ax
movzx eax, word [rsp + 0x278]
mov word [rsi + 0x3e], ax
mov eax, dword [rbp + 0xd0]
mov dword [rsi + 0x38], eax
mov rax, qword [rsp + 0x268]
mov qword [rsi + 0x41], 0
mov qword [rsi + 0x20], rax
mov eax, esi
sub eax, edi
mov qword [rsp + 0x90], r14
lea ecx, [rax + 0x70]
xor eax, eax
mov qword [rsi + 0x68], 0
shr ecx, 3
rep stosq qword [rdi], rax
movsxd rax, edx
lea rcx, [rsi + 0x360]
xor edx, edx
add rax, 1
mov qword [rsp + 0xb8], rcx
lea r8, [rax*8]
mov qword [rsp + 0xa0], rcx
sub r8, rax
shl r8, 4
call sub.msvcrt.dll_memset
xor r10d, r10d
movabs rax, 0xffffff9d00000000
mov r11d, 3
mov qword [rsi + 0x25c], rax
lea rax, [rbx + 0x58]
mov qword [rbx + 0x48], rax
lea rax, [rsi + 0x98]
mov word [rbx + 0x3c], r10w
mov word [rbx + 0x40], r11w
mov dword [rbx + 0x38], 0
mov qword [rsp + 0x150], rbx
mov rbx, r12
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x148], r14
mov qword [rsi + 0x70], rsi
mov byte [rsi + 0x81], 0
mov qword [rsi + 0x78], 0
mov dword [rsi + 0x84], 0
mov qword [rsi + 0x88], 8
mov qword [rsi + 0x90], rax
test r12, r12
je 0x4a9626
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x4a98fb
test eax, 0x80000
je 0x4a98e0
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
test rbx, rbx
jne 0x4a9600
mov rax, qword [rsp + 0x48]
mov r9d, dword [rsp + 0xb4]
mov byte [rax + 0x80], 0x2c
test r9d, r9d
je 0x4a9934
mov rax, qword [rsp + 0x248]
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x68], r13
lea rbx, [rax + 0x28]
nop dword [rax]
mov rsi, qword [rsp + 0x48]
mov edx, dword [rbx + 0x24]
mov rdi, qword [rsp + 0x248]
movsxd rax, dword [rsi + 0x25c]
lea ecx, [rax + 1]
mov dword [rsi + 0x25c], ecx
mov dword [rsi + rax*4 + 0x260], edx
movsxd rax, dword [rsp + 0x50]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
test byte [rdi + rax*8 + 0x48], 4
je 0x4a9890
mov r13, qword [rbx + 0x38]
test r13, r13
je 0x4a9890
mov r8d, dword [r13]
test r8d, r8d
jle 0x4a9890
mov rsi, qword [rbx]
xor edi, edi
xor r12d, r12d
nop dword [rax]
movsx edx, word [rsi + 0x36]
mov r9d, edi
cmp edx, r12d
jle 0x4aade8
movsxd rax, r12d
mov rcx, qword [rsi + 8]
mov r15d, r12d
lea rax, [rax + rax*2]
lea r8, [rax*8]
jmp 0x4a9701
add r15d, 1
add r8, 0x18
cmp r15d, edx
je 0x4aade8
test byte [rcx + r8 + 0x12], 2
je 0x4a96f0
mov rcx, qword [rbp]
mov edx, 0x48
mov qword [rsp + 0x58], r8
call fcn.0042cd60
mov r8, qword [rsp + 0x58]
test rax, rax
mov r14, rax
je 0x4a9890
mov qword [r14], 0
mov ecx, 0xffffffff
lea r12d, [r15 + 1]
mov qword [r14 + 0x28], 0
mov qword [r14 + 0x30], 0
mov qword [r14 + 0x40], 0
mov qword [r14 + 8], 0
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], 0
mov qword [r14 + 0x20], 0
mov qword [r14 + 0x38], 0
mov byte [r14], 0xa7
mov eax, dword [rbx + 0x24]
mov word [r14 + 0x32], cx
mov dword [r14 + 0x28], 1
mov dword [r14 + 0x2c], eax
mov word [r14 + 0x30], r15w
mov qword [r14 + 0x40], rsi
test byte [rsi + 0x30], 0x60
je 0x4aad80
mov rax, qword [rsi + 8]
test byte [rax + r8 + 0x12], 0x60
je 0x4aad80
movzx ecx, word [rsi + 0x36]
mov eax, 1
mov rdx, 0xffffffffffffffff
shl rax, cl
sub rax, 1
cmp cx, 0x40
cmovge rax, rdx
or qword [rbx + 0x30], rax
mov rax, rdi
shl rax, 5
mov r8, qword [r13 + rax + 8]
test r8, r8
je 0x4a97fb
mov rcx, qword [rbp]
mov rdx, r8
call fcn.00436990
mov r8, rax
xor r9d, r9d
mov edx, 0xae
mov rcx, rbp
call fcn.0044f3f0
mov r8, r14
mov edx, 0x35
mov rcx, rbp
mov r9, rax
call fcn.0044f3f0
xor r11d, r11d
test byte [rbx + 0x1c], 0x48
sete r11b
mov r10, rax
add r11d, 1
test rax, rax
je 0x4a9866
mov r15d, dword [rbx + 0x24]
mov r9, rax
or dword [r9 + 4], r11d
cmp byte [r9], 0xac
mov dword [r9 + 0x34], r15d
je 0x4aada0
mov rcx, qword [r9 + 0x10]
mov r8d, r11d
mov edx, r15d
call fcn.00409a50
mov r9, qword [r9 + 0x18]
test r9, r9
jne 0x4a983c
mov rcx, qword [rsp + 0x90]
mov r8d, 1
mov rdx, r10
add rdi, 1
call fcn.0042d990
cmp dword [r13], edi
jg 0x4a96c8
nop word [rax + rax]
mov rdi, qword [rsp + 0x248]
add dword [rsp + 0x50], 1
add rbx, 0x68
mov eax, dword [rsp + 0x50]
cmp dword [rdi], eax
jg 0x4a9660
mov r13, qword [rsp + 0x68]
jmp 0x4a9970
lea ebx, [rax - 1]
imul ebx, ebx, 0x70
add ebx, 0x3d0
movsxd rbx, ebx
lea rdx, [rbx + 0x70]
jmp 0x4a9470
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x4a9626
mov eax, dword [rbx + 4]
test eax, 0x82000
jne 0x4a960e
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x80], 0x2c
cmp byte [rbx], 0x2c
je 0x4acaf8
mov rcx, qword [rsp + 0x90]
xor r8d, r8d
mov rdx, r12
call fcn.0042d990
mov r9d, dword [rsp + 0xb4]
test r9d, r9d
jne 0x4a9643
cmp qword [rsp + 0x258], 0
je 0x4a9951
mov rax, qword [rsp + 0x258]
mov rdi, qword [rsp + 0x48]
mov eax, dword [rax]
mov byte [rdi + 0x41], al
test dword [rsp + 0x60], 0x100
jne 0x4aae90
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, rbp
call fcn.004614e0
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x84]
mov ebx, eax
mov dword [rsp + 0x50], eax
sub ebx, 1
js 0x4a99b6
mov rsi, qword [rsp + 0x248]
mov rdi, qword [rsp + 0x90]
nop word cs:[rax + rax]
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
sub ebx, 1
call fcn.004a1ca0
cmp ebx, 0xffffffff
jne 0x4a99a0
cmp qword [rsp + 0x268], 0
je 0x4a99e0
mov rax, qword [rsp + 0x268]
cmp qword [rax + 0x60], 0
je 0x4a99e0
mov rcx, qword [rsp + 0x90]
mov rdx, rax
call fcn.00465130
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x88], eax
test eax, eax
jne 0x4aabd0
mov rdx, qword [rsp + 0x148]
mov ecx, dword [rdx + 0x1c]
test ecx, ecx
jle 0x4a9aec
mov eax, dword [rsp + 0xb4]
xor ebx, ebx
test eax, eax
je 0x4aae30
lea rdi, [0x0040a020]
lea rax, [0x00409040]
movq xmm6, rdi
movq xmm4, rax
mov rdi, qword [rsp + 0x48]
punpcklqdq xmm6, xmm4
nop word [rax + rax]
mov r8, qword [rdx + 0x20]
lea rax, [rbx*8]
sub rax, rbx
lea rsi, [r8 + rax*8]
test byte [rsi + 0x12], 2
jne 0x4a9ae0
cmp qword [rsi + 0x30], 0
jne 0x4a9ae0
mov rdx, qword [rsi]
mov eax, 1
mov qword [rsp + 0x190], 0
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x198], 0
mov word [rsp + 0x194], ax
movups xmmword [rsp + 0x178], xmm6
test rdx, rdx
je 0x4ab1f0
call fcn.00415c30
cmp word [rsp + 0x194], 0
jne 0x4ab1f0
mov rdx, qword [rsp + 0x148]
mov ecx, dword [rdx + 0x1c]
nop dword [rax]
add rbx, 1
cmp ecx, ebx
jg 0x4a9a40
test dword [rsp + 0x60], 0x100
je 0x4a9b20
mov rax, qword [rsp + 0xa8]
test byte [rax + 0x60], 0x10
je 0x4aaf08
movzx eax, word [rsp + 0x60]
and ah, 0xfe
mov word [rsp + 0x70], ax
mov rax, qword [rsp + 0x48]
and word [rax + 0x3c], 0xfeff
mov r14, qword [rsp + 0x140]
cmp dword [rsp + 0xb4], 1
mov r12, qword [rsp + 0x150]
mov r15, qword [r14 + 8]
je 0x4ac980
movzx eax, byte [r14 + 0x40]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
lea rdi, [r15 + rax*8 + 8]
mov rax, qword [r14]
mov rax, qword [rax]
mov dword [rsp + 0x164], 0x4e20
mov qword [rsp + 0x60], rax
lea rax, [r15 + 8]
cmp rdi, rax
jbe 0x4a9ca2
lea rcx, [rsp + 0x140]
xor r10d, r10d
xor edx, edx
xor esi, esi
mov qword [rsp + 0x58], rcx
lea rbx, [r15 + 0x70]
xor r15d, r15d
mov eax, 0x4e20
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x78], r13
mov r13, rdx
mov qword [rsp + 0x240], rbp
mov ebp, r10d
nop word [rax + rax]
add eax, 0x3e8
mov byte [r12 + 0x10], bpl
mov r11d, dword [r14 + 0x260]
mov dword [rsp + 0x164], eax
mov r8d, dword [rbx - 0x24]
mov eax, 1
cmp r8d, r11d
je 0x4a9c21
mov eax, dword [r14 + 0x25c]
cmp eax, 1
jle 0x4aad18
lea edx, [rax - 2]
mov eax, 1
add rdx, 2
jmp 0x4a9c0d
add rax, 1
cmp rdx, rax
je 0x4aad18
mov ecx, eax
cmp r8d, dword [r14 + rax*4 + 0x260]
jne 0x4a9c00
mov eax, 1
shl rax, cl
mov qword [r12 + 8], rax
movzx eax, byte [rbx - 0x2c]
test esi, esi
jne 0x4aac58
test al, 0x62
jne 0x4aac58
mov eax, dword [rsp + 0x50]
test eax, eax
mov eax, 0
cmove r15, rax
mov rax, qword [rbx - 0x48]
cmp byte [rax + 0x3f], 1
je 0x4aac81
mov rcx, qword [rsp + 0x58]
mov rdx, r15
call fcn.004688a0
xor r8d, r8d
test eax, eax
jne 0x4aac18
mov rax, qword [rsp + 0x148]
cmp byte [rax + 0x11], 0
jne 0x4aad60
or r13, qword [r12 + 8]
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x67], 0
je 0x4aac37
mov r13, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x240]
mov rdx, qword [r12 + 0x48]
lea rbx, [r12 + 0x58]
cmp rdx, rbx
je 0x4a9ccb
mov rcx, qword [rsp + 0x60]
call fcn.004235b0
mov eax, 3
mov qword [r12 + 0x48], rbx
mov word [r12 + 0x40], ax
mov eax, dword [r12 + 0x38]
test ah, 0x44
je 0x4a9d20
test ah, 4
jne 0x4aaed8
test ah, 0x40
je 0x4a9d20
mov rdx, qword [r12 + 0x20]
test rdx, rdx
je 0x4a9d20
mov r8, qword [rdx + 0x20]
test r8, r8
je 0x4a9d08
mov rcx, qword [rsp + 0x60]
mov rdx, r8
call fcn.004235b0
mov rdx, qword [r12 + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.004235b0
mov qword [r12 + 0x20], 0
nop dword [rax + rax]
mov eax, dword [rsp + 0x88]
xor r15d, r15d
mov dword [r12 + 0x38], 0
mov word [r12 + 0x3c], r15w
test eax, eax
jne 0x4aabd0
mov rsi, qword [rsp + 0x48]
xor edx, edx
mov rcx, rsi
call fcn.00459b70
mov rax, qword [rsp + 0xa8]
cmp byte [rax + 0x67], 0
jne 0x4aabd0
cmp qword [rsi + 0x10], 0
je 0x4aaeb0
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + 0x48]
lea edx, [rax + 1]
mov word [rsp + 0x50], ax
movsx edx, dx
call fcn.00459b70
mov rax, qword [rsp + 0xa8]
cmp byte [rax + 0x67], 0
jne 0x4aabd0
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x4aaeb0
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x68], eax
test eax, eax
jne 0x4aabd0
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 0x40]
cmp al, 1
jbe 0x4acc78
cmp qword [rsp + 0x260], 0
je 0x4acc78
mov rax, qword [rsp + 0xa8]
test word [rsp + 0x70], 0x400
mov qword [rsp + 0x98], 0xffffffffffffffff
mov eax, dword [rax + 0x60]
jne 0x4a9e00
test ah, 1
je 0x4ae193
test eax, 0x80000
je 0x4ae008
mov rdi, qword [rsp + 0x48]
movzx esi, word [rsp + 0x70]
mov rax, qword [rdi]
movsx edx, word [rdi + 0x48]
mov dword [rsp + 0xe0], esi
add dword [rax + 0xd0], edx
mov eax, esi
test al, 4
je 0x4a9e70
mov rdx, qword [rdi + 0x3c0]
mov eax, dword [rdx + 0x38]
test ah, 0x10
je 0x4ad5e0
mov rdi, qword [rsp + 0x248]
mov r8d, 1
mov rcx, qword [rdi + 0x28]
mov rdi, qword [rsp + 0x48]
mov byte [rdi + 0x42], r8b
test byte [rcx + 0x30], 0x80
je 0x4ae09b
nop word [rax + rax]
mov eax, dword [rsp + 0xb4]
test eax, eax
jle 0x4aaba5
lea edx, [rax - 1]
mov r15, qword [rsp + 0x48]
movzx edi, word [rsp + 0x70]
mov qword [rsp + 0x58], r13
lea rax, [rdx*8]
mov rsi, qword [rsp + 0xa0]
sub rax, rdx
and edi, 0x20
shl rax, 4
mov word [rsp + 0x60], di
lea rax, [r15 + rax + 0x3d0]
mov qword [rsp + 0x50], rax
movzx eax, byte [rsp + 0x80]
mov word [rsp + 0x78], ax
nop word [rax + rax]
movzx ebx, byte [rsi + 0x40]
mov rdi, qword [rsp + 0x248]
lea rax, [rbx + rbx*2]
mov r11, rbx
lea rax, [rbx + rax*4]
mov rdi, qword [rdi + rax*8 + 0x28]
mov rdx, qword [rdi + 0x60]
test rdx, rdx
je 0x4aea16
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax + 0x20]
cmp rdx, qword [rax + 0x18]
je 0x4ac790
add rax, 0x38
xor r12d, r12d
nop word cs:[rax + rax]
add rax, 0x20
add r12d, 1
cmp rdx, qword [rax - 0x20]
jne 0x4a9f20
mov r13, qword [rsi + 0x60]
mov eax, dword [r13 + 0x38]
test byte [rdi + 0x31], 0x40
jne 0x4aa030
movzx edx, byte [rdi + 0x3f]
cmp dl, 2
je 0x4aa030
test ah, 4
jne 0x4ac8e0
cmp dl, 1
je 0x4aa030
test al, 0x40
jne 0x4a9f6b
cmp word [rsp + 0x60], 0
je 0x4a9f86
lea rax, [rbx + rbx*2]
mov rcx, qword [rsp + 0x248]
lea rax, [rbx + rax*4]
test byte [rcx + rax*8 + 0x44], 0x50
je 0x4ad0f8
mov rcx, qword [rsp + 0x248]
lea rax, [rbx + rbx*2]
cmp byte [r15 + 0x42], 0
lea rax, [rbx + rax*4]
mov edx, dword [rcx + rax*8 + 0x4c]
mov eax, 0x70
je 0x4a9faf
mov dword [r15 + 0x28], edx
mov eax, 0x71
mov dword [rsp + 0x20], eax
mov r9, rdi
mov r8d, r12d
mov rcx, rbp
mov byte [rsp + 0x70], r11b
call fcn.0045b190
cmp byte [r15 + 0x42], 0
movzx r11d, byte [rsp + 0x70]
mov eax, dword [r13 + 0x38]
jne 0x4aa000
cmp word [rdi + 0x36], 0x3f
jg 0x4aa000
mov edx, dword [rdi + 0x30]
mov ecx, eax
and ecx, 0x404000
and edx, 0xe0
or edx, ecx
je 0x4ae1ba
nop word [rax + rax]
mov rcx, qword [rsp + 0x58]
movsxd rdx, dword [rcx + 0x90]
test edx, edx
jle 0x4aa030
mov r14, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
movzx ecx, word [rsp + 0x78]
lea rdx, [r14 + rdx*8]
mov word [rdx - 0x16], cx
nop dword [rax + rax]
test ah, 2
je 0x4aa110
mov r14, qword [r13 + 0x20]
test byte [rdi + 0x30], 0x80
je 0x4aa053
movzx eax, byte [r14 + 0x64]
and eax, 3
cmp al, 2
je 0x4ac960
cmp byte [r15 + 0x42], 0
jne 0x4ac5c0
mov r10d, dword [rsp + 0x278]
test r10d, r10d
je 0x4abdd0
cmp word [rsp + 0x60], 0
je 0x4abdd0
mov eax, dword [rsp + 0x278]
mov edx, 0x65
mov dword [rsi + 8], eax
mov r8d, eax
nop dword [rax]
mov r9d, dword [r14 + 0x58]
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x20], r12d
call fcn.0043e0f0
mov r8, qword [rbp + 0x10]
mov rdx, r14
mov rcx, rbp
mov qword [rsp + 0x70], r8
call fcn.0045ab00
test rax, rax
je 0x4aa0ed
mov r8, qword [rsp + 0x70]
mov rdx, qword [r8]
cmp byte [rdx + 0x67], 0
jne 0x4ad680
movsxd rdx, dword [r8 + 0x90]
lea rcx, [rdx + rdx*2]
mov rdx, qword [r8 + 0x88]
lea rdx, [rdx + rcx*8 - 0x18]
mov byte [rdx + 1], 0xf8
mov qword [rdx + 0x10], rax
mov eax, dword [r13 + 0x38]
test al, 0xf
je 0x4aa110
test eax, 0x188002
jne 0x4aa110
test byte [r15 + 0x3c], 1
je 0x4ae038
nop word [rax + rax]
test r12d, r12d
jns 0x4aba10
lea rax, [rbx + rbx*2]
mov rcx, qword [rsp + 0x248]
lea rax, [rbx + rax*4]
test byte [rcx + rax*8 + 0x44], 0x10
jne 0x4abbb0
add rsi, 0x70
cmp rsi, qword [rsp + 0x50]
jne 0x4a9ed0
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0xb8]
mov eax, dword [r13 + 0x90]
mov r12, r14
mov dword [rdi + 0x4c], eax
mov rax, qword [rsp + 0xa8]
cmp byte [rax + 0x67], 0
jne 0x4aabd0
nop dword [rax]
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0xc0], eax
test eax, eax
jne 0x4aabd0
mov rax, qword [r12 + 0x60]
movzx ebx, byte [r12 + 0x40]
mov rdi, qword [rsp + 0x248]
mov esi, dword [rax + 0x38]
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
lea rax, [rdi + rax*8]
movzx edx, byte [rax + 0x48]
test dl, 0x10
je 0x4aa1d3
and edx, 8
je 0x4abd10
mov r9d, dword [rax + 0x38]
mov r8d, dword [rax + 0x3c]
mov edx, 0xa
mov rcx, r13
call fcn.0043e160
test esi, 0x404000
je 0x4aa231
and esi, 0x4000
je 0x4abcf0
movzx eax, byte [r12 + 0x40]
mov rdi, qword [rsp + 0x248]
mov qword [rsp + 0x20], r12
mov rcx, rbp
mov r9, qword [rsp + 0x98]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
mov rdx, qword [rsp + 0x90]
lea r8, [rdi + rax*8 + 8]
call fcn.004a6cd0
mov rax, qword [rsp + 0xa8]
cmp byte [rax + 0x67], 0
jne 0x4aabd0
mov rax, qword [rbp + 0xa8]
test rax, rax
cmove rax, rbp
cmp byte [rax + 0x133], 2
jne 0x4aa263
mov r9d, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0x248]
mov r8, r12
mov rcx, rbp
call fcn.00460b30
mov eax, dword [r13 + 0x90]
movzx ecx, byte [r12 + 0x40]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [r12 + 0x60]
mov dword [r12 + 0x20], eax
mov rax, qword [rbp]
mov r14, rcx
mov rsi, qword [rdi + 8]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rax
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x60], rsi
mov r8d, dword [rsi + rax*8 + 0x4c]
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x78], r8d
and rax, 0xfffffffffffffffe
cmp r8d, dword [rdi + 0x260]
je 0x4aa305
mov eax, dword [rdi + 0x25c]
mov r9, rdi
cmp eax, 1
jle 0x4aba00
lea edx, [rax - 2]
mov eax, 1
add rdx, 2
jmp 0x4aa2ed
add rax, 1
cmp rdx, rax
je 0x4aba00
mov ecx, eax
cmp r8d, dword [r9 + rax*4 + 0x260]
jne 0x4aa2e0
mov rax, qword [rsp + 0x98]
btr rax, rcx
mov qword [r12 + 0x68], rax
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x68]
mov eax, dword [rbp + 0x44]
lea esi, [rax - 1]
mov dword [rbp + 0x44], esi
mov dword [r12 + 0x10], esi
mov dword [r12 + 0xc], esi
mov eax, dword [rbp + 0x44]
sub eax, 1
mov dword [rbp + 0x44], eax
cmp byte [r12 + 0x40], 0
mov dword [rsp + 0xb8], eax
mov dword [r12 + 0x18], eax
je 0x4aa360
mov rcx, qword [rsp + 0x58]
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x60]
test byte [rcx + rax*8 + 0x44], 8
jne 0x4ac3f0
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x4ad240
lea rax, [r12 - 0x360]
jmp 0x4aa393
cmp qword [rax + 0x398], 0
jne 0x4aa39d
sub rax, 0x70
sub edx, 1
je 0x4aa39d
mov ecx, dword [rax + 0x360]
test ecx, ecx
je 0x4aa380
mov rcx, qword [rsp + 0x58]
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + rax*8]
movzx r8d, byte [rax + 0x48]
mov ecx, r8d
and ecx, 0x20
mov byte [rsp + 0x80], cl
jne 0x4abb68
movzx ecx, byte [rsp + 0x68]
shr rdi, cl
mov eax, edi
and eax, 1
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + 0x38]
test ah, 4
jne 0x4abe08
test ah, 1
je 0x4aa3f5
test al, 5
jne 0x4acb90
movsxd rdx, edx
mov rdi, qword [rsp + 0x48]
lea rcx, [rdx*8]
sub rcx, rdx
mov rdx, rcx
shl rdx, 4
mov r9d, dword [rdi + rdx + 0x36c]
mov edx, eax
and edx, 0x102
cmp edx, 0x102
je 0x4ac430
test ah, 2
je 0x4ac490
movzx edi, word [rbx + 0x1c]
movzx r11d, word [rbx + 0x18]
movzx esi, word [rbx + 0x1a]
mov r15, qword [rbx + 0x20]
mov word [rsp + 0xe8], di
movzx edi, r11w
mov r14d, dword [r12 + 8]
mov word [rsp + 0xfc], si
mov dword [rsp + 0xc4], edi
test al, 0x20
je 0x4acea8
mov r8, qword [rbx + 0x48]
movzx ecx, r11w
lea edx, [rdi + 1]
mov rdi, qword [r8 + rcx*8]
test al, 0x10
je 0x4ace50
mov rcx, qword [rbx + 0x48]
movsxd rdx, edx
mov rcx, qword [rcx + rdx*8]
movzx edx, word [rsp + 0xe8]
cmp esi, edx
mov qword [rsp + 0xc8], rcx
cmovl esi, edx
test byte [rcx + 0x13], 1
jne 0x4ae4d0
mov byte [rsp + 0xf0], 0
test rdi, rdi
je 0x4ae5dc
mov dword [rsp + 0x88], 0
and eax, 0x80030
cmp eax, 0x80000
je 0x4ad040
cmp r11w, word [r15 + 0x60]
jae 0x4aa548
mov rdx, qword [r15 + 0x38]
movzx eax, r11w
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp dword [rsp + 0x70], eax
jne 0x4aa548
movzx edx, byte [rsp + 0xf0]
movzx eax, byte [rsp + 0xfc]
mov byte [rsp + 0xf0], 0
movzx ecx, word [rsp + 0xe8]
mov byte [rsp + 0x80], dl
mov rdx, rdi
mov rdi, qword [rsp + 0xc8]
mov word [rsp + 0xfc], cx
mov qword [rsp + 0xc8], rdx
mov word [rsp + 0xe8], ax
nop dword [rax + rax]
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x4aa55a
test byte [rbx + 0x3a], 0x10
jne 0x4adf59
mov r8d, dword [rsp + 0x70]
mov r9d, esi
mov rdx, r12
mov rcx, rbp
lea rax, [rsp + 0x170]
mov dword [rsp + 0xd0], r11d
mov qword [rsp + 0x20], rax
call fcn.004a87f0
mov r11d, dword [rsp + 0xd0]
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x170]
test rax, rax
je 0x4aa5ad
cmp word [rsp + 0xe8], 0
jne 0x4ad658
mov qword [rsp + 0xd8], 0
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x4ace70
mov eax, dword [r12 + 0x28]
mov dword [rsp + 0xe4], eax
test r11w, r11w
setne al
test rdi, rdi
setne byte [rsp + 0xd0]
movzx esi, byte [rsp + 0xd0]
je 0x4ad170
xor ecx, ecx
test byte [rdi + 0x14], 0x28
setne cl
mov dword [rsp + 0xec], ecx
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x4addb0
or eax, esi
movzx eax, al
mov dword [rsp + 0xf8], eax
xor eax, eax
test byte [rcx + 0x14], 0x28
setne al
mov dword [rsp + 0x100], eax
mov rax, qword [rdi]
movzx esi, word [rsp + 0xfc]
mov rcx, rbp
mov dword [rsp + 0x108], r11d
mov r8d, dword [rsp + 0xc4]
add r8d, dword [rsp + 0xa0]
mov r10, qword [rax + 0x18]
mov r9d, esi
mov dword [rsp + 0xf0], r8d
mov rdx, r10
mov qword [rsp + 0xd0], r10
call fcn.0049c470
movzx eax, word [rdi + 0x12]
mov r10, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0xf0]
mov r11d, dword [rsp + 0x108]
test ah, 1
je 0x4aa6c2
mov rdx, qword [r13]
lea rcx, [0x0066e7a0]
cmp byte [rdx + 0x67], 0
je 0x4ae0df
mov edx, dword [r12 + 0x2c]
mov r9d, edx
and edx, 1
shr r9d, 1
mov word [rcx + 2], dx
mov dword [rcx + 0xc], r9d
test al, 0x80
je 0x4ae456
mov r8, qword [rsp + 0x170]
test r8, r8
je 0x4aa6f8
movzx eax, r11w
mov rcx, r10
mov edx, esi
mov qword [rsp + 0xd0], r10
add r8, rax
call fcn.00411720
mov r10, qword [rsp + 0xd0]
movzx eax, byte [r10]
add esi, dword [rsp + 0xc4]
cmp al, 0xb0
jne 0x4aa70c
movzx eax, byte [r10 + 2]
cmp al, 0xb1
je 0x4ae6be
cmp al, 0x8a
je 0x4ae643
mov r8, rdi
lea rdx, [r12 + 0x68]
mov rcx, r12
call fcn.0040e0f0
mov byte [rsp + 0xd0], 1
mov r8d, esi
mov dword [rsp + 0xfc], 0
mov rcx, qword [rbp + 0x10]
mov r9, qword [rsp + 0x170]
mov edx, dword [rsp + 0xa0]
call fcn.00460a50
movzx eax, word [rbx + 0x3e]
test ax, ax
je 0x4aa76b
cmp esi, eax
je 0x4ad213
mov r10d, dword [rsp + 0xf8]
mov edi, dword [rsp + 0x88]
shl r10d, 2
test edi, edi
jne 0x4ad376
mov r8d, dword [r12 + 0x34]
test r8d, r8d
jne 0x4ad2b0
mov eax, dword [rsp + 0xec]
lea rdi, [0x0061f390]
lea eax, [r10 + rax*2]
add eax, dword [rsp + 0x70]
cdqe
movzx r10d, byte [rdi + rax]
test byte [rbx + 0x3a], 0x10
je 0x4aa7c1
cmp r10d, 0x17
je 0x4ae876
mov dword [rsp + 0xf0], 0
mov eax, dword [rsp + 0xa0]
mov r8d, r14d
mov edx, r10d
mov rcx, r13
mov dword [rsp + 0x28], esi
mov r9d, dword [rsp + 0xe4]
mov dword [rsp + 0x20], eax
call fcn.0043e610
mov r8d, dword [rsp + 0x88]
test r8d, r8d
jne 0x4ad250
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x4ad138
mov rax, qword [rax]
mov ecx, dword [rsp + 0xf0]
mov rsi, qword [rax + 0x18]
test ecx, ecx
je 0x4aa831
mov eax, dword [r13 + 0x90]
mov dword [r12 + 0x48], eax
movzx edi, word [rsp + 0xe8]
mov eax, dword [rsp + 0xc4]
mov rdx, rsi
mov rcx, rbp
add eax, dword [rsp + 0xa0]
mov r8d, eax
mov r9d, edi
mov dword [rsp + 0x80], eax
call fcn.0049c470
mov rax, qword [rsp + 0xc8]
movzx eax, word [rax + 0x12]
test ah, 1
je 0x4aa89b
mov rdx, qword [r13]
lea rcx, [0x0066e7a0]
cmp byte [rdx + 0x67], 0
je 0x4ae017
mov edx, dword [r12 + 0x2c]
mov r8d, edx
and edx, 1
shr r8d, 1
mov word [rcx + 2], dx
mov dword [rcx + 0xc], r8d
test al, 0x80
je 0x4ad620
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x4aa8d8
mov r8, rax
mov edx, edi
mov rcx, rsi
call fcn.00411720
mov rcx, qword [rbp + 0x10]
mov r9, qword [rsp + 0xd8]
mov r8d, edi
mov edx, dword [rsp + 0x80]
call fcn.00460a50
movzx eax, byte [rsi]
add edi, dword [rsp + 0xc4]
cmp al, 0xb0
jne 0x4aa8ea
movzx eax, byte [rsi + 2]
cmp al, 0xb1
je 0x4ae638
cmp al, 0x8a
je 0x4adfe5
mov r8, qword [rsp + 0xc8]
lea rdx, [r12 + 0x68]
mov rcx, r12
call fcn.0040e0f0
mov rdx, qword [rsp + 0x170]
test rdx, rdx
je 0x4aa926
mov rcx, qword [rsp + 0x50]
call fcn.0040c530
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x4aa940
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.0040c530
mov eax, dword [r12 + 0x48]
test eax, eax
jne 0x4aa955
mov eax, dword [r13 + 0x90]
mov dword [r12 + 0x48], eax
test edi, edi
je 0x4ab159
mov eax, dword [rsp + 0x70]
mov esi, dword [rsp + 0x100]
lea r11d, [rax + rax]
mov eax, dword [rsp + 0x88]
add esi, r11d
test eax, eax
jne 0x4ab0c4
mov eax, dword [rsp + 0xa0]
movsxd rsi, esi
mov r8d, r14d
mov rcx, r13
lea r10, [0x0061f389]
mov dword [rsp + 0x28], edi
mov r9d, dword [rsp + 0xe4]
mov dword [rsp + 0x20], eax
movzx edx, byte [r10 + rsi]
call fcn.0043e610
mov r9d, dword [rsp + 0xf0]
test r9d, r9d
jne 0x4ab13a
mov eax, dword [rbx + 0x38]
test eax, 0x40000
jne 0x4ad088
test al, 0x40
je 0x4ac7b0
mov rax, qword [rsp + 0x48]
test word [rax + 0x3c], 0x1020
jne 0x4ac7b0
mov esi, 1
mov edi, dword [r12]
test edi, edi
jne 0x4aaa0e
mov rcx, qword [r15 + 0x48]
test rcx, rcx
je 0x4aaa0e
mov r8, qword [rsp + 0x90]
mov edx, dword [rsp + 0x78]
call fcn.0045cc20
mov eax, dword [rbx + 0x38]
test ah, 0x10
je 0x4ace38
mov byte [r12 + 0x41], 0xb8
mov edx, eax
mov dword [r12 + 0x44], r14d
shr edx, 0x10
and edx, 1
mov byte [r12 + 0x42], dl
test al, 0xf
jne 0x4aaa3c
mov byte [r12 + 0x43], 1
test esi, esi
mov eax, 0
cmovne r15, rax
cmp esi, 1
sbb edi, edi
add edi, 2
nop
mov rax, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x50], edi
mov rdi, r13
mov qword [rsp + 0x88], r15
mov r13, rbp
mov ebp, dword [rsp + 0xb8]
lea rax, [rax + rax*2]
shl rax, 2
mov qword [rsp + 0xa0], rax
nop dword [rax + rax]
mov eax, dword [rsi + 0x84]
mov rbx, qword [rsi + 0x90]
test eax, eax
jle 0x4ab490
sub eax, 1
xor r15d, r15d
add rax, 1
lea rdx, [rax*8]
sub rdx, rax
lea rax, [rbx + rdx*8]
mov qword [rsp + 0x70], rax
mov rax, rbx
mov rbx, rdi
mov rdi, rax
nop dword [rax]
movzx edx, word [rdi + 0x12]
test dl, 6
jne 0x4aab80
mov r8, qword [r12 + 0x68]
test qword [rdi + 0x30], r8
jne 0x4ab318
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0xa0]
add rax, qword [rsp + 0x58]
mov r11, qword [rdi]
movzx ecx, byte [rcx + rax*8 + 0x44]
test cl, 0x58
je 0x4ab230
mov eax, dword [r11 + 4]
test al, 3
je 0x4aab80
and ecx, 8
je 0x4aab18
test al, 1
je 0x4aab80
mov r14d, dword [r11 + 0x34]
cmp r14d, dword [rsi + 0x260]
je 0x4ab480
mov eax, dword [rsi + 0x25c]
cmp eax, 1
jle 0x4ab3d0
lea r9d, [rax - 2]
mov eax, 1
add r9, 2
jmp 0x4aab5d
add rax, 1
cmp r9, rax
je 0x4ab3d0
mov ecx, eax
cmp r14d, dword [rsi + rax*4 + 0x260]
jne 0x4aab50
mov eax, 1
shl rax, cl
test r8, rax
je 0x4ab3d0
nop word [rax + rax]
add rdi, 0x38
cmp qword [rsp + 0x70], rdi
jne 0x4aaac8
mov rdi, rbx
test r15d, r15d
je 0x4abdb0
mov dword [rsp + 0x50], r15d
jmp 0x4aaa88
mov eax, dword [r13 + 0x90]
mov rdi, qword [rsp + 0x48]
mov dword [rdi + 0x4c], eax
mov rax, qword [rsp + 0xa8]
cmp byte [rax + 0x67], 0
je 0x4ab8a1
nop word cs:[rax + rax]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rdx + 0x38]
mov dword [rbp + 0xd0], eax
call fcn.00425f40
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x48]
movups xmm6, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
or r13, qword [r12 + 8]
cmp eax, 0x65
jne 0x4aeb7f
lea rdx, str.abbreviated_query_algorithm_search
mov ecx, 0x1c
call fcn.0042e6d0
add ebp, 1
cmp rdi, rbx
jbe 0x4a9c95
mov eax, dword [rsp + 0x164]
add rbx, 0x68
jmp 0x4a9bb8
test al, 0x40
mov edx, 1
cmove edx, dword [rsp + 0x50]
shr al, 4
mov esi, eax
mov rax, qword [rbx - 0x48]
or r15, r13
and esi, 1
mov dword [rsp + 0x50], edx
cmp byte [rax + 0x3f], 1
jne 0x4a9c57
cmp rdi, rbx
jbe 0x4aceb8
mov rax, rbx
xor r8d, r8d
mov rdx, rax
test r8, r8
je 0x4aad20
add rax, 0x68
mov r10d, dword [rdx + 0x44]
cmp r11d, r10d
je 0x4aad58
mov edx, dword [r14 + 0x25c]
cmp edx, 1
jle 0x4aacf0
lea r9d, [rdx - 2]
mov edx, 1
add r9, 2
jmp 0x4aacd9
add rdx, 1
cmp r9, rdx
je 0x4aacf0
mov ecx, edx
cmp r10d, dword [r14 + rdx*4 + 0x260]
jne 0x4aacd0
mov edx, 1
shl rdx, cl
or r8, rdx
cmp rdi, rax
ja 0x4aac90
mov rcx, qword [rsp + 0x58]
mov rdx, r15
mov qword [rsp + 0x68], r8
call fcn.004675d0
mov r8, qword [rsp + 0x68]
jmp 0x4a9c67
xor eax, eax
jmp 0x4a9c21
movzx ecx, byte [rax + 0x3c]
add rax, 0x68
and ecx, 0x22
jne 0x4aaca0
cmp rdi, rax
jbe 0x4aacf5
movzx ecx, byte [rax + 0x3c]
mov rdx, rax
add rax, 0x68
and ecx, 0x22
je 0x4aad31
mov r10d, dword [rdx + 0x44]
cmp r11d, r10d
jne 0x4aacad
nop dword [rax + rax]
or r8, 1
jmp 0x4aacf0
mov rcx, qword [rsp + 0x58]
mov rdx, r15
call fcn.004693a0
or r13, qword [r12 + 8]
test eax, eax
je 0x4a9c86
jmp 0x4aac1d
cmp r15d, 0x3f
mov ecx, 0x3f
mov eax, 1
cmovle ecx, r15d
shl rax, cl
jmp 0x4a97d7
mov rax, qword [r9 + 0x20]
test rax, rax
je 0x4a984e
mov edx, dword [rax]
test edx, edx
jle 0x4a984e
xor r14d, r14d
movsxd rcx, r14d
mov r8d, r11d
mov edx, r15d
add r14d, 1
shl rcx, 5
mov rcx, qword [rax + rcx + 8]
call fcn.00409a50
mov rax, qword [r9 + 0x20]
cmp r14d, dword [rax]
jl 0x4aadba
jmp 0x4a984e
mov r8, qword [rsi]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, rbp
call fcn.0042c9e0
jmp 0x4a9890
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x4aabf4
mov rcx, qword [rsp + 0xa8]
mov rdx, rax
call fcn.004235b0
mov qword [rsp + 0x48], 0
jmp 0x4aabf4
mov rdi, qword [rsp + 0x48]
nop dword [rax]
mov r8, qword [rdx + 0x20]
lea rax, [rbx*8]
sub rax, rbx
lea rsi, [r8 + rax*8]
test byte [rsi + 0x12], 2
jne 0x4aae7d
cmp qword [rsi + 0x30], 0
jne 0x4aae7d
mov rdx, qword [rsi]
mov r8d, dword [rdi + 0x34]
mov rcx, rbp
mov r9d, 0x10
call fcn.00498a30
mov rdx, qword [rsp + 0x148]
or word [rsi + 0x12], 4
mov ecx, dword [rdx + 0x1c]
add rbx, 1
cmp ecx, ebx
jg 0x4aae38
jmp 0x4a9aec
mov rax, qword [rsp + 0xa8]
test byte [rax + 0x60], 0x10
jne 0x4a995f
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x43], 1
jmp 0x4a995f
mov rax, qword [rsp + 0xa8]
test byte [rax + 0x31], 0x10
je 0x4a9da8
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x68], 0xffffffffffffffff
jmp 0x4a9da8
test byte [r12 + 0x1c], 1
je 0x4a9cde
mov rcx, qword [r12 + 0x28]
call fcn.0040c4a0
and byte [r12 + 0x1c], 0xfe
mov qword [r12 + 0x28], 0
jmp 0x4a9d20
mov rax, qword [rsp + 0x248]
cmp dword [rax], 1
jne 0x4ab099
mov r14d, dword [rax + 0x4c]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0x260]
mov eax, dword [rax]
test eax, eax
jle 0x4aaf99
mov rdi, qword [rsp + 0x260]
sub eax, 1
shl rax, 5
lea rcx, [rdi + 8]
lea r8, [rdi + rax + 0x28]
nop word [rax + rax]
mov rax, qword [rcx]
test rax, rax
je 0x4aaf90
nop dword [rax + rax]
mov edx, dword [rax + 4]
test edx, 0x82000
je 0x4ae234
and edx, 0x80000
je 0x4ae218
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
jne 0x4aaf60
nop dword [rax + rax]
add rcx, 0x20
cmp r8, rcx
jne 0x4aaf50
mov rsi, qword [r9 + 0x10]
test rsi, rsi
je 0x4ab099
mov qword [rsp + 0x240], rbp
mov rbp, qword [rsp + 0x260]
mov qword [rsp + 0x50], r13
jmp 0x4aafcd
mov rsi, qword [rsi + 0x28]
test rsi, rsi
je 0x4ab08c
cmp byte [rsi + 0x62], 0
je 0x4aafc0
cmp qword [rsi + 0x48], 0
jne 0x4aafc0
cmp word [rsi + 0x5e], 0
je 0x4ab071
xor edi, edi
lea rbx, [rsp + 0x170]
nop
mov qword [rsp + 0x28], rsi
mov r9d, edi
mov r8d, r14d
mov rcx, rbx
mov dword [rsp + 0x20], 2
mov rdx, qword [rsp + 0x90]
mov r13d, edi
mov r12d, edi
call fcn.00457bf0
test rax, rax
je 0x4ae270
xor r15d, r15d
nop dword [rax]
cmp qword [rax + 0x28], 0
jne 0x4ab03c
test byte [rax + 0x14], 2
jne 0x4ab052
test r15, r15
cmove r15, rax
mov rcx, rbx
call fcn.00457490
test rax, rax
jne 0x4ab028
test r15, r15
je 0x4ae270
movzx eax, word [rsi + 0x5e]
add rdi, 1
lea r12d, [r13 + 1]
cmp eax, edi
jg 0x4aaff0
nop word [rax + rax]
cmp r12d, eax
jne 0x4aafc0
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x240]
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x43], 1
jmp 0x4a9b20
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x240]
cmp qword [rsp + 0x258], 0
jne 0x4a9b20
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x260]
or word [rax + 0x3c], 0x80
mov qword [rax + 0x10], rdi
jmp 0x4a9b20
mov r9d, dword [r13 + 0x90]
mov edx, 0x11
mov rcx, r13
movsxd rsi, esi
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0x80], r11d
add r9d, 3
call fcn.0043e160
mov dword [rsp + 0x28], edi
mov r8d, r14d
mov rcx, r13
mov eax, dword [rsp + 0xa0]
lea r10, [0x0061f389]
mov r9d, dword [rsp + 0xe4]
movzx edx, byte [r10 + rsi]
mov qword [rsp + 0x50], r10
mov dword [rsp + 0x20], eax
call fcn.0043e610
mov eax, dword [rsp + 0xf0]
mov r10, qword [rsp + 0x50]
mov r11d, dword [rsp + 0x80]
test eax, eax
je 0x4ab177
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
je 0x4ae123
mov dword [rax + 8], edx
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x4aa9c0
mov eax, dword [rsp + 0x70]
lea r10, [0x0061f389]
lea r11d, [rax + rax]
mov r9d, dword [r13 + 0x90]
mov r8d, dword [rsp + 0x88]
mov rcx, r13
mov edx, 0x10
mov qword [rsp + 0x80], r10
add r9d, 2
mov dword [rsp + 0x50], r11d
call fcn.0043e160
mov r11d, dword [rsp + 0x50]
mov r8d, r14d
mov rcx, r13
mov esi, dword [rsp + 0xfc]
mov r10, qword [rsp + 0x80]
mov r9d, dword [rsp + 0xe4]
lea eax, [rsi + r11]
add edi, esi
cdqe
mov dword [rsp + 0x28], edi
movzx edx, byte [r10 + rax]
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
call fcn.0043e610
jmp 0x4aa9c0
mov rdx, qword [rsi]
mov r8d, dword [rdi + 0x34]
mov rcx, rbp
mov r9d, 0x10
add rbx, 1
call fcn.00498a30
mov rdx, qword [rsp + 0x148]
or word [rsi + 0x12], 4
mov ecx, dword [rdx + 0x1c]
cmp ecx, ebx
jg 0x4a9a40
jmp 0x4a9aec
cmp dword [rsp + 0x50], 1
je 0x4ab278
cmp dword [rsp + 0x50], 3
jne 0x4ab2f8
and dh, 2
je 0x4ab254
mov edx, dword [r12 + 0x2c]
test edx, edx
jne 0x4ab328
mov r9d, 0x10
mov r8d, ebp
mov rdx, r11
mov rcx, r13
call fcn.00498a30
or word [rdi + 0x12], 4
jmp 0x4aab80
mov eax, dword [r12 + 4]
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x180], 0
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x130], rax
lea rax, [0x0040dc10]
mov qword [rsp + 0x178], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], rax
test r11, r11
jne 0x4ab44e
movzx edx, word [rdi + 0x12]
test dh, 0x10
je 0x4ab242
test r15d, r15d
mov eax, 3
cmove r15d, eax
jmp 0x4aab80
or byte [rsi + 0x44], 2
jmp 0x4aab80
mov r8d, edx
and edx, 1
movsxd r14, dword [rbx + 0x90]
shr r8d, 1
add edx, 0x10
cmp r14d, dword [rbx + 0x94]
jge 0x4ab8b8
lea eax, [r14 + 1]
mov dword [rbx + 0x90], eax
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov byte [rax], dl
xor edx, edx
mov word [rax + 2], dx
mov dword [rax + 4], r8d
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov byte [rax + 1], 0
mov r9d, 0x10
mov r8d, ebp
mov rdx, r11
mov rcx, r13
call fcn.00498a30
test r14d, r14d
je 0x4ab268
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x4ab3c6
mov rax, qword [rbx + 0x88]
lea rcx, [r14 + r14*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x4ab268
cmp dword [rsp + 0x50], 1
jne 0x4ab237
mov eax, dword [r12 + 4]
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x180], 0
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x130], rax
lea rax, [0x0040dc10]
mov qword [rsp + 0x178], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], rax
mov rdx, r11
mov qword [rsp + 0x80], r11
call fcn.00415c30
mov r11, qword [rsp + 0x80]
cmp word [rsp + 0x194], 0
je 0x4ab2f4
mov r15d, 2
jmp 0x4aab80
mov eax, 1
jmp 0x4aab71
mov rbp, r13
mov r13, rdi
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x8c]
test eax, eax
jle 0x4ab69d
sub eax, 1
add rax, 1
lea rdx, [rax*8]
sub rdx, rax
mov rax, qword [rsp + 0x58]
lea r15, [rbx + rdx*8]
lea rdi, [rax + rax*2]
shl rdi, 2
nop dword [rax]
test byte [rbx + 0x12], 6
jne 0x4ab690
movzx eax, word [rbx + 0x14]
test al, 0x82
je 0x4ab690
test ah, 8
je 0x4ab690
mov ecx, dword [rsp + 0x78]
cmp ecx, dword [rbx + 0x1c]
jne 0x4ab690
mov rax, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rax, rdi
test byte [rsi + rax*8 + 0x44], 0x58
jne 0x4ab690
movq xmm0, qword [rsp + 0x90]
mov rax, qword [rbx]
movabs rsi, 0x8300000000
punpcklqdq xmm0, xmm0
mov qword [rsp + 0x70], rax
mov eax, dword [rbx + 0x20]
mov qword [rsp + 0x190], rsi
mov esi, 0x100
movups xmmword [rsp + 0x170], xmm0
pxor xmm0, xmm0
mov dword [rsp + 0x19c], ecx
mov word [rsp + 0x198], si
mov byte [rsp + 0x19a], 1
movups xmmword [rsp + 0x180], xmm0
cmp eax, 0xfffffffe
je 0x4ab690
lea rsi, [rsp + 0x170]
mov word [rsp + 0x1c8], ax
mov rcx, rsi
call fcn.00457490
test rax, rax
je 0x4ab690
xor r14d, r14d
mov qword [rsp + 0x50], rbx
mov rbx, rsi
mov rsi, r14
mov r14, qword [rsp + 0x98]
nop
mov rdx, qword [rax + 0x28]
test rdx, r14
jne 0x4ab5cf
test rdx, rdx
jne 0x4ab5c8
test byte [rax + 0x14], 0x82
jne 0x4ac418
test rsi, rsi
cmove rsi, rax
mov rcx, rbx
call fcn.00457490
test rax, rax
jne 0x4ab5b0
mov r14, rsi
mov rsi, rbx
mov rbx, qword [rsp + 0x50]
test r14, r14
je 0x4ab690
test byte [r14 + 0x12], 4
jne 0x4ab690
mov rax, qword [r14]
test byte [r14 + 0x14], 1
je 0x4ab618
test byte [rax + 5], 0x10
je 0x4ab618
mov rdx, qword [rax + 0x20]
mov rdx, qword [rdx + 0x20]
cmp dword [rdx], 1
jg 0x4ab690
movdqu xmm1, xmmword [rax]
mov r9d, 0x10
mov rdx, rsi
mov rcx, rbp
mov r8d, dword [rsp + 0xb8]
movups xmmword [rsp + 0x170], xmm1
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rsp + 0x180], xmm2
movdqu xmm3, xmmword [rax + 0x20]
movups xmmword [rsp + 0x190], xmm3
movdqu xmm4, xmmword [rax + 0x30]
movups xmmword [rsp + 0x1a0], xmm4
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x180], rax
call fcn.00498a30
or word [r14 + 0x12], 4
nop word [rax + rax]
add rbx, 0x38
cmp rbx, r15
jne 0x4ab4d0
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x4ab8e8
movzx eax, byte [r12 + 0x40]
mov rdi, qword [rsp + 0x48]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
shl rax, 3
add rax, qword [rdi + 8]
mov rdi, qword [rax + 0x28]
test byte [rdi + 0x30], 0x80
jne 0x4abab0
mov eax, dword [rbp + 0x28]
cmp eax, 1
jle 0x4ac3d0
mov esi, dword [rbp + 0x2c]
sub eax, 2
mov dword [rbp + 0x28], eax
lea edx, [rsi + 2]
mov dword [rsp + 0x80], esi
add esi, 1
mov dword [rbp + 0x2c], edx
mov r8d, dword [r12 + 4]
mov r9d, esi
mov edx, 0x87
mov rcx, r13
mov ebx, 1
call fcn.0043e160
mov dword [rsp + 0x70], 2
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x20], esi
xor r9d, r9d
mov rcx, r13
mov edx, 0x1d
mov r8d, dword [rax]
call fcn.0043e0f0
mov edi, eax
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
jne 0x4ab761
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], ebx
mov r9d, ebx
mov r8d, esi
mov edx, 0x61
mov rcx, r13
mov r14d, dword [rsp + 0x80]
mov dword [rsp + 0x20], r14d
call fcn.0043e0f0
mov r9d, r14d
mov r14, qword [rsp + 0x50]
mov rcx, r13
mov dword [rsp + 0x28], ebx
mov edx, 0x8a
mov dword [rsp + 0x20], esi
mov r8d, dword [r14]
call fcn.0043e610
mov r8d, dword [r14 + 4]
mov dword [rsp + 0x20], esi
mov rcx, r13
mov edx, 0xb4
xor r9d, r9d
call fcn.0043e0f0
mov rdx, qword [r13]
movzx ecx, byte [rdx + 0x67]
test cl, cl
jne 0x4aba58
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov edx, dword [r13 + 0x90]
mov dword [rax + 0x10], ebx
mov rax, qword [r13]
movzx ecx, byte [rax + 0x67]
test edx, edx
jle 0x4ab811
mov r10, qword [r13 + 0x88]
movsxd rax, edx
mov r11d, 0x10
lea rax, [rax + rax*2]
lea rax, [r10 + rax*8]
mov word [rax - 0x16], r11w
lea rax, [0x0066e7a0]
test cl, cl
jne 0x4ab82e
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
cmp dword [rsp + 0x70], 1
mov dword [rax + 8], edx
je 0x4aba7c
mov eax, dword [rsp + 0x70]
cmp dword [rbp + 0x28], eax
jge 0x4ab852
mov dword [rbp + 0x28], eax
mov eax, dword [rsp + 0x80]
mov dword [rbp + 0x2c], eax
mov r9d, dword [r12]
test r9d, r9d
jne 0x4ab8f5
mov rbx, qword [r12 + 0x38]
test rbx, rbx
jne 0x4ab91e
mov rax, qword [r12 + 0x68]
mov qword [rsp + 0x98], rax
mov eax, dword [r12 + 0x18]
mov rdi, qword [rsp + 0x48]
add r12, 0x70
add dword [rsp + 0x68], 1
mov dword [rdi + 0x30], eax
mov eax, dword [rsp + 0x68]
cmp eax, dword [rsp + 0xb4]
jne 0x4aa178
mov eax, dword [r13 + 0x90]
mov rdi, qword [rsp + 0x48]
mov dword [rdi + 0x50], eax
jmp 0x4aabf4
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x80], r11
call fcn.0043df10
mov r11, qword [rsp + 0x80]
movsxd r14, eax
jmp 0x4ab384
mov r9d, dword [r12]
test r9d, r9d
je 0x4ab86d
mov eax, dword [r13 + 0x90]
mov r8d, 1
mov edx, 0x47
mov rcx, r13
mov dword [r12 + 0x1c], eax
call fcn.0043e160
mov rbx, qword [r12 + 0x38]
test rbx, rbx
je 0x4ab940
mov r9d, dword [rbx + 8]
xor r8d, r8d
mov edx, 0x4a
mov rcx, r13
call fcn.0043e160
mov eax, dword [r13 + 0x90]
mov dword [rbx + 0xc], eax
add byte [rbp + 0x26], 1
mov rax, qword [rsp + 0x48]
mov r8, qword [r12 + 0x68]
mov rbx, qword [rax + 0x90]
mov eax, dword [rax + 0x8c]
mov qword [rsp + 0x98], r8
test eax, eax
jle 0x4ab87a
mov r15, qword [rsp + 0x58]
mov qword [rsp + 0x50], r13
mov r13, rbp
mov r14, qword [rsp + 0x60]
mov edi, dword [rsp + 0xc0]
lea rsi, [r15 + r15*2]
shl rsi, 2
mov rbp, rsi
mov esi, dword [rsp + 0xb8]
nop word [rax + rax]
test byte [rbx + 0x12], 6
jne 0x4ab9da
test qword [rbx + 0x30], r8
jne 0x4ab9da
lea rdx, [rbp + r15]
test byte [r14 + rdx*8 + 0x44], 0x40
jne 0x4ab9da
mov rdx, qword [rbx]
mov r8d, esi
mov r9d, 0x10
mov rcx, r13
call fcn.00498a30
mov rax, qword [rsp + 0x48]
or word [rbx + 0x12], 4
mov r8, qword [r12 + 0x68]
mov eax, dword [rax + 0x8c]
add edi, 1
add rbx, 0x38
cmp edi, eax
jl 0x4ab998
mov rbp, r13
mov qword [rsp + 0x98], r8
mov r13, qword [rsp + 0x50]
jmp 0x4ab87a
mov rax, qword [rsp + 0x98]
jmp 0x4aa305
mov r8, qword [rbp + 0xa8]
mov eax, 1
mov ecx, r12d
test r8, r8
cmove r8, rbp
shl eax, cl
mov edx, dword [r8 + 0x7c]
test edx, eax
jne 0x4aa119
or eax, edx
mov dword [r8 + 0x7c], eax
cmp r12d, 1
jne 0x4aa119
mov rcx, r8
call fcn.0048c340
jmp 0x4aa119
mov edx, dword [r13 + 0x90]
lea rax, [0x0066e7a0]
test edx, edx
jg 0x4ab7f4
cmp dword [rsp + 0x70], 1
mov dword [rax + 8], edx
jne 0x4ab83c
mov esi, dword [rsp + 0x80]
test esi, esi
je 0x4ab852
movzx eax, byte [rbp + 0x1f]
cmp al, 7
ja 0x4ab852
lea edx, [rax + 1]
mov byte [rbp + 0x1f], dl
mov dword [rbp + rax*4 + 0xe4], esi
jmp 0x4ab852
mov r15, qword [rdi + 0x10]
test r15, r15
jne 0x4abacd
jmp 0x4aeba2
mov r15, qword [r15 + 0x28]
test r15, r15
je 0x6073cc
movzx eax, byte [r15 + 0x64]
and eax, 3
cmp al, 2
jne 0x4abac0
movzx ebx, word [r15 + 0x5e]
mov rcx, rbp
lea eax, [rbx + 1]
mov edx, eax
mov dword [rsp + 0x70], eax
call fcn.0040da90
mov dword [rsp + 0x80], eax
test ebx, ebx
je 0x4ae5d4
add eax, 1
xor r14d, r14d
mov qword [rsp + 0x240], rbp
mov rsi, r15
mov dword [rsp + 0x88], eax
mov rbp, r14
mov r14, rdi
mov r15d, eax
mov edi, dword [rsp + 0x78]
nop dword [rax + rax]
mov rdx, qword [rsi + 8]
mov r8d, edi
mov rcx, r13
movsx r9d, word [rdx + rbp*2]
lea edx, [r15 + rbp]
add rbp, 1
mov dword [rsp + 0x20], edx
mov rdx, r14
call fcn.0049d620
cmp ebx, ebp
jg 0x4abb28
mov esi, dword [rsp + 0x88]
mov rbp, qword [rsp + 0x240]
jmp 0x4ab720
mov ebx, dword [rax + 0x3c]
mov eax, dword [rax + 0x38]
xor r9d, r9d
mov edx, 0xb
mov rcx, r13
xor r15d, r15d
mov edi, 2
mov dword [rsp + 0x20], eax
mov r8d, ebx
call fcn.0043e0f0
mov r9d, esi
mov r8d, ebx
mov edx, 0xc
mov rcx, r13
call fcn.0043e160
mov byte [r12 + 0x41], 9
mov dword [r12 + 0x48], eax
jmp 0x4aaa50
mov rax, qword [r15]
mov edx, 0x24
mov rcx, qword [rax]
call fcn.0042cd60
mov rbx, rax
test rax, rax
je 0x4ac7a0
mov rax, qword [r15 + 0x60]
mov r14, qword [rsp + 0x58]
mov r8d, 0x10000
mov qword [rbx + 8], 0x14
mov qword [rbx], rax
lea rax, [rbx + 0x10]
mov rcx, r14
mov qword [r15 + 0x60], rbx
mov qword [rsi + 0x38], rax
mov eax, dword [rbp + 0x34]
lea edx, [rax + 1]
mov dword [rbp + 0x34], edx
mov edx, 0x4d
mov dword [rbx + 0x10], eax
mov eax, dword [rbp + 0x38]
lea r9d, [rax + 1]
mov dword [rbp + 0x38], r9d
mov dword [rbx + 0x14], r9d
call fcn.0043e160
mov eax, dword [rbp + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r14
lea r9d, [rax + 1]
mov dword [rbp + 0x38], r9d
mov dword [rbx + 0x18], r9d
call fcn.0043e160
test byte [rdi + 0x30], 0x80
jne 0x4acc18
mov r8d, dword [rbx + 0x10]
mov edx, 0x76
mov rcx, r14
mov r9d, 1
call fcn.0043e160
mov r12, qword [rbp]
mov edx, 0x29
mov rcx, r12
call fcn.0042cd60
test rax, rax
je 0x4acff7
lea rdx, [rax + 0x28]
mov dword [rax + 6], 0x10001
mov qword [rax + 0x18], rdx
movzx ecx, byte [r12 + 0x64]
mov qword [rax + 0x10], r12
mov byte [rax + 4], cl
mov dword [rax], 1
mov byte [rax + 0x28], 0
mov rdi, qword [rsp + 0x58]
mov qword [rax + 0x20], 0
mov byte [rdx], 0
mov rdx, qword [rdi]
cmp byte [rdx + 0x67], 0
jne 0x4ae67c
movsxd rdx, dword [rdi + 0x90]
lea rcx, [rdx + rdx*2]
mov rdx, qword [rdi + 0x88]
lea rdx, [rdx + rcx*8 - 0x18]
mov byte [rdx + 1], 0xf8
mov qword [rdx + 0x10], rax
and dword [r13 + 0x38], 0xffffffbf
mov byte [r15 + 0x41], 0
mov byte [r15 + 0x43], 3
jmp 0x4aa134
mov r9, qword [rsp + 0x98]
mov edx, dword [rsp + 0x68]
mov r8, r12
mov rcx, qword [rsp + 0x48]
call fcn.004a47f0
jmp 0x4aa21f
movsxd rdi, dword [r13 + 0x90]
cmp edi, dword [r13 + 0x94]
jge 0x4acfa0
lea eax, [rdi + 1]
mov dword [r13 + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0xf
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
lea rax, [rbx + rbx*2]
mov edx, 0xa
mov rcx, r13
lea rax, [rbx + rax*4]
mov rbx, qword [rsp + 0x248]
lea rax, [rbx + rax*8]
mov r9d, dword [rax + 0x38]
mov r8d, dword [rax + 0x3c]
call fcn.0043e160
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x4abda7
mov rax, qword [r13 + 0x88]
lea rcx, [rdi + rdi*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x4aa1d3
mov rax, qword [rsp + 0x48]
mov rbp, r13
mov r13, rbx
mov rbx, qword [rax + 0x90]
jmp 0x4ab496
mov r8d, dword [rbp + 0x34]
lea eax, [r8 + 1]
mov dword [rbp + 0x34], eax
test byte [r14 + 0x65], 8
je 0x4abdf4
mov rax, qword [rsp + 0xa8]
test byte [rax + 0x63], 1
je 0x4ad0b0
mov dword [rsi + 8], r8d
mov edx, 0x70
jmp 0x4aa090
movzx edi, word [rbx + 0x3c]
mov rcx, rbp
lea edx, [rdi + 2]
mov dword [rsp + 0xa0], edi
call fcn.0040da90
mov dword [rsp + 0xd8], eax
mov esi, eax
mov eax, dword [r12 + 0xc]
mov dword [rsp + 0x88], eax
test edi, edi
je 0x4abf88
sub edi, 1
mov eax, 0x1f
cmp edi, 0x1f
cmovle eax, edi
xor r14d, r14d
lea edi, [rsi + 2]
mov dword [rsp + 0x80], eax
jmp 0x4abeec
mov edx, 1
mov ecx, r14d
shl edx, cl
test dword [rbx + 0x30], edx
je 0x4abf4f
mov r8d, dword [rbp + 0x34]
mov dword [rsp + 0xd0], eax
mov rcx, rbp
mov eax, dword [rbp + 0x38]
lea edx, [r8 + 1]
mov dword [rsp + 0xc4], r8d
lea r9d, [rax + 1]
mov dword [rbp + 0x34], edx
mov rdx, qword [r15]
mov dword [rbp + 0x38], r9d
mov dword [rsp + 0xc8], r9d
call fcn.004964c0
mov r9d, dword [rsp + 0xc8]
mov edx, 0xae
mov rcx, r13
mov eax, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xc4]
mov dword [rsp + 0x20], r9d
mov r9d, eax
call fcn.0043e0f0
add esi, 1
add r14, 1
cmp dword [rsp + 0x80], r14d
jl 0x4ac2e0
mov rdx, qword [rbx + 0x48]
mov esi, r14d
lea eax, [rdi + r14]
mov r15, qword [rdx + r14*8]
test r15, r15
je 0x4abed7
test byte [r15 + 0x14], 1
jne 0x4abe60
mov rdx, qword [r15]
mov r9d, 1
mov r8d, eax
mov rcx, rbp
mov rdx, qword [rdx + 0x18]
call fcn.0049c470
cmp byte [r15 + 0x17], 0x4a
jne 0x4abed7
test byte [rbx + 0x1c], 2
je 0x4abed7
mov rax, qword [rsp + 0x48]
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
mov rax, qword [rax + 0x20]
mov r9d, dword [rax + 0xc]
call fcn.0043e160
jmp 0x4abed7
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
mov r9d, r14d
mov r8, r12
mov rdx, r15
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.004a7cf0
mov eax, dword [r12 + 0x10]
mov dword [rsp + 0x88], eax
jmp 0x4abed7
mov r13, qword [rsp + 0x80]
mov r14d, dword [rsp + 0xd8]
mov r8d, dword [rbx + 0x18]
mov edx, 0x47
mov rcx, r13
mov r9d, r14d
call fcn.0043e160
mov r8d, dword [rsp + 0xa0]
lea r9d, [r14 + 1]
mov rcx, r13
mov edx, 0x47
call fcn.0043e160
movzx eax, byte [rbx + 0x1c]
mov rdi, qword [rbx + 0x28]
mov rcx, r13
mov dword [rsp + 0x20], r14d
mov r8d, dword [rsp + 0x78]
mov edx, 6
and eax, 1
mov r9d, dword [rsp + 0x88]
cmp al, 1
sbb esi, esi
call fcn.0043e0f0
or esi, 0xfffffffa
mov r8, rdi
mov rcx, r13
mov edx, eax
mov r9d, esi
call fcn.0045e5b0
mov rax, qword [rsp + 0x50]
and byte [rbx + 0x1c], 0xfe
cmp byte [rax + 0x67], 0
je 0x4ac015
mov qword [rbx + 0x28], 0
mov eax, dword [rsp + 0x78]
mov dword [r12 + 0x44], eax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x42], 1
sbb eax, eax
and eax, 0xffffff87
sub eax, 0x48
mov byte [r12 + 0x41], al
mov eax, dword [r13 + 0x90]
mov dword [r12 + 0x48], eax
mov eax, dword [rsp + 0xa0]
test eax, eax
je 0x4ac14c
mov eax, dword [rsp + 0xa0]
lea r14d, [rax - 1]
mov eax, 0xf
cmp r14d, 0xf
cmovg r14d, eax
mov eax, dword [rsp + 0xd8]
xor edi, edi
add eax, 2
mov dword [rsp + 0x70], eax
jmp 0x4ac0a5
test byte [r15 + 0x14], 1
je 0x4ac099
mov edx, 1
mov ecx, esi
shl edx, cl
test dword [rbx + 0x30], edx
je 0x4ac159
add rdi, 1
add esi, 1
cmp r14d, edi
jl 0x4ac0e0
mov rax, qword [rbx + 0x48]
mov ecx, edi
mov esi, edi
mov r15, qword [rax + rdi*8]
movzx eax, word [rbx + 0x22]
sar eax, cl
and eax, 1
je 0x4ac080
lea rdx, [r12 + 0x68]
mov r8, r15
mov rcx, r12
add rdi, 1
call fcn.0040e0f0
add esi, 1
cmp r14d, edi
jge 0x4ac0a5
nop dword [rax + rax]
mov r14d, dword [rsp + 0xd8]
mov r15d, dword [rsp + 0xa0]
movsxd rdi, esi
lea rax, [rsp + 0x170]
mov qword [rsp + 0x80], rax
shl rdi, 3
add r14d, 2
cmp r15d, esi
jle 0x4ac14c
mov dword [rsp + 0x70], r14d
nop dword [rax]
mov rax, qword [rbx + 0x48]
mov r14, qword [rax + rdi]
test byte [r14 + 0x14], 1
je 0x4ac140
cmp esi, 0x1f
jle 0x4ac3b0
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
je 0x4ac618
nop
add esi, 1
add rdi, 8
cmp r15d, esi
jne 0x4ac118
xor r15d, r15d
mov edi, 2
jmp 0x4aaa50
mov rcx, qword [rsp + 0x50]
cmp byte [rcx + 0x67], 0
jne 0x4ac099
mov ecx, dword [r12 + 0x50]
test ecx, ecx
jle 0x4ac206
mov rdx, qword [r13]
mov r9, qword [r12 + 0x58]
cmp byte [rdx + 0x67], 0
jne 0x4acf40
lea edx, [rcx - 1]
mov ecx, dword [rsp + 0x70]
mov r8, qword [r13 + 0x88]
lea rax, [r9 + 4]
lea rdx, [rdx + rdx*4]
lea r11, [r9 + rdx*4 + 0x18]
add ecx, esi
jmp 0x4ac1cb
cmp r9b, 0x87
jne 0x4ac1c2
mov r9d, ecx
cmp ecx, dword [rdx + 8]
je 0x4ae447
add rax, 0x14
cmp r11, rax
je 0x4ac206
movsxd rdx, dword [rax]
lea rdx, [rdx + rdx*2]
lea rdx, [r8 + rdx*8]
movzx r9d, byte [rdx]
cmp r9b, 0x5e
jne 0x4ac1b0
mov r10d, ecx
cmp ecx, dword [rdx + 0xc]
jne 0x4ac1c2
mov r9d, dword [rdx + 8]
mov r11d, 0x5e
mov r8d, dword [rdx + 4]
mov dword [rsp + 0x20], r10d
mov edx, r11d
mov rcx, r13
call fcn.0043e0f0
xor r8d, r8d
mov edx, 0x35
mov rcx, rbp
call fcn.0044f200
mov r10, rax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
jne 0x4acec0
mov rdx, qword [r15]
mov eax, dword [r15 + 0x24]
mov rdx, qword [rdx + 0x10]
test eax, eax
jle 0x4ac248
sub eax, 1
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
mov qword [r10 + 0x10], rdx
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
lea r8, [rsp + 0x170]
mov edx, 0xb0
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x170], 0
mov dword [rsp + 0x178], 0
call fcn.0042d700
mov r10, qword [rsp + 0x80]
mov qword [r10 + 0x18], rax
test rax, rax
je 0x4ac2be
mov ecx, dword [rsp + 0x70]
mov r8d, dword [r12 + 0x18]
mov r9d, 0x10
lea edx, [rcx + rsi]
mov rcx, rbp
mov dword [rax + 0x2c], edx
mov rdx, r10
call fcn.00498a30
mov r10, qword [rsp + 0x80]
mov qword [r10 + 0x10], 0
mov rcx, qword [rsp + 0x50]
mov rdx, r10
call fcn.00424ea0
jmp 0x4ac099
movsxd rax, esi
lea r15, [rax*8]
cmp dword [rsp + 0xa0], esi
jle 0x4abf88
mov qword [rsp + 0x80], r13
mov r14d, dword [rsp + 0xa0]
jmp 0x4ac34a
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x28], r8d
mov r9d, esi
mov r8, r12
mov rdx, r13
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.004a7cf0
mov eax, dword [r12 + 0x10]
mov dword [rsp + 0x88], eax
add esi, 1
add r15, 8
cmp r14d, esi
je 0x4abf80
mov rax, qword [rbx + 0x48]
lea r8d, [rsi + rdi]
mov r13, qword [rax + r15]
test r13, r13
je 0x4ac33a
test byte [r13 + 0x14], 1
jne 0x4ac310
mov rdx, qword [r13]
mov r9d, 1
mov rcx, rbp
mov rdx, qword [rdx + 0x18]
call fcn.0049c470
cmp byte [r13 + 0x17], 0x4a
jne 0x4ac33a
test byte [rbx + 0x1c], 2
je 0x4ac33a
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
mov edx, 0x47
mov rax, qword [rax + 0x20]
mov r9d, dword [rax + 0xc]
call fcn.0043e160
jmp 0x4ac33a
mov eax, 1
mov ecx, esi
shl eax, cl
test dword [rbx + 0x30], eax
jne 0x4ac140
jmp 0x4ac130
mov esi, dword [rbp + 0x38]
lea eax, [rsi + 1]
add esi, 2
mov dword [rsp + 0x80], eax
mov dword [rbp + 0x38], esi
jmp 0x4ab6fe
mov eax, dword [rbp + 0x38]
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
lea r9d, [rax + 1]
mov dword [rbp + 0x38], r9d
mov dword [r12], r9d
call fcn.0043e160
jmp 0x4aa360
mov rsi, rbx
mov r14, rax
mov rbx, qword [rsp + 0x50]
jmp 0x4ab5f0
test al, 0x20
jne 0x4accf0
test al, 0x10
jne 0x4ad3b0
mov r14d, dword [rsp + 0x70]
test r14d, r14d
je 0x4ae10c
mov r8d, dword [rsp + 0x78]
mov edx, 0x20
mov rcx, r13
call fcn.0043e160
mov eax, 0x27
sub eax, dword [rsp + 0x70]
xor r15d, r15d
mov edx, dword [r13 + 0x90]
mov byte [r12 + 0x41], al
mov eax, dword [rsp + 0x78]
mov edi, 2
mov dword [r12 + 0x48], edx
mov dword [r12 + 0x44], eax
jmp 0x4aaa50
test ah, 0x20
je 0x4ace88
mov eax, dword [rbp + 0x34]
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov dword [rsp + 0xc4], eax
add eax, 1
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x38]
lea esi, [rax + 1]
mov eax, dword [rbp + 0x44]
mov dword [rbp + 0x38], esi
sub eax, 1
mov dword [rsp + 0xd8], esi
mov dword [rbp + 0x44], eax
mov dword [rsp + 0xe4], eax
lea rax, [rdi + rdi*2]
lea rax, [rdi + rax*4]
mov rax, qword [r15 + rax*8 + 0x28]
mov qword [rsp + 0xd0], rax
mov rax, qword [rbx + 0x48]
mov rax, qword [rax]
mov rdi, qword [rax + 0x20]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x48]
mov byte [r12 + 0x41], 0x43
mov dword [r12 + 0x44], esi
movzx eax, byte [rax + 0x40]
cmp al, 1
ja 0x4addcb
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
test byte [rax + 0x3c], 0x10
jne 0x4ad6b0
mov rax, qword [rsp + 0xd0]
test byte [rax + 0x30], 0x80
je 0x4ae15b
mov r14, qword [rax + 0x10]
test r14, r14
jne 0x4ac56d
jmp 0x4aeb98
mov r14, qword [r14 + 0x28]
test r14, r14
je 0x4aeb9d
movzx eax, byte [r14 + 0x64]
and eax, 3
cmp al, 2
jne 0x4ac560
mov r8d, dword [rbp + 0x34]
movzx r9d, word [r14 + 0x5e]
mov edx, 0x76
mov rcx, r13
lea eax, [r8 + 1]
mov dword [rsp + 0xf8], r8d
mov dword [rbp + 0x34], eax
call fcn.0043e160
mov rdx, r14
mov rcx, rbp
call fcn.0045ad50
mov eax, dword [rbp + 0x38]
add eax, 1
mov dword [rsp + 0xec], eax
mov dword [rbp + 0x38], eax
jmp 0x4ad6c6
mov rcx, qword [rsp + 0x248]
lea rax, [rbx + rbx*2]
mov r8d, dword [rsp + 0x278]
lea rax, [rbx + rax*4]
mov rax, qword [rcx + rax*8 + 0x28]
mov rax, qword [rax + 0x10]
cmp r14, rax
je 0x4ac602
test rax, rax
jne 0x4ac5f5
jmp 0x4ac602
cmp r14, rax
je 0x4ac602
mov rax, qword [rax + 0x28]
add r8d, 1
test rax, rax
jne 0x4ac5f0
mov dword [r15 + 0x2c], r8d
mov edx, 0x71
mov dword [rsi + 8], r8d
jmp 0x4aa090
mov edx, dword [r12 + 0x50]
test edx, edx
jle 0x4ac6b6
mov rax, qword [r13]
mov rcx, qword [r12 + 0x58]
cmp byte [rax + 0x67], 0
jne 0x4acee0
sub edx, 1
lea rax, [rcx + 4]
mov r8, qword [r13 + 0x88]
lea rdx, [rdx + rdx*4]
lea r10, [rcx + rdx*4 + 0x18]
mov ecx, dword [rsp + 0x70]
add ecx, esi
jmp 0x4ac67b
cmp r9b, 0x87
jne 0x4ac672
mov r9d, ecx
cmp ecx, dword [rdx + 8]
je 0x4ae3cf
add rax, 0x14
cmp rax, r10
je 0x4ac6b6
movsxd rdx, dword [rax]
lea rdx, [rdx + rdx*2]
lea rdx, [r8 + rdx*8]
movzx r9d, byte [rdx]
cmp r9b, 0x5e
jne 0x4ac660
mov r11d, ecx
cmp ecx, dword [rdx + 0xc]
jne 0x4ac672
mov r9d, dword [rdx + 8]
mov r10d, 0x5e
mov r8d, dword [rdx + 4]
mov dword [rsp + 0x20], r11d
mov edx, r10d
mov rcx, r13
call fcn.0043e0f0
xor r8d, r8d
mov edx, 0x35
mov rcx, rbp
call fcn.0044f200
mov r10, rax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
jne 0x4aced0
mov rdx, qword [r14]
mov eax, dword [r14 + 0x24]
mov rdx, qword [rdx + 0x10]
test eax, eax
jle 0x4ac6f8
sub eax, 1
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
mov qword [r10 + 0x10], rdx
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov edx, 0xb0
mov r8, qword [rsp + 0x80]
mov qword [rsp + 0x88], r10
mov qword [rsp + 0x170], 0
mov dword [rsp + 0x178], 0
call fcn.0042d700
mov r10, qword [rsp + 0x88]
mov qword [r10 + 0x18], rax
test rax, rax
je 0x4ac76e
mov ecx, dword [rsp + 0x70]
mov r8d, dword [r12 + 0x18]
mov r9d, 0x10
lea edx, [rcx + rsi]
mov rcx, rbp
mov dword [rax + 0x2c], edx
mov rdx, r10
call fcn.00498a30
mov r10, qword [rsp + 0x88]
mov qword [r10 + 0x10], 0
mov rcx, qword [rsp + 0x50]
mov rdx, r10
call fcn.00424ea0
jmp 0x4ac140
xor r12d, r12d
jmp 0x4a9f2e
mov qword [rsi + 0x38], 0
jmp 0x4aa134
mov rax, qword [r15 + 0x18]
test byte [rax + 0x30], 0x80
je 0x4ad4d0
cmp dword [rsp + 0x78], r14d
je 0x4acff0
mov rdi, qword [rax + 0x10]
test rdi, rdi
jne 0x4ac7ed
jmp 0x4aebac
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x6073e0
movzx eax, byte [rdi + 0x64]
and eax, 3
cmp al, 2
jne 0x4ac7e0
movzx edx, word [rdi + 0x5e]
mov rcx, rbp
call fcn.0040da90
cmp word [rdi + 0x5e], 0
mov dword [rsp + 0x50], eax
je 0x4aeb31
mov qword [rsp + 0x240], rbp
mov rbp, r15
mov r15d, r14d
mov r14, qword [rsp + 0x240]
mov qword [rsp + 0x80], rbx
xor esi, esi
mov ebx, eax
nop dword [rax]
mov rax, qword [rdi + 8]
movzx edx, word [rax + rsi*2]
movzx eax, word [rbp + 0x60]
test eax, eax
je 0x4ae260
mov rcx, qword [rbp + 8]
xor r9d, r9d
jmp 0x4ac865
add r9, 1
cmp eax, r9d
jle 0x4ae260
cmp dx, word [rcx + r9*2]
jne 0x4ac858
movsx r9d, r9w
lea eax, [rbx + rsi]
mov r8d, r15d
mov edx, 0x5e
mov rcx, r13
mov dword [rsp + 0x20], eax
add rsi, 1
call fcn.0043e0f0
movzx eax, word [rdi + 0x5e]
cmp eax, esi
jg 0x4ac838
mov qword [rsp + 0x240], r14
mov rbx, qword [rsp + 0x80]
mov r14d, r15d
mov r15, rbp
mov rbp, qword [rsp + 0x240]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x50]
mov edx, 0x1c
mov rcx, r13
mov r9d, dword [rsp + 0xb8]
mov r8d, dword [rsp + 0x78]
xor esi, esi
mov dword [rsp + 0x20], eax
call fcn.0043e610
jmp 0x4aa9ec
mov r14, qword [rdi + 0x50]
mov rax, qword [rsp + 0xa8]
test r14, r14
jne 0x4ac901
jmp 0x4ac906
mov r14, qword [r14 + 0x28]
test r14, r14
je 0x4ac906
cmp rax, qword [r14]
jne 0x4ac8f8
mov rcx, qword [rsp + 0x248]
lea rax, [rbx + rbx*2]
xor r9d, r9d
mov edx, 0xad
lea rax, [rbx + rax*4]
mov byte [rsp + 0x70], r11b
mov r8d, dword [rcx + rax*8 + 0x4c]
mov rcx, qword [rsp + 0x58]
call fcn.0043e160
mov rcx, qword [rsp + 0x58]
mov r9d, 0xfffffff5
mov r8, r14
mov edx, eax
call fcn.0045e5b0
mov eax, dword [r13 + 0x38]
movzx r11d, byte [rsp + 0x70]
jmp 0x4aa030
cmp word [rsp + 0x60], 0
je 0x4aa053
mov eax, dword [rsi + 4]
mov dword [rsi + 8], eax
jmp 0x4aa110
test byte [r14 + 0x3c], 0x20
jne 0x4a9b42
mov rsi, qword [r15 + 0x28]
cmp byte [rsi + 0x3f], 1
je 0x4a9b42
test byte [r15 + 0x48], 3
jne 0x4a9b42
lea rax, [r14 + 0x70]
xor r10d, r10d
mov edi, dword [r15 + 0x4c]
mov ebx, 0xffffffff
movq xmm0, rax
mov qword [rsp + 0x50], rax
mov r11d, 0x100
movabs rax, 0x8200000000
mov dword [r12 + 0x38], 0
punpcklqdq xmm0, xmm0
mov word [r12 + 0x3e], r10w
mov word [rsp + 0x1c8], bx
lea rbx, [rsp + 0x170]
movups xmmword [rsp + 0x170], xmm0
mov rcx, rbx
pxor xmm0, xmm0
mov dword [rsp + 0x19c], edi
mov qword [rsp + 0x190], rax
mov word [rsp + 0x198], r11w
mov byte [rsp + 0x19a], 1
movups xmmword [rsp + 0x180], xmm0
call fcn.00457490
test rax, rax
jne 0x4aca51
jmp 0x4ae709
mov rcx, rbx
call fcn.00457490
test rax, rax
je 0x4ae709
cmp qword [rax + 0x28], 0
jne 0x4aca40
mov rdx, qword [r12 + 0x48]
mov ecx, 1
mov dword [r12 + 0x38], 0x1101
mov r8d, 0x21
mov qword [rdx], rax
mov edx, 1
mov eax, 0x1101
mov word [r12 + 0x3c], dx
mov word [r12 + 0x18], cx
mov word [r12 + 0x14], r8w
mov edx, 1
mov ecx, 1
mov word [r12 + 0x16], dx
mov rdx, qword [r14 + 0x10]
mov qword [r14 + 0x3c0], r12
mov qword [r12 + 8], 1
mov dword [r14 + 0x364], edi
mov word [r14 + 0x48], cx
test rdx, rdx
je 0x4acacb
mov edx, dword [rdx]
mov byte [r14 + 0x41], dl
test byte [r14 + 0x3d], 1
je 0x4acad7
mov byte [r14 + 0x43], 1
cmp byte [rsp + 0x199], 1
jbe 0x4a9d98
or eax, 0x200000
mov dword [r12 + 0x38], eax
jmp 0x4a9d98
mov rdx, qword [rbx + 0x10]
mov rsi, rdx
test rdx, rdx
je 0x4acb30
nop dword [rax]
mov eax, dword [rsi + 4]
test eax, 0x82000
je 0x4acca0
test eax, 0x80000
je 0x4acb70
mov rax, qword [rsi + 0x20]
mov rsi, qword [rax + 8]
test rsi, rsi
jne 0x4acb08
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
mov rbx, rdx
test rdx, rdx
je 0x4a9626
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x4accc0
test eax, 0x80000
je 0x4acb80
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
test rbx, rbx
jne 0x4acb40
jmp 0x4a9626
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x4acb08
jmp 0x4acb30
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x4acb40
jmp 0x4a9626
mov rax, qword [rbx + 0x48]
xor r9d, r9d
mov r8, r12
mov rcx, rbp
mov rdx, qword [rax]
mov eax, dword [rbp + 0x38]
lea r14d, [rax + 1]
mov eax, dword [rsp + 0x70]
mov dword [rbp + 0x38], r14d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], eax
call fcn.004a7cf0
mov ebx, eax
cmp r14d, eax
je 0x4acbd4
test r14d, r14d
je 0x4acbd4
mov edx, r14d
mov rcx, rbp
call fcn.0040da70
mov r15d, dword [r12 + 0x34]
mov esi, dword [r12 + 0x10]
test r15d, r15d
jne 0x4adefe
mov dword [rsp + 0x20], ebx
mov r8d, dword [rsp + 0x78]
mov r9d, esi
mov rcx, r13
mov edx, 0x1e
xor r15d, r15d
mov edi, 2
call fcn.0043e0f0
mov byte [r12 + 0x41], 0xb8
jmp 0x4aaa50
mov r12, qword [rdi + 0x10]
test r12, r12
jne 0x4acc3e
jmp 0x4aeba7
mov r12, qword [r12 + 0x28]
test r12, r12
je 0x6073d6
movzx eax, byte [r12 + 0x64]
and eax, 3
cmp al, 2
jne 0x4acc30
mov rcx, qword [rsp + 0x58]
movzx r9d, word [r12 + 0x5e]
mov edx, 0x76
mov r8d, dword [rbx + 0x10]
call fcn.0043e160
mov rdx, r12
mov rcx, rbp
call fcn.0045ad50
jmp 0x4abcd6
mov qword [rsp + 0x98], 0xffffffffffffffff
cmp al, 1
jbe 0x4a9e0b
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x60]
jmp 0x4a9e00
cmp byte [rsi], 0x2c
je 0x4ae40f
mov rcx, qword [rsp + 0x90]
xor r8d, r8d
call fcn.0042d990
jmp 0x4acb30
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x80], 0x2c
cmp byte [rbx], 0x2c
je 0x4ae3de
mov rcx, qword [rsp + 0x90]
xor r8d, r8d
call fcn.0042d990
jmp 0x4a9923
mov rdx, qword [rbx + 0x48]
mov rbx, qword [rdx]
test al, 0x10
jne 0x4ad4a0
mov edi, dword [rsp + 0x70]
test edi, edi
je 0x4ae100
mov edx, 0x20
mov r8d, dword [rsp + 0x78]
mov rcx, r13
mov r14, rbx
call fcn.0043e160
test r14, r14
je 0x4ac460
mov eax, dword [rbp + 0x38]
mov rdi, qword [r14]
mov r9d, 1
mov rcx, rbp
lea ebx, [rax + 1]
mov rdx, qword [rdi + 0x18]
mov dword [rbp + 0x38], ebx
mov r8d, ebx
call fcn.0049c470
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x4acd59
movzx eax, byte [rdx + 2]
cmp al, 0xb1
je 0x4ae6a8
cmp al, 0x8a
je 0x4ad477
movzx ecx, byte [rdi]
sub ecx, 0x36
and ecx, 0xfd
jne 0x4ad48a
cmp dword [rsp + 0x70], 1
sbb r15d, r15d
and r15d, 2
add r15d, 0x37
cmp al, 0xb1
je 0x4ae6b3
cmp al, 0x8a
je 0x4ae620
lea rdx, [r12 + 0x68]
mov r8, r14
mov rcx, r12
call fcn.0040e0f0
mov eax, 0x27
sub eax, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x78]
mov rcx, r13
mov edx, dword [r13 + 0x90]
mov byte [r12 + 0x41], al
mov eax, dword [rbp + 0x38]
mov dword [r12 + 0x44], r8d
mov dword [r12 + 0x48], edx
mov edx, 0x87
lea edi, [rax + 1]
mov dword [rbp + 0x38], edi
mov r9d, edi
call fcn.0043e160
mov dword [rsp + 0x20], edi
mov r9d, esi
mov r8d, ebx
mov edx, r15d
mov rcx, r13
call fcn.0043e0f0
movsxd rax, dword [r13 + 0x90]
test eax, eax
jle 0x4ac14c
mov r9, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov r10d, 0x53
xor r15d, r15d
mov edi, 2
lea rax, [r9 + rax*8]
mov word [rax - 0x16], r10w
jmp 0x4aaa50
mov ebx, dword [rsp + 0x70]
test ebx, ebx
sete dl
add edx, 0x26
mov byte [r12 + 0x41], dl
jmp 0x4aaa20
mov byte [rsp + 0xf0], 0
mov qword [rsp + 0xc8], 0
jmp 0x4aa4bf
mov eax, dword [r12 + 0x10]
mov dword [rsp + 0xe4], eax
jmp 0x4aa5d4
and r8d, 0x40
je 0x4ae541
mov byte [r12 + 0x41], 0xb8
xor r15d, r15d
mov edi, 2
jmp 0x4aaa50
mov edx, edi
xor esi, esi
xor edi, edi
jmp 0x4aa47c
xor r8d, r8d
jmp 0x4aacf5
test r10, r10
je 0x4ac099
jmp 0x4ac2c6
test r10, r10
je 0x4ac140
jmp 0x4ac776
lea rax, [0x0066e7a0]
mov r8d, dword [0x0066e7a8]
mov r11d, dword [0x0066e7ac]
movzx ecx, byte [rax]
mov eax, dword [rsp + 0x70]
lea r9d, [rax + rsi]
xor eax, eax
jmp 0x4acf21
cmp cl, 0x87
jne 0x4acf16
cmp r9d, r8d
je 0x4ae3c8
add eax, 1
cmp edx, eax
je 0x4ac6b6
cmp cl, 0x5e
jne 0x4acf08
cmp r9d, r11d
jne 0x4acf16
lea rdx, [0x0066e7a0]
jmp 0x4ac698
mov r10d, dword [rsp + 0x70]
lea rdx, [0x0066e7a0]
mov r9d, dword [0x0066e7a8]
movzx edx, byte [rdx]
mov r8d, dword [0x0066e7ac]
add r10d, esi
jmp 0x4acf81
cmp dl, 0x87
jne 0x4acf76
cmp r9d, r10d
je 0x4ae440
add eax, 1
cmp eax, ecx
je 0x4ac206
cmp dl, 0x5e
jne 0x4acf68
cmp r8d, r10d
jne 0x4acf76
lea rdx, [0x0066e7a0]
jmp 0x4ac1e8
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.0043df10
movsxd rdi, eax
jmp 0x4abd57
mov r8, rbx
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x240]
mov r9d, 0xfffffff2
mov edx, 0xffffffff
mov rcx, rdi
call fcn.0045e5b0
nop
xor esi, esi
jmp 0x4aa9ec
mov rcx, r12
call fcn.0042cc50
test rax, rax
je 0x4abcd6
mov rdx, qword [rax + 0x18]
jmp 0x4abc9a
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, rbp
call fcn.0042c9e0
mov qword [rsp + 0x48], 0
jmp 0x4aabf4
mov eax, dword [rbp + 0x38]
mov edx, dword [r12]
add eax, 1
mov dword [rbp + 0x38], eax
mov dword [rsp + 0x88], eax
mov dword [r12 + 0x24], eax
test edx, edx
jne 0x4ae6c6
mov eax, dword [rbp + 0x44]
mov byte [rsp + 0xf0], 1
mov esi, 1
sub eax, 1
mov dword [rbp + 0x44], eax
mov dword [r12 + 0x28], eax
jmp 0x4aa4da
mov eax, dword [rsp + 0xc4]
mov r8d, r14d
mov edx, 0x7d
mov rcx, r13
mov dword [rsp + 0x20], eax
mov r9d, eax
call fcn.0043e0f0
mov eax, dword [rbx + 0x38]
jmp 0x4aa9ce
mov rcx, qword [rsp + 0x248]
lea rax, [r11 + r11*2]
mov dword [rsp + 0x70], r8d
lea rax, [r11 + rax*4]
lea rax, [rcx + rax*8 + 8]
mov rcx, rbp
lea rdx, [rax + 0x44]
lea r9, [rax + 0x3c]
mov qword [rsp + 0x20], rdx
mov rdx, r14
call fcn.00438410
mov r8d, dword [rsp + 0x70]
mov edx, 0x70
mov dword [rsi + 8], r8d
jmp 0x4aa090
mov rax, qword [rdi]
mov r8d, dword [rdi + 0x28]
xor r9d, r9d
mov edx, r12d
mov rcx, rbp
mov byte [rsp + 0x70], r11b
mov qword [rsp + 0x20], rax
call fcn.0043c4e0
mov eax, dword [r13 + 0x38]
movzx r11d, byte [rsp + 0x70]
jmp 0x4aa030
mov dword [rsp + 0xf0], 0
nop dword [rax]
cmp byte [rsp + 0x80], 0
mov edi, dword [rsp + 0xc4]
je 0x4aa90f
mov edx, dword [rsp + 0x88]
test edx, edx
je 0x4aea4d
mov eax, dword [rsp + 0xc4]
lea edi, [rax + 1]
jmp 0x4aa90f
cmp qword [rsp + 0xc8], 0
movzx eax, al
mov dword [rsp + 0xf8], eax
je 0x4ae6ee
mov rax, qword [rsp + 0xc8]
mov dword [rsp + 0xec], 1
test byte [rax + 0x14], 0x28
setne al
movzx eax, al
mov dword [rsp + 0x100], eax
cmp byte [rsp + 0xf0], 0
jne 0x4ae586
mov eax, dword [rsp + 0x88]
test eax, eax
jne 0x4ad314
mov esi, dword [rsp + 0xc4]
mov rcx, qword [rbp + 0x10]
mov r9, qword [rsp + 0x170]
mov edx, dword [rsp + 0xa0]
mov r8d, esi
call fcn.00460a50
movzx eax, word [rbx + 0x3e]
test ax, ax
je 0x4ae13f
mov esi, dword [rsp + 0xc4]
cmp esi, eax
jne 0x4ae13f
mov dword [rsp + 0xfc], 0
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x4ad126
mov dword [rsp + 0xf0], 0
mov rax, qword [rax]
mov rsi, qword [rax + 0x18]
jmp 0x4aa831
xor edx, edx
jmp 0x4aa39d
mov r9d, dword [r13 + 0x90]
xor r8d, r8d
mov rcx, r13
mov edx, 9
add r9d, 2
call fcn.0043e160
mov ecx, dword [rsp + 0x70]
xor eax, eax
cmp esi, 1
setg al
sub esi, dword [rsp + 0xec]
mov r9d, dword [rsp + 0xe4]
mov r8d, r14d
lea eax, [rcx + rax*4 + 2]
mov dword [rsp + 0x28], esi
mov rcx, r13
cdqe
movzx edx, byte [rdi + rax]
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
call fcn.0043e610
jmp 0x4aa802
mov eax, dword [rsp + 0xc4]
mov edi, dword [rsp + 0xe4]
mov edx, 0x40
mov rcx, r13
mov dword [rsp + 0xf0], r10d
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xa0]
mov r9d, edi
mov dword [rsp + 0x20], eax
call fcn.0043e610
mov r8d, dword [rsp + 0x68]
mov r9d, edi
mov rcx, rbp
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.004a8ee0
mov r10d, dword [rsp + 0xf0]
jmp 0x4aa794
mov edi, dword [rsp + 0xc4]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r13
mov r9d, dword [rsp + 0xa0]
lea esi, [rdi + 1]
add r9d, edi
call fcn.0043e160
mov rcx, qword [rbp + 0x10]
mov r9, qword [rsp + 0x170]
mov r8d, esi
mov edx, dword [rsp + 0xa0]
call fcn.00460a50
movzx eax, word [rbx + 0x3e]
test ax, ax
je 0x4ad365
cmp esi, eax
je 0x4ad208
mov dword [rsp + 0xfc], 0
mov r10d, 4
mov r9d, dword [rsp + 0x88]
mov r8d, 1
mov edx, 0x47
mov rcx, r13
mov dword [rsp + 0xf0], r10d
call fcn.0043e160
mov r10d, dword [rsp + 0xf0]
jmp 0x4aa786
mov rax, qword [rbx + 0x48]
xor r14d, r14d
mov edx, 0x24
mov rbx, qword [rax]
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x4acd10
test rbx, rbx
je 0x4aeb72
mov dword [rsp + 0x170], 0x17151618
mov rdi, qword [rbx]
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x4ad3f1
movzx eax, byte [rdx + 2]
cmp al, 0xb1
je 0x4ae615
cmp al, 0x8a
je 0x4adf81
lea r8, [rsp + 0x130]
mov rcx, rbp
call fcn.0049d9a0
lea rdx, [r12 + 0x68]
mov r8, rbx
mov rcx, r12
mov r15d, eax
call fcn.0040e0f0
movzx eax, byte [rdi]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x170]
mov dword [rsp + 0x20], r15d
mov r8d, dword [rsp + 0x78]
mov r9d, esi
mov rcx, r13
call fcn.0043e0f0
mov eax, dword [rsp + 0x130]
test eax, eax
je 0x4acd20
movzx edx, byte [rbp + 0x1f]
cmp dl, 7
ja 0x4acd20
lea ecx, [rdx + 1]
mov byte [rbp + 0x1f], cl
mov dword [rbp + rdx*4 + 0xe4], eax
jmp 0x4acd20
mov rcx, qword [rdx + 0x20]
mov rcx, qword [rcx + 0x20]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x4acd69
cmp dword [rsp + 0x70], 1
sbb r15d, r15d
and r15d, 0xfffffffe
add r15d, 0x38
jmp 0x4acd8b
mov r11d, dword [rsp + 0x70]
mov r14, qword [rdx + 8]
test r11d, r11d
jne 0x4aeaa7
test rbx, rbx
jne 0x4ad3d4
mov rbx, r14
mov edx, 0x24
jmp 0x4acd10
mov rax, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x78]
xor r9d, r9d
mov r8d, r14d
mov edx, 0x8d
mov rsi, qword [rax]
mov rdi, qword [rsi + 0x10]
or byte [rax + 0x44], 1
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.0043e0f0
mov rax, qword [rsp + 0x48]
test word [rax + 0x3c], 0x1020
je 0x4acff0
mov rax, qword [rsi + 0xa8]
test rax, rax
cmove rax, rsi
mov eax, dword [rax + 0x78]
test eax, eax
jne 0x4acff0
mov r10, qword [r15 + 0x18]
mov rcx, qword [rsi]
movsx edx, word [r10 + 0x36]
mov qword [rsp + 0x50], r10
add edx, 1
movsxd rdx, edx
shl rdx, 2
call fcn.0042dc60
mov r8, rax
test rax, rax
je 0x4acff0
mov r10, qword [rsp + 0x50]
movsx eax, word [r10 + 0x36]
mov dword [r8], eax
movzx eax, word [r15 + 0x60]
cmp ax, 1
jbe 0x4acfdb
mov r9, qword [r15 + 8]
sub eax, 2
mov esi, 1
mov rcx, r10
lea r11, [rax + 2]
mov qword [rsp + 0x50], rbx
mov rbx, r8
mov qword [rsp + 0x80], rdi
mov rdi, r11
mov qword [rsp + 0x240], rbp
mov rbp, rsi
mov rsi, r9
jmp 0x4ad5c5
test ax, ax
js 0x4ad5b8
movsx edx, ax
call fcn.0040dc80
movsx rax, ax
mov dword [rbx + rax*4 + 4], ebp
add rbp, 1
cmp rdi, rbp
je 0x4acfc3
movzx eax, word [rsi + rbp*2 - 2]
test byte [rcx + 0x30], 0x20
jne 0x4ad5a3
test ax, ax
js 0x4ad5b8
jmp 0x4ad5b0
movzx edi, word [rsp + 0x70]
test dil, 8
je 0x4a9e70
mov rsi, qword [rsp + 0x248]
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x3f], 1
je 0x4a9e70
test ah, 0x20
je 0x4ad613
and edi, 0x10
je 0x4a9e70
mov r8d, 2
jmp 0x4a9e54
mov rcx, rsi
call fcn.00409050
test eax, eax
je 0x4aa8a3
mov r9d, dword [rsp + 0xe4]
mov r8d, dword [rsp + 0x80]
mov edx, 0x32
mov rcx, r13
call fcn.0043e160
jmp 0x4aa8a3
movzx edx, r11w
mov rcx, qword [rsp + 0x50]
add rdx, rax
call fcn.0042dfb0
mov r11d, dword [rsp + 0xd0]
mov qword [rsp + 0xd8], rax
jmp 0x4aa5b9
cmp qword [rdx + 0x308], 0
jne 0x4aa0ed
sub dword [rax], 1
jne 0x4aa0ed
mov rcx, qword [rax + 0x10]
mov rdx, rax
call fcn.0040c530
jmp 0x4aa0ed
mov dword [rsp + 0xec], 0
mov dword [rsp + 0xf8], 0
mov r9d, dword [rsp + 0xd8]
mov rcx, r13
xor r8d, r8d
xor ebx, ebx
mov edx, 0x47
xor r14d, r14d
call fcn.0043e160
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x84]
cmp ecx, 1
jle 0x4ad7a0
mov rsi, r14
mov r14, qword [rsp + 0xf0]
mov r15, rax
nop dword [rax]
mov rdx, qword [r15 + 0x90]
lea rax, [rbx*8]
sub rax, rbx
lea rax, [rdx + rax*8]
cmp r14, rax
je 0x4ad770
test word [rax + 0x12], 0x8006
jne 0x4ad770
test word [rax + 0x14], 0x3fff
je 0x4ad770
mov rdx, qword [rax]
test byte [rdx + 6], 0x40
jne 0x4ad770
mov rcx, qword [rsp + 0x50]
call fcn.00436990
mov rdx, rsi
mov rcx, rbp
mov r8, rax
call fcn.00442fd0
mov ecx, dword [r15 + 0x84]
mov rsi, rax
nop word cs:[rax + rax]
add rbx, 1
cmp ecx, ebx
jg 0x4ad710
test rsi, rsi
je 0x4ad7a0
mov r8, rsi
mov edx, 0x1002c
mov rcx, rbp
call fcn.0044f200
mov qword [rsp + 0xa0], rax
jmp 0x4ad7ac
mov qword [rsp + 0xa0], 0
mov edx, 1
lea r8, str.MULTI_INDEX_OR
mov rcx, rbp
call fcn.004614e0
mov edx, dword [rdi + 0x14]
test edx, edx
jle 0x4aea78
mov dword [rsp + 0x80], 0
xor r15d, r15d
xor ebx, ebx
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x100], r12
jmp 0x4ad9aa
mov rsi, qword [rsp + 0x50]
mov rdx, r12
mov rcx, rsi
call fcn.00436990
cmp byte [rsi + 0x67], 0
mov r12, rax
jne 0x4ad988
mov rax, qword [rsp + 0xa0]
mov rsi, r12
test rax, rax
je 0x4ad82c
mov qword [rax + 0x10], r12
mov rsi, rax
mov r9d, r15d
lea r8, str.INDEX__d
mov edx, 1
mov rcx, rbp
call fcn.004614e0
xor r9d, r9d
mov r8, rsi
mov rcx, rbp
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x30], 0x20
mov qword [rsp + 0x28], 0
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x20], 0
call fcn.004a9390
mov r14, rax
test rax, rax
je 0x4ad988
mov rax, qword [rbp + 0xa8]
test rax, rax
cmove rax, rbp
cmp byte [rax + 0x133], 2
jne 0x4ad8bb
mov rdx, qword [rsp + 0x88]
xor r9d, r9d
lea r8, [r14 + 0x360]
mov rcx, rbp
call fcn.00460b30
mov rax, qword [rsp + 0x48]
test byte [rax + 0x3c], 0x10
je 0x4ad9f0
mov r9d, dword [rsp + 0xe4]
mov r8d, dword [rsp + 0xd8]
mov edx, 0xa
mov rcx, r13
call fcn.0043e160
movzx eax, byte [r14 + 0x44]
mov edx, 1
test al, 2
cmove edx, dword [rsp + 0x80]
mov dword [rsp + 0x80], edx
mov rdx, qword [r14 + 0x3c0]
test byte [rdx + 0x39], 2
je 0x4ad92f
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rdx + 0x20]
test r8d, r8d
je 0x4adbe8
cmp qword [rsp + 0xc8], rdx
je 0x4adbe8
mov qword [rsp + 0xc8], 0
test al, 1
je 0x4ad948
mov rax, qword [rsp + 0x48]
or byte [rax + 0x44], 1
mov rcx, r14
call fcn.004af390
movsxd rax, dword [rbp + 0x140]
test eax, eax
je 0x4ad982
mov rcx, qword [rbp + 0x10]
lea rdx, [0x0066e7a0]
mov r8, qword [rcx]
cmp byte [r8 + 0x67], 0
jne 0x4ad97f
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rdx, [rax + rdx*8]
mov eax, dword [rdx + 8]
mov dword [rbp + 0x140], eax
test r12, r12
je 0x4ad99a
mov rcx, qword [rsp + 0x50]
mov rdx, r12
call fcn.00424ea0
mov edx, dword [rdi + 0x14]
add rbx, 0x38
cmp r15d, edx
jge 0x4adac0
mov rax, qword [rdi + 0x20]
mov esi, dword [rsp + 0x78]
mov dword [rsp + 0x70], r15d
add r15d, 1
add rax, rbx
cmp esi, dword [rax + 0x1c]
je 0x4ad9c9
test byte [rax + 0x15], 4
je 0x4ad99d
mov r12, qword [rax]
test r12, r12
jne 0x4ad7f8
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
je 0x4ad815
jmp 0x4ad99d
mov eax, dword [rdi + 0x14]
mov esi, dword [rsp + 0x70]
sub eax, 1
cmp eax, esi
mov eax, 0xffffffff
cmovne eax, esi
mov rsi, qword [rsp + 0xd0]
mov dword [rsp + 0xe8], eax
test byte [rsi + 0x30], 0x80
jne 0x4adc28
mov esi, dword [rsp + 0xec]
mov r8d, dword [rsp + 0x78]
mov edx, 0x87
mov rcx, r13
mov r9d, esi
call fcn.0043e160
mov dword [rsp + 0x20], esi
xor r9d, r9d
mov rcx, r13
mov r8d, dword [rsp + 0xf8]
mov edx, 0x2f
call fcn.0043e0f0
movsxd rsi, eax
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
je 0x4ae076
mov r9d, dword [rsp + 0xe4]
mov r8d, dword [rsp + 0xd8]
mov edx, 0xa
mov rcx, r13
call fcn.0043e160
test esi, esi
je 0x4ad8e7
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x4adab2
mov rax, qword [r13 + 0x88]
lea rcx, [rsi + rsi*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x4ad8e7
movsxd rax, dword [rbp + 0x140]
mov r12, qword [rsp + 0x100]
test eax, eax
je 0x4adaef
mov rdx, qword [rbp + 0x10]
mov r8, qword [rdx]
lea rcx, [0x0066e7a0]
cmp byte [r8 + 0x67], 0
je 0x4ae0cb
mov eax, dword [rcx + 8]
mov dword [rbp + 0x140], eax
mov rax, qword [rsp + 0xc8]
mov qword [r12 + 0x50], rax
test rax, rax
je 0x4adb13
mov eax, dword [rsp + 0xc4]
mov dword [r12 + 8], eax
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x4adb35
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.00424ea0
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x4adb64
movsxd rax, dword [rsp + 0x108]
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
mov r9d, dword [r12 + 0xc]
xor r8d, r8d
mov edx, 9
mov rcx, r13
call fcn.0043e160
mov edx, dword [rsp + 0xe4]
mov rcx, r13
call fcn.0043b3d0
mov eax, dword [r13 + 0x90]
mov dword [r12 + 0x48], eax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x40], 1
jbe 0x4adbb4
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
call fcn.004235b0
mov ecx, dword [rsp + 0x80]
test ecx, ecx
jne 0x4ac14c
lea rdx, [r12 + 0x68]
mov rcx, r12
xor r15d, r15d
mov edi, 2
mov r8, qword [rsp + 0xf0]
call fcn.0040e0f0
jmp 0x4aaa50
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xc8], rdx
mov rsi, rdx
test byte [rcx + 0x30], 0x80
je 0x4ad93b
movzx edx, byte [rdx + 0x64]
and edx, 3
cmp dl, 2
mov edx, 0
cmovne rdx, rsi
mov qword [rsp + 0xc8], rdx
jmp 0x4ad93b
mov r10, qword [rsi + 0x10]
test r10, r10
jne 0x4adc4d
jmp 0x4aebb1
mov r10, qword [r10 + 0x28]
test r10, r10
je 0x6073ea
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x4adc40
movzx esi, word [r10 + 0x5e]
mov rcx, rbp
mov edx, esi
mov dword [rsp + 0xfc], esi
call fcn.0040da90
mov ecx, esi
add esi, eax
mov dword [rsp + 0x10c], eax
mov edx, esi
xor esi, esi
test ecx, ecx
je 0x4add16
mov qword [rsp + 0x110], r12
mov r12, qword [rsp + 0xd0]
mov qword [rsp + 0x118], rdi
mov edi, dword [rsp + 0x78]
mov qword [rsp + 0x120], r14
mov r14, rsi
mov esi, edx
mov qword [rsp + 0x128], rbx
mov rbx, r10
mov qword [rsp + 0x240], rbp
mov ebp, eax
nop dword [rax]
mov rdx, qword [rbx + 8]
mov r8d, edi
mov rcx, r13
movsx r9d, word [rdx + r14]
mov dword [rsp + 0x20], ebp
mov rdx, r12
add ebp, 1
add r14, 2
call fcn.0049d620
cmp esi, ebp
jne 0x4adcc8
mov r12, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
mov r14, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x240]
mov r11d, dword [rsp + 0xe8]
test r11d, r11d
jne 0x4ae92f
mov esi, dword [rsp + 0xec]
mov r9d, dword [rsp + 0xfc]
mov edx, 0x61
mov rcx, r13
mov r8d, dword [rsp + 0x10c]
mov dword [rsp + 0x20], esi
call fcn.0043e0f0
mov r9d, esi
mov edx, 0x8a
mov rcx, r13
mov eax, dword [rsp + 0xfc]
mov r8d, dword [rsp + 0xf8]
xor esi, esi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x20], eax
call fcn.0043e610
cmp dword [rsp + 0xfc], 1
je 0x4aea39
mov eax, dword [rsp + 0xfc]
cmp eax, dword [rbp + 0x28]
jle 0x4ada66
mov dword [rbp + 0x28], eax
mov eax, dword [rsp + 0x10c]
mov dword [rbp + 0x2c], eax
jmp 0x4ada66
mov dword [rsp + 0x100], 1
mov dword [rsp + 0xf8], 1
jmp 0x4aa631
movzx ebx, al
sub ebx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
lea esi, [rbx - 1]
movsxd rax, esi
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
lea rdx, [rax*8 + 0x70]
call fcn.0042cd60
mov qword [rsp + 0x88], rax
mov r10, rax
test rax, rax
je 0x4ab87a
lea eax, [rsi + 1]
movzx ecx, r14b
movzx eax, al
mov dword [r10 + 4], eax
mov dword [r10], eax
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
lea rax, [r15 + rax*8 + 8]
movdqu xmm6, xmmword [rax]
movups xmmword [r10 + 8], xmm6
movdqu xmm6, xmmword [rax + 0x10]
movups xmmword [r10 + 0x18], xmm6
movdqu xmm6, xmmword [rax + 0x20]
movups xmmword [r10 + 0x28], xmm6
movdqu xmm6, xmmword [rax + 0x30]
movups xmmword [r10 + 0x38], xmm6
movdqu xmm6, xmmword [rax + 0x40]
movups xmmword [r10 + 0x48], xmm6
movdqu xmm6, xmmword [rax + 0x50]
movups xmmword [r10 + 0x58], xmm6
mov rax, qword [rax + 0x60]
mov qword [r10 + 0x68], rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
lea r8, [rax + 8]
test esi, esi
jle 0x4ac528
lea edx, [rbx - 2]
lea rcx, [r12 + 0xb0]
lea r9, [rdx + rdx*2]
lea rax, [r10 + 0x70]
lea rdx, [rdx + r9*4]
lea r9, [r10 + rdx*8 + 0xd8]
movzx edx, byte [rcx]
add rax, 0x68
add rcx, 0x70
lea r10, [rdx + rdx*2]
lea rdx, [rdx + r10*4]
lea rdx, [r8 + rdx*8]
movdqu xmm5, xmmword [rdx]
movups xmmword [rax - 0x68], xmm5
movdqu xmm5, xmmword [rdx + 0x10]
movups xmmword [rax - 0x58], xmm5
movdqu xmm5, xmmword [rdx + 0x20]
movups xmmword [rax - 0x48], xmm5
movdqu xmm1, xmmword [rdx + 0x30]
movups xmmword [rax - 0x38], xmm1
movdqu xmm2, xmmword [rdx + 0x40]
movups xmmword [rax - 0x28], xmm2
movdqu xmm3, xmmword [rdx + 0x50]
movups xmmword [rax - 0x18], xmm3
mov rdx, qword [rdx + 0x60]
mov qword [rax - 8], rdx
cmp r9, rax
jne 0x4adea0
jmp 0x4ac528
mov r9d, esi
mov r8d, ebx
mov rcx, r13
mov edx, 0xd
call fcn.0043e160
mov r8d, dword [r12 + 0x34]
mov r9d, esi
mov rcx, r13
mov dword [rsp + 0x28], 1
mov edx, 0x40
mov dword [rsp + 0x20], ebx
call fcn.0043e610
mov r8d, dword [rsp + 0x68]
mov r9d, esi
mov rcx, rbp
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.004a8ee0
jmp 0x4acbe7
xor r9d, r9d
mov r8d, r14d
mov edx, 0x88
mov rcx, r13
mov dword [rsp + 0xa0], r11d
call fcn.0043e160
mov r11d, dword [rsp + 0xa0]
jmp 0x4aa55a
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x4ad401
movzx eax, byte [rbp + 0x1f]
test al, al
je 0x4ae183
sub eax, 1
mov byte [rbp + 0x1f], al
movzx eax, al
mov r15d, dword [rbp + rax*4 + 0xe4]
mov r9d, 1
mov r8d, r15d
mov rcx, rbp
mov dword [rsp + 0x130], r15d
call fcn.0049c470
movzx eax, byte [rdi]
sub eax, 0x37
and eax, 2
or eax, 1
cdqe
movzx edx, byte [rsp + rax + 0x170]
jmp 0x4ad434
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x4aa8fa
mov dword [rsp + 0x100], 1
jmp 0x4aa90f
mov rcx, qword [rsp + 0x48]
call fcn.0040a050
jmp 0x4a9e0b
mov ecx, dword [r13 + 0x90]
lea edx, [rcx - 1]
movsxd rdx, edx
lea rcx, [rdx + rdx*2]
mov rdx, qword [r13 + 0x88]
lea rcx, [rdx + rcx*8]
jmp 0x4aa885
cmp byte [r15 + 0x43], 2
je 0x4aa110
mov rcx, qword [rsp + 0x58]
movsxd rax, dword [rcx + 0x90]
test eax, eax
jle 0x4aa110
mov r8, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov r9d, 2
lea rax, [r8 + rax*8]
mov word [rax - 0x16], r9w
jmp 0x4aa110
movsxd rax, esi
mov ecx, dword [rsp + 0xe8]
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], ecx
jmp 0x4ada66
test al, 0x40
je 0x4a9e70
movzx edi, byte [rsp + 0x80]
test byte [rsp + 0x70], 8
mov ecx, 8
cmovne edi, ecx
and eax, 0xffffffbf
mov dword [rdx + 0x38], eax
mov byte [rsp + 0x80], dil
jmp 0x4a9e70
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rcx, [rax + rcx*8]
jmp 0x4adaec
mov ecx, dword [r13 + 0x90]
lea edx, [rcx - 1]
movsxd rdx, edx
lea rcx, [rdx + rdx*2]
mov rdx, qword [r13 + 0x88]
lea rcx, [rdx + rcx*8]
jmp 0x4aa6ac
xor r14d, r14d
test rbx, rbx
jne 0x4ad3d4
mov r8d, dword [rsp + 0x78]
mov edx, 0x24
mov rcx, r13
call fcn.0043e160
jmp 0x4ac460
movsxd rax, dword [rsp + 0xf0]
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
jmp 0x4ab156
mov r10d, dword [rsp + 0xf8]
mov dword [rsp + 0xfc], 0
shl r10d, 2
jmp 0x4aa786
mov eax, dword [rbp + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r13
add eax, 1
mov dword [rbp + 0x38], eax
mov r9d, eax
mov dword [rsp + 0xf8], eax
call fcn.0043e160
jmp 0x4ac5a9
mov eax, dword [rbp + 0x38]
lea r15d, [rax + 1]
mov dword [rbp + 0x38], r15d
jmp 0x4adfb1
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.004210d0
movzx edi, byte [rdi + 0x40]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0xb4], edi
mov eax, edi
jmp 0x4acc84
mov rcx, qword [rsp + 0x248]
lea rax, [rbx + rbx*2]
xor r8d, r8d
lea rax, [rbx + rax*4]
mov rax, qword [rcx + rax*8 + 0x58]
test rax, rax
je 0x4ae1e9
nop word [rax + rax]
add r8d, 1
shr rax, 1
jne 0x4ae1e0
mov rcx, qword [rsp + 0x58]
mov r9d, 0xfffffffd
movsxd r8, r8d
mov edx, 0xffffffff
mov byte [rsp + 0x70], r11b
call fcn.0045e5b0
mov eax, dword [r13 + 0x38]
movzx r11d, byte [rsp + 0x70]
jmp 0x4aa000
mov rax, qword [rax + 0x10]
test rax, rax
je 0x4aaf90
mov edx, dword [rax + 4]
test edx, 0x82000
jne 0x4aaf6f
movzx edi, byte [rax]
lea edx, [rdi + 0x59]
and edx, 0xfd
jne 0x4aaf90
cmp r14d, dword [rax + 0x2c]
jne 0x4aaf90
cmp word [rax + 0x30], 0
jns 0x4aaf90
jmp 0x4ab07e
mov r9d, 0xffffffff
jmp 0x4ac870
mov rax, qword [rsi + 0x40]
mov ecx, dword [rbp]
mov r10, qword [rax + rdi*8]
test ecx, ecx
jle 0x4ae2d9
lea r9, [rdi + rdi]
xor r8d, r8d
mov r15, r10
nop dword [rax]
mov rax, r8
shl rax, 5
mov r11, qword [rbp + rax + 8]
mov rax, r11
test r11, r11
je 0x4ae2d0
nop dword [rax]
mov edx, dword [rax + 4]
test edx, 0x82000
je 0x4ae2fc
and edx, 0x80000
je 0x4ae2e8
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
jne 0x4ae2a8
nop dword [rax + rax]
add r8, 1
cmp ecx, r8d
jg 0x4ae290
movzx eax, word [rsi + 0x5e]
jmp 0x4ab068
mov rax, qword [rax + 0x10]
test rax, rax
je 0x4ae2d0
mov edx, dword [rax + 4]
test edx, 0x82000
jne 0x4ae2b3
movzx edx, byte [rax]
add edx, 0x59
and edx, 0xfd
jne 0x4ae2d0
mov rdx, qword [rsi + 8]
movzx edx, word [rdx + r9]
cmp word [rax + 0x30], dx
jne 0x4ae2d0
cmp r14d, dword [rax + 0x2c]
jne 0x4ae2d0
mov rcx, qword [rsp + 0x240]
mov rdx, r11
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x58], r9
call fcn.00455620
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
test rax, rax
je 0x4aeab5
mov r11, qword [rax]
xor ecx, ecx
jmp 0x4ae372
lea r10, [0x00625d40]
movzx edx, byte [r10 + rdx]
cmp byte [r10 + rax], dl
jne 0x4aea21
add rcx, 1
movzx eax, byte [r11 + rcx]
movzx edx, byte [r15 + rcx]
cmp eax, edx
jne 0x4ae358
test eax, eax
jne 0x4ae36e
mov rax, qword [rsi + 8]
movsx rax, word [rax + r9]
movsx edx, ax
test edx, edx
jns 0x4ae3a2
cmp edx, 0xffffffff
jne 0x4ae2d9
jmp 0x4ab052
mov rdx, qword [rsi + 0x18]
lea rax, [rax + rax*2]
mov r15, qword [rdx + 8]
lea rax, [r15 + rax*8]
test byte [rax + 8], 0xf
jne 0x4ab052
jmp 0x4ae2d9
lea rdx, [0x0066e7a0]
mov r11d, dword [rdx + 0xc]
mov r10d, 0x87
jmp 0x4ac6a2
mov rdi, qword [rsp + 0x90]
mov rdx, qword [rbx + 0x10]
mov r8d, 0x2c
mov rcx, rdi
call fcn.0042dbc0
mov rdx, qword [rbx + 0x18]
mov r8d, 0x2c
mov rcx, rdi
call fcn.0042dbc0
jmp 0x4a9923
mov rdi, qword [rsp + 0x90]
mov rdx, qword [rsi + 0x10]
mov r8d, 0x2c
mov rcx, rdi
call fcn.0042dbc0
mov rdx, qword [rsi + 0x18]
mov r8d, 0x2c
mov rcx, rdi
call fcn.0042dbc0
jmp 0x4acb30
lea rdx, [0x0066e7a0]
mov r10d, dword [rdx + 0xc]
mov r11d, 0x87
jmp 0x4ac1f2
mov rcx, r10
mov dword [rsp + 0xfc], r8d
mov dword [rsp + 0xf0], r11d
mov qword [rsp + 0xd0], r10
call fcn.00409050
mov r10, qword [rsp + 0xd0]
mov r11d, dword [rsp + 0xf0]
test eax, eax
mov r8d, dword [rsp + 0xfc]
je 0x4aa6ca
mov r9d, dword [rsp + 0xe4]
mov edx, 0x32
mov rcx, r13
mov qword [rsp + 0xf0], r10
mov dword [rsp + 0xd0], r11d
call fcn.0043e160
mov r10, qword [rsp + 0xf0]
mov r11d, dword [rsp + 0xd0]
jmp 0x4aa6ca
mov eax, dword [rbp + 0x38]
mov edx, 0x47
mov rcx, r13
mov r8d, 1
mov dword [rsp + 0x88], r11d
lea r9d, [rax + 1]
mov dword [rbp + 0x38], r9d
mov dword [r12 + 0x2c], r9d
call fcn.0043e160
mov eax, dword [r13 + 0x90]
mov rcx, qword [r15 + 0x38]
mov r11d, dword [rsp + 0x88]
mov dword [r12 + 0x30], eax
mov eax, dword [r12 + 0x2c]
lea edx, [rax + rax]
movzx eax, r11w
mov dword [r12 + 0x2c], edx
cmp byte [rcx + rax], 1
sete al
movzx eax, al
xor eax, dword [rsp + 0x70]
or eax, edx
mov dword [r12 + 0x2c], eax
mov eax, dword [rbx + 0x38]
jmp 0x4aa4ae
movsxd rax, dword [rsp + 0x70]
lea rdx, [0x0061f387]
mov r8d, dword [rsp + 0x78]
mov rcx, r13
movzx edx, byte [rdx + rax]
mov dword [r12 + 0x44], r8d
mov byte [r12 + 0x41], dl
lea rdx, str._____
movzx edx, byte [rdx + rax]
call fcn.0043e160
mov byte [r12 + 0x43], 1
add eax, 1
mov dword [r12 + 0x48], eax
jmp 0x4ac14c
mov edi, dword [rsp + 0xc4]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r13
mov r9d, dword [rsp + 0xa0]
lea esi, [rdi + 1]
add r9d, edi
call fcn.0043e160
mov r8d, edi
mov dword [rsp + 0xec], 0
mov dword [rsp + 0xfc], 1
mov dword [rsp + 0xf8], 1
jmp 0x4aa742
lea esi, [rax + 1]
jmp 0x4ab720
mov rcx, qword [r15 + 8]
movzx edx, r11w
movsx rcx, word [rcx + rdx*2]
mov rdx, rcx
test ecx, ecx
js 0x4aea29
mov rcx, qword [r15 + 0x18]
lea rdx, [rdx + rdx*2]
mov r8, qword [rcx + 8]
lea rdx, [r8 + rdx*8]
test byte [rdx + 8], 0xf
sete byte [rsp + 0xf0]
jmp 0x4aa4bf
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x4adf8b
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jg 0x4acdab
jmp 0x4acd9b
mov rax, qword [rsi + 0x20]
mov eax, dword [rax]
jmp 0x4adfef
mov rax, qword [r10 + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x4aa71c
mov dword [rsp + 0xfc], 0
mov r8d, esi
mov byte [rsp + 0xd0], 1
mov dword [rsp + 0xec], 1
jmp 0x4aa742
cmp qword [rdx + 0x308], 0
jne 0x4abcd6
sub dword [rax], 1
jne 0x4abcd6
mov rcx, qword [rax + 0x10]
mov rdx, rax
call fcn.0040c530
jmp 0x4abcd6
mov rcx, qword [rdx + 0x20]
mov ecx, dword [rcx]
jmp 0x4ad481
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x4ae62a
mov rax, qword [r10 + 0x20]
mov eax, dword [rax]
jmp 0x4ae64d
mov r9d, eax
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
mov dword [rsp + 0xa0], r11d
call fcn.0043e160
mov r11d, dword [rsp + 0xa0]
jmp 0x4ad061
mov dword [rsp + 0x100], 1
mov dword [rsp + 0xec], 1
jmp 0x4ad1ad
mov rax, qword [rsi + 0x10]
mov rsi, rax
test rax, rax
je 0x4aeadb
mov qword [rsp + 0x68], r15
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x240], rbp
mov rbp, rsi
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r14
jmp 0x4ae74d
mov rbp, qword [rbp + 0x28]
test rbp, rbp
je 0x4aeac9
cmp byte [rbp + 0x62], 0
je 0x4ae740
cmp qword [rbp + 0x48], 0
jne 0x4ae740
movzx eax, word [rbp + 0x5e]
cmp ax, 3
ja 0x4ae740
movzx edx, byte [rbp + 0x64]
mov ecx, edx
and ecx, 8
cmp cl, 1
sbb esi, esi
and esi, 0xffffff80
add esi, 0x82
mov dword [rsp + 0x50], esi
test ax, ax
je 0x4aeb51
xor esi, esi
nop word [rax + rax]
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x28], rbp
mov r9d, esi
mov r8d, edi
mov rdx, r15
mov rcx, rbx
mov r14d, esi
mov r13d, esi
mov dword [rsp + 0x20], eax
call fcn.00457bf0
test rax, rax
jne 0x4ae7d1
jmp 0x4ae870
mov rcx, rbx
call fcn.00457490
test rax, rax
je 0x4ae870
cmp qword [rax + 0x28], 0
jne 0x4ae7c0
mov rdx, qword [r12 + 0x48]
lea r13d, [r14 + 1]
mov qword [rdx + rsi*8], rax
movzx eax, word [rbp + 0x5e]
add rsi, 1
cmp eax, esi
jg 0x4ae790
nop dword [rax]
cmp r13d, eax
jne 0x4ae740
mov rsi, rbp
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x240]
movzx edx, byte [rsi + 0x64]
mov dword [r12 + 0x38], 0x1201
and edx, 0x20
jne 0x4aeb01
mov rdx, qword [r15 + 0x58]
test qword [rsi + 0x68], rdx
je 0x4aeb01
mov r8d, 0x27
mov word [r12 + 0x3c], ax
mov word [r12 + 0x18], ax
mov eax, 0x1201
mov qword [r12 + 0x20], rsi
mov word [r12 + 0x14], r8w
jmp 0x4aca90
movzx eax, word [rbp + 0x5e]
jmp 0x4ae7f8
mov rax, qword [r15 + 0x10]
xor r9d, r9d
mov edx, 0x7c
mov rcx, r13
mov dword [rsp + 0xf8], r10d
movsx eax, word [rax]
add eax, 9
movsxd r8, eax
sar eax, 0x1f
imul r8, r8, 0x66666667
sar r8, 0x22
sub r8d, eax
call fcn.0043e160
cmp byte [rsp + 0xd0], 0
mov r10d, dword [rsp + 0xf8]
mov dword [rsp + 0xf0], eax
je 0x4aa7cc
mov eax, dword [r13 + 0x90]
test eax, eax
jle 0x4ae8f1
mov r9, qword [r13 + 0x88]
movsxd rdx, eax
mov r11d, 1
lea rdx, [rdx + rdx*2]
lea rdx, [r9 + rdx*8]
mov word [rdx - 0x16], r11w
mov rcx, qword [r13]
add eax, 1
lea rdx, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x4ae91c
movsxd rdx, dword [rsp + 0xf0]
lea rcx, [rdx + rdx*2]
mov rdx, qword [r13 + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
mov dword [rsp + 0xf0], 0
jmp 0x4aa7cc
mov eax, dword [rsp + 0x10c]
xor r9d, r9d
mov edx, 0x1d
mov rcx, r13
mov r8d, dword [rsp + 0xf8]
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
movsxd rsi, eax
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
jne 0x4ae97f
movsxd rax, esi
mov ecx, dword [rsp + 0xfc]
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], ecx
cmp dword [rsp + 0xe8], 0xffffffff
je 0x4add7f
mov eax, dword [rsp + 0xec]
mov r9d, dword [rsp + 0xfc]
mov edx, 0x61
mov rcx, r13
mov r8d, dword [rsp + 0x10c]
mov dword [rsp + 0x20], eax
call fcn.0043e0f0
mov ecx, dword [rsp + 0xfc]
mov edx, 0x8a
mov r9d, dword [rsp + 0xec]
mov r8d, dword [rsp + 0xf8]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x10c]
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.0043e610
movsxd rax, dword [r13 + 0x90]
test eax, eax
jle 0x4add7f
mov r9, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov r10d, 0x10
lea rax, [r9 + rax*8]
mov word [rax - 0x16], r10w
jmp 0x4add7f
mov r12d, 0xffff8000
jmp 0x4a9f2e
mov ecx, dword [rbp]
jmp 0x4ae2d0
cmp ecx, 0xfffffffe
sete byte [rsp + 0xf0]
jmp 0x4aa4bf
mov edx, dword [rsp + 0x10c]
mov rcx, rbp
call fcn.00410e00
jmp 0x4ada66
mov r9d, dword [rsp + 0xa0]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r13
add r9d, edi
call fcn.0043e160
mov dword [rsp + 0x100], 0
jmp 0x4ad15c
movsxd rax, dword [rbp + 0x140]
test eax, eax
je 0x4aeb38
mov dword [rsp + 0x80], 0
mov rdx, qword [rbp + 0x10]
mov qword [rsp + 0xc8], 0
jmp 0x4adad7
mov rax, rbx
mov rbx, r14
mov r14, rax
jmp 0x4ad3cb
mov rax, qword [rsp + 0x240]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x4ae34c
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x240]
mov eax, dword [r12 + 0x38]
test eax, eax
jne 0x4aca90
mov r14, qword [rsp + 0x140]
mov r12, qword [rsp + 0x150]
mov r15, qword [r14 + 8]
jmp 0x4a9b42
mov r9d, 0x27
mov word [r12 + 0x3c], ax
mov word [r12 + 0x18], ax
mov eax, 0x1241
mov dword [r12 + 0x38], 0x1241
mov qword [r12 + 0x20], rsi
mov word [r12 + 0x14], r9w
jmp 0x4aca90
xor eax, eax
jmp 0x4ac8b1
mov qword [r12 + 0x50], 0
mov dword [rsp + 0x80], 0
jmp 0x4adb13
mov rsi, rbp
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
xor eax, eax
mov r15, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x240]
jmp 0x4ae81f
mov rbx, r14
mov edx, 0x20
jmp 0x4acd10
mov dword [rsp + 0x88], eax
mov r13, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x240]
jmp 0x4a9ca2
jmp 0x6073be
jmp 0x6073be
jmp 0x6073cc
jmp 0x6073d6
jmp 0x6073e0
jmp 0x6073ea
add dword [rbp + 0x34], 1
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2