Function at 0x140379030
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, 0x198
mov rbx, qword [rsp + 0x200]
mov r14, qword [rbx + 0x50]
lea rax, [r8 + 0x70]
mov r13, rdx
mov rdx, qword [r8 + 8]
mov rsi, r8
mov qword [rsp + 0x1e0], rcx
mov ebp, r9d
mov qword [rsp + 0x70], rax
mov rax, qword [rcx]
movzx ecx, byte [rbx + 0x34]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rax
lea rax, [rcx*8]
mov qword [rsp + 0x60], rcx
mov r12, rcx
sub rax, rcx
shl rax, 4
mov r8d, dword [rdx + rax + 0x4c]
movsxd rdx, dword [rsi + 0x25c]
mov dword [rsp + 0x6c], r8d
test edx, edx
jle 0x1403790d3
xor eax, eax
jmp 0x1403790b9
add rax, 1
cmp rdx, rax
je 0x1403790d3
mov ecx, eax
cmp r8d, dword [rsi + rax*4 + 0x260]
jne 0x1403790b0
mov rax, qword [rsp + 0x208]
btr rax, rcx
jmp 0x1403790db
mov rax, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x1e0]
mov rdi, qword [rsi + 0x68]
mov qword [rbx + 0x58], rax
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 0x44]
lea r10d, [rax - 1]
sub eax, 2
mov dword [rbx + 0x10], r10d
mov dword [rbx + 0xc], r10d
mov dword [rsp + 0x68], eax
mov dword [rcx + 0x44], eax
mov dword [rbx + 0x18], eax
test r12b, r12b
je 0x140379138
mov rcx, qword [rsp + 0x60]
lea rax, [rcx*8]
sub rax, rcx
mov rcx, qword [rsp + 0x40]
shl rax, 4
test byte [rcx + rax + 0x44], 8
jne 0x140379ea5
test ebp, ebp
je 0x14037acf0
movsxd rax, ebp
lea rax, [rax + rax*2]
shl rax, 5
lea rdx, [rsi + rax + 0x360]
mov eax, ebp
jmp 0x140379169
sub rdx, 0x60
sub eax, 1
je 0x14037916f
mov ecx, dword [rdx]
test ecx, ecx
je 0x140379160
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx*8]
sub rdx, rcx
shl rdx, 4
add rdx, qword [rsp + 0x40]
movzx r8d, byte [rdx + 0x48]
mov ecx, r8d
and ecx, 0x10
mov byte [rsp + 0x80], cl
jne 0x140379e18
mov ecx, ebp
mov edx, dword [r14 + 0x28]
shr rdi, cl
mov r15d, edi
and r15d, 1
test dh, 4
jne 0x140379538
test dh, 1
je 0x1403791c7
test dl, 5
jne 0x14037a3f0
cdqe
lea rax, [rax + rax*2]
shl rax, 5
mov r9d, dword [rsi + rax + 0x36c]
mov eax, edx
and eax, 0x102
cmp eax, 0x102
je 0x14037a500
test dh, 2
je 0x140379eee
movzx eax, word [r14 + 0x1c]
movzx ecx, word [r14 + 0x18]
movzx edi, word [r14 + 0x1a]
mov word [rsp + 0xd0], ax
mov rax, qword [r14 + 0x20]
mov word [rsp + 0xc4], cx
mov qword [rsp + 0x58], rax
mov eax, dword [rbx + 8]
mov word [rsp + 0xd4], di
mov dword [rsp + 0x78], eax
movzx eax, cx
mov dword [rsp + 0x88], eax
test dl, 0x20
je 0x14037aa94
mov r8, qword [r14 + 0x38]
add eax, 1
mov rcx, qword [r8 + rcx*8]
mov qword [rsp + 0xa0], rcx
test dl, 0x10
je 0x14037aa7b
mov rcx, qword [r14 + 0x38]
cdqe
mov rcx, qword [rcx + rax*8]
movzx eax, word [rsp + 0xd0]
cmp edi, eax
mov qword [rsp + 0x98], rcx
cmovl edi, eax
test byte [rcx + 0x13], 1
jne 0x14037b03a
cmp qword [rsp + 0xa0], 0
mov byte [rsp + 0xb0], 0
je 0x14037afcb
and edx, 0x80030
mov dword [rsp + 0xa8], 0
cmp edx, 0x80000
je 0x14037b7ca
mov rcx, qword [rsp + 0x58]
movzx eax, word [rsp + 0xc4]
cmp word [rcx + 0x60], ax
jbe 0x1403792e1
mov rdx, qword [rcx + 0x38]
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp eax, r15d
je 0x14037af6f
test ebp, ebp
je 0x1403792f0
test byte [r14 + 0x2a], 0x10
jne 0x14037af4d
mov rcx, qword [rbx + 0x50]
mov rax, qword [rsp + 0x1e0]
mov r11, qword [rsp + 0x1e0]
mov rbp, qword [rax + 0x10]
movzx eax, word [rcx + 0x2e]
mov qword [rsp + 0xd8], rcx
mov rdx, qword [rcx + 0x20]
movzx ecx, word [rcx + 0x18]
mov word [rsp + 0xc8], ax
mov eax, dword [r11 + 0x38]
add edi, ecx
mov dword [rsp + 0x8c], ecx
mov rcx, qword [r11]
lea r12d, [rax + 1]
add eax, edi
mov dword [rsp + 0xac], edi
mov dword [r11 + 0x38], eax
mov dword [rsp + 0x50], r12d
call fcn.14030fb30
mov rcx, qword [rsp + 0x1e0]
mov rdx, rax
mov rcx, qword [rcx]
call fcn.1403138c0
movzx ecx, word [rsp + 0xc8]
mov qword [rsp + 0x90], rax
mov dword [rsp + 0xb8], ecx
test cx, cx
jne 0x14037b82f
cmp qword [rsp + 0x90], 0
movzx edi, word [rsp + 0xc8]
mov ecx, dword [rsp + 0xb8]
setne byte [rsp + 0xc0]
cmp dword [rsp + 0x8c], ecx
jle 0x14037a571
mov qword [rsp + 0xc8], r14
mov r12, qword [rsp + 0x1e0]
mov qword [rsp + 0x1f0], rsi
mov r14, qword [rsp + 0xd8]
mov qword [rsp + 0xb8], rbp
mov esi, dword [rsp + 0x50]
mov qword [rsp + 0x1e8], r13
jmp 0x140379419
mov rax, qword [rbp]
test byte [rax + 5], 8
je 0x140379408
cmp byte [rsp + 0xc0], 0
je 0x140379408
mov rax, qword [rsp + 0x90]
mov byte [rax + rdi], 0x41
nop dword [rax]
add rdi, 1
cmp dword [rsp + 0x8c], edi
jle 0x14037a555
mov rax, qword [r14 + 0x38]
lea r13d, [rsi + rdi]
mov r8, rbx
mov r9d, edi
mov rcx, r12
mov dword [rsp + 0x50], edi
mov rbp, qword [rax + rdi*8]
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r15d
mov rdx, rbp
call fcn.1403787b0
mov r8d, eax
cmp r13d, eax
je 0x140379488
cmp dword [rsp + 0xac], 1
jne 0x14037a4a3
test esi, esi
je 0x14037a4d8
movzx eax, byte [r12 + 0x1f]
cmp al, 7
ja 0x14037a4d8
lea edx, [rax + 1]
mov byte [r12 + 0x1f], dl
mov dword [r12 + rax*4 + 0xd0], esi
mov esi, r8d
nop dword [rax + rax]
movzx eax, word [rbp + 0x14]
test al, 1
jne 0x1403793e5
test ah, 1
jne 0x140379408
mov rax, qword [rbp]
mov r11, qword [rax + 0x18]
test byte [rbp + 0x13], 8
je 0x14037a9f9
mov rax, qword [r12]
cmp byte [rax + 0x63], 0
jne 0x140379408
mov ebp, dword [r12 + 0x30]
test ebp, ebp
jne 0x140379408
mov rax, qword [rsp + 0x90]
mov rcx, r11
mov qword [rsp + 0x50], r11
movzx r13d, byte [rax + rdi]
call fcn.140308120
mov r11, qword [rsp + 0x50]
cmp al, 0x40
jle 0x14037c0dc
cmp r13b, 0x40
jle 0x14037c0dc
cmp al, 0x42
jg 0x140379509
cmp r13b, 0x42
jle 0x1403793f9
mov rax, qword [rsp + 0x90]
movsx edx, byte [rax + rdi]
cmp dl, 0x41
je 0x1403793f9
mov rcx, r11
call fcn.14030d0b0
test eax, eax
je 0x140379408
jmp 0x1403793f9
movzx edi, word [r14 + 0x2c]
mov rcx, qword [rsp + 0x1e0]
lea edx, [rdi + 2]
call fcn.14030d180
mov ecx, dword [rbx + 0xc]
mov dword [rsp + 0x50], eax
mov ebp, ecx
test edi, edi
je 0x1403795fa
xor r12d, r12d
mov qword [rsp + 0x1e8], r13
lea ebp, [rax + 2]
mov r13, r14
mov qword [rsp + 0x1f0], rsi
mov r14, r12
mov esi, r15d
mov r12, qword [rsp + 0x1e0]
mov r15d, ecx
jmp 0x1403795ae
mov dword [rsp + 0x28], r8d
mov r9d, r14d
mov r8, rbx
mov rcx, r12
mov dword [rsp + 0x20], esi
call fcn.1403787b0
mov r15d, dword [rbx + 0x10]
add r14, 1
cmp edi, r14d
jle 0x1403795e4
mov rax, qword [r13 + 0x38]
lea r8d, [rbp + r14]
mov rdx, qword [rax + r14*8]
test rdx, rdx
je 0x1403795a5
test byte [rdx + 0x14], 1
jne 0x14037958a
mov rax, qword [rdx]
mov r9d, 1
mov rcx, r12
add r14, 1
mov rdx, qword [rax + 0x18]
call fcn.1403887c0
cmp edi, r14d
jg 0x1403795ae
mov r14, r13
mov rsi, qword [rsp + 0x1f0]
mov r13, qword [rsp + 0x1e8]
mov ebp, r15d
mov r15d, dword [rsp + 0x50]
mov r8d, dword [r14 + 0x18]
mov edx, 0x45
mov rcx, r13
mov dword [rsp + 0x20], 0
mov r9d, r15d
call fcn.140322f70
lea r9d, [r15 + 1]
mov r8d, edi
mov rcx, r13
mov dword [rsp + 0x20], 0
mov edx, 0x45
call fcn.140322f70
cmp byte [r14 + 0x1c], 1
mov r9d, ebp
mov rcx, r13
sbb eax, eax
mov r8d, dword [rsp + 0x6c]
mov edx, 9
or eax, 0xfffffff9
mov dword [rsp + 0x30], eax
mov rax, qword [r14 + 0x20]
mov dword [rsp + 0x20], r15d
mov qword [rsp + 0x28], rax
call fcn.140323e70
mov rax, qword [rsp + 0x48]
mov byte [r14 + 0x1c], 0
cmp byte [rax + 0x63], 0
je 0x140379680
mov qword [r14 + 0x20], 0
mov eax, dword [rsp + 0x6c]
mov r15d, dword [rbx + 0x40]
lea ebp, [rdi - 1]
mov dword [rbx + 0x38], eax
cmp byte [rsi + 0x42], 1
sbb eax, eax
and eax, 0xffffff8c
sub eax, 0x4f
mov byte [rbx + 0x35], al
mov eax, dword [r13 + 0x90]
mov dword [rbx + 0x3c], eax
test edi, edi
je 0x14037986e
lea rax, [rsp + 0x140]
movsxd rdi, ebp
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x50]
shl rdi, 3
add eax, 2
mov dword [rsp + 0x50], eax
jmp 0x140379834
sub r15d, 1
cmp ebp, 0xf
jle 0x14037a4c5
mov rax, qword [r12]
mov rdx, qword [rax + 0x10]
movzx eax, byte [rdx]
cmp al, 0xaf
jne 0x1403796f8
movzx eax, byte [rdx + 2]
cmp al, 0xb0
je 0x14037a4f8
cmp al, 0x89
je 0x14037a4e0
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x63], 0
jne 0x140379773
mov rdx, qword [rbx + 0x48]
movsxd rax, r15d
lea rax, [rax + rax*4]
lea rax, [rdx + rax*4]
mov eax, dword [rax + 4]
test eax, eax
jns 0x140379733
mov eax, dword [r13 + 0x90]
sub eax, 1
mov rcx, qword [r13]
lea rdx, [0x1407dad80]
cmp byte [rcx + 0x63], 0
jne 0x140379755
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rdx, [rax + rdx*8]
mov eax, dword [rdx + 0xc]
mov r9d, dword [rdx + 8]
mov rcx, r13
mov r8d, dword [rdx + 4]
movzx r11d, byte [rdx]
mov dword [rsp + 0x20], eax
mov edx, r11d
call fcn.140322f70
mov rcx, qword [rsp + 0x1e0]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x35
call fcn.140340290
mov r11, rax
test rax, rax
je 0x140379828
mov rax, qword [r12]
mov r8, qword [rsp + 0x58]
xor r9d, r9d
mov edx, 0xaf
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x78], r11
mov rax, qword [rax + 0x10]
mov qword [r11 + 0x10], rax
mov qword [rsp + 0x140], 0
mov dword [rsp + 0x148], 0
call fcn.14030f850
mov r11, qword [rsp + 0x78]
mov qword [r11 + 0x18], rax
test rax, rax
je 0x14037980d
mov ecx, dword [rsp + 0x50]
mov r8d, dword [rbx + 0x18]
mov r9d, 0x10
lea edx, [rcx + rbp]
mov rcx, qword [rsp + 0x1e0]
mov dword [rax + 0x2c], edx
mov rdx, r11
call fcn.1403838c0
mov r11, qword [rsp + 0x78]
mov qword [r11 + 0x10], 0
mov rcx, qword [rsp + 0x48]
mov rdx, r11
call fcn.14031a4f0
nop word [rax + rax]
sub ebp, 1
sub rdi, 8
cmp ebp, 0xffffffff
je 0x14037986e
mov rax, qword [r14 + 0x38]
mov r12, qword [rax + rdi]
test byte [r12 + 0x14], 1
jne 0x1403796d8
cmp ebp, 0xf
jg 0x140379828
movzx eax, word [r14 + 0x1e]
bt eax, ebp
jae 0x140379828
mov rdx, r12
mov rcx, rbx
sub ebp, 1
sub rdi, 8
call fcn.140308650
cmp ebp, 0xffffffff
jne 0x140379834
mov qword [rsp + 0x58], 0
mov ebp, 2
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x1f0], rsi
mov rsi, r13
mov r13, qword [rsp + 0x1f0]
lea rax, [rcx*8]
sub rax, rcx
shl rax, 4
mov qword [rsp + 0x48], rax
nop dword [rax + rax]
movsxd rax, dword [r13 + 0x84]
mov rdi, qword [r13 + 0x90]
test eax, eax
jle 0x140379bd0
lea rdx, [rax*8]
mov qword [rsp + 0x200], rbx
xor r15d, r15d
mov rbx, rsi
sub rdx, rax
mov rsi, qword [rsp + 0x200]
lea r12, [rdi + rdx*8]
jmp 0x1403799ee
test byte [r14 + 4], 1
je 0x1403799e1
cmp ebp, 1
je 0x140379b20
cmp ebp, 3
jne 0x140379aa1
and dh, 2
je 0x140379b00
mov eax, dword [rsi + 0x2c]
test eax, eax
je 0x140379b00
mov r8d, eax
and eax, 1
shr r8d, 1
cmp eax, 1
mov eax, dword [rbx + 0x90]
sbb edx, edx
and edx, 0xfffffffe
add edx, 0x14
cmp eax, dword [rbx + 0x94]
jge 0x140379bb0
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
movsxd rcx, eax
lea r9, [rcx + rcx*2]
mov rcx, qword [rbx + 0x88]
lea rcx, [rcx + r9*8]
xor r9d, r9d
mov byte [rcx], dl
mov word [rcx + 2], r9w
mov dword [rcx + 4], r8d
mov qword [rcx + 8], 0
mov qword [rcx + 0x10], 0
mov byte [rcx + 1], 0
mov r8d, dword [rsp + 0x68]
mov r9d, 0x10
mov rdx, r14
mov dword [rsp + 0x50], eax
mov rcx, qword [rsp + 0x1e0]
call fcn.1403838c0
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1403799dc
mov edx, dword [rbx + 0x90]
mov r8, qword [rbx]
lea ecx, [rdx - 1]
cmovs eax, ecx
cmp byte [r8 + 0x63], 0
lea rcx, [0x1407dad80]
jne 0x1403799d9
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rcx, [rax + rcx*8]
mov dword [rcx + 8], edx
or word [rdi + 0x12], 4
add rdi, 0x38
cmp rdi, r12
je 0x140379ac8
movzx edx, word [rdi + 0x12]
test dl, 6
jne 0x1403799e1
mov rax, qword [rdi + 0x30]
and rax, qword [rsi + 0x58]
jne 0x140379af0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov r14, qword [rdi]
test byte [rax + rcx + 0x44], 8
jne 0x1403798f0
cmp ebp, 1
jne 0x140379904
mov eax, dword [rsi + 4]
mov qword [rsp + 0x140], 0
lea rcx, [rsp + 0x140]
mov qword [rsp + 0x150], 0
mov dword [rsp + 0x118], eax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x110], rax
lea rax, [0x14030d1f0]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], rax
test r14, r14
jne 0x140379b8e
movzx edx, word [rdi + 0x12]
test dh, 0x10
je 0x14037990d
test r15d, r15d
mov eax, 3
cmove r15d, eax
add rdi, 0x38
cmp rdi, r12
jne 0x1403799ee
nop dword [rax + rax]
mov qword [rsp + 0x200], rsi
mov rsi, rbx
mov rbx, qword [rsp + 0x200]
test r15d, r15d
je 0x140379c07
mov ebp, r15d
jmp 0x1403798b0
or byte [r13 + 0x44], 2
jmp 0x1403799e1
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x1e0]
mov r9d, 0x10
mov rdx, r14
call fcn.1403838c0
jmp 0x1403799dc
mov eax, dword [rsi + 4]
mov qword [rsp + 0x140], 0
lea rcx, [rsp + 0x140]
mov qword [rsp + 0x150], 0
mov dword [rsp + 0x118], eax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x110], rax
lea rax, [0x14030d1f0]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], rax
mov rdx, r14
call fcn.14032aeb0
cmp word [rsp + 0x164], 0
je 0x140379a9d
mov r15d, 2
jmp 0x1403799e1
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rcx, rbx
call fcn.140322ee0
jmp 0x140379984
mov qword [rsp + 0x1f0], r13
mov r13, rsi
mov rsi, qword [rsp + 0x1f0]
mov r9d, dword [rbx]
test r9d, r9d
jne 0x140379d84
mov rax, qword [rbx + 0x58]
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x1f0], r13
mov r13, rsi
mov rsi, qword [rsp + 0x1f0]
movsxd rax, dword [rsi + 0x84]
mov rdi, qword [rsi + 0x90]
test eax, eax
jle 0x140379be3
mov rcx, qword [rsp + 0x60]
lea rdx, [rax*8]
mov ebp, dword [rsp + 0x6c]
mov r14, rbx
sub rdx, rax
lea rax, [rcx*8]
lea r12, [rdi + rdx*8]
sub rax, rcx
shl rax, 4
mov r15, rax
nop dword [rax]
test byte [rdi + 0x12], 6
jne 0x140379d68
movzx eax, word [rdi + 0x14]
test al, 0x82
je 0x140379d68
test ah, 8
je 0x140379d68
cmp dword [rdi + 0x1c], ebp
jne 0x140379d68
mov rax, qword [rsp + 0x40]
test byte [rax + r15 + 0x44], 8
jne 0x140379d68
mov rbx, qword [rdi]
mov r8d, dword [rdi + 0x20]
mov dword [rsp + 0x20], 0x83
mov edx, ebp
mov qword [rsp + 0x28], 0
mov r9, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x70]
call fcn.140345590
test rax, rax
je 0x140379d68
test byte [rax + 0x12], 4
jne 0x140379d68
mov rdx, qword [rax]
test byte [rax + 0x14], 1
je 0x140379ceb
test byte [rdx + 5], 8
jne 0x14037a3da
movdqu xmm0, xmmword [rdx]
mov r8d, dword [rsp + 0x68]
mov qword [rsp + 0x48], rax
mov r9d, 0x10
mov rcx, qword [rsp + 0x1e0]
movaps xmmword [rsp + 0x140], xmm0
movdqu xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x150], xmm1
movdqu xmm2, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x160], xmm2
movdqu xmm3, xmmword [rdx + 0x30]
movaps xmmword [rsp + 0x170], xmm3
mov rdx, qword [rdx + 0x40]
mov qword [rsp + 0x180], rdx
mov rdx, qword [rbx + 0x10]
mov qword [rsp + 0x150], rdx
lea rdx, [rsp + 0x140]
call fcn.1403838c0
mov rax, qword [rsp + 0x48]
or word [rax + 0x12], 4
nop dword [rax]
add rdi, 0x38
cmp rdi, r12
jne 0x140379c60
mov rbx, r14
mov r9d, dword [rbx]
test r9d, r9d
je 0x140379bef
mov eax, dword [r13 + 0x90]
mov rcx, r13
mov r8d, 1
mov edx, 0x45
mov dword [rbx + 0x1c], eax
mov dword [rsp + 0x20], 0
call fcn.140322f70
mov ecx, dword [rsi + 0x84]
mov rdi, qword [rsi + 0x90]
mov rax, qword [rbx + 0x58]
test ecx, ecx
jle 0x140379bf3
mov r12d, dword [rsp + 0x68]
mov r13, qword [rsp + 0x1e0]
xor ebp, ebp
nop dword [rax]
test byte [rdi + 0x12], 6
jne 0x140379e04
mov rdx, rax
and rdx, qword [rdi + 0x30]
jne 0x140379e04
mov rdx, qword [rdi]
mov r9d, 0x10
mov r8d, r12d
mov rcx, r13
call fcn.1403838c0
or word [rdi + 0x12], 4
mov rax, qword [rbx + 0x58]
add ebp, 1
add rdi, 0x38
cmp dword [rsi + 0x84], ebp
jg 0x140379dd8
jmp 0x140379bf3
mov eax, dword [rdx + 0x38]
mov edi, dword [rdx + 0x3c]
xor r9d, r9d
mov edx, 0xd
mov rcx, r13
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x20], eax
mov r8d, edi
call fcn.140322f70
mov eax, dword [r13 + 0x90]
mov r10d, dword [rsp + 0x48]
cmp eax, dword [r13 + 0x94]
jge 0x14037aa5b
lea edx, [rax + 1]
mov dword [r13 + 0x90], edx
movsxd rdx, eax
lea rcx, [rdx + rdx*2]
mov rdx, qword [r13 + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 4], edi
mov dword [rdx + 8], r10d
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0xe
mov dword [rbx + 0x3c], eax
mov ebp, 2
mov byte [rbx + 0x35], 0xb
mov qword [rsp + 0x58], 0
jmp 0x14037987c
xor r8d, r8d
mov edx, 0x45
mov rcx, r13
mov dword [rsp + 0x58], r10d
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 0x38]
lea r9d, [rax + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1e0]
mov dword [rax + 0x38], r9d
mov dword [rbx], r9d
mov dword [rsp + 0x20], 0
call fcn.140322f70
mov r10d, dword [rsp + 0x58]
jmp 0x140379138
and dh, 0x20
je 0x14037aa3a
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x1e0]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0xa0], eax
add eax, 1
mov dword [rcx + 0x34], eax
mov eax, dword [rcx + 0x38]
lea ecx, [rax + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1e0]
mov dword [rsp + 0x8c], ecx
mov dword [rax + 0x38], ecx
mov eax, dword [rax + 0x44]
mov dword [rsp + 0xc4], eax
sub eax, 1
mov dword [rdx + 0x44], eax
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0xb8], eax
lea rax, [rdx*8]
sub rax, rdx
mov rdx, qword [rsp + 0x40]
shl rax, 4
mov rax, qword [rdx + rax + 0x28]
mov qword [rsp + 0x78], rax
mov rax, qword [r14 + 0x38]
mov rax, qword [rax]
mov r14, qword [rax + 0x20]
mov qword [rsp + 0xb0], rax
mov byte [rbx + 0x35], 0x41
mov dword [rbx + 0x38], ecx
movzx eax, byte [rsi + 0x40]
cmp al, 1
ja 0x14037ad83
mov rax, qword [rsi + 8]
mov qword [rsp + 0x50], rax
test byte [rsi + 0x3c], 0x10
jne 0x14037bba7
mov rax, qword [rsp + 0x78]
test byte [rax + 0x40], 0x80
je 0x14037c26f
mov rax, qword [rsp + 0x78]
mov r12, qword [rax + 0x10]
test r12, r12
jne 0x140379fde
jmp 0x14037c575
mov r12, qword [r12 + 0x28]
test r12, r12
je 0x1403ecaea
movzx eax, byte [r12 + 0x64]
and eax, 3
cmp al, 2
jne 0x140379fd0
mov rax, qword [rsp + 0x1e0]
movzx r9d, word [r12 + 0x5e]
mov edx, 0x70
mov rcx, qword [rsp + 0x1e0]
mov r8d, dword [rax + 0x34]
lea eax, [r8 + 1]
mov dword [rsp + 0x80], r8d
mov dword [rcx + 0x34], eax
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.140322f70
mov rcx, qword [rsp + 0x1e0]
mov rdx, r12
call fcn.14033bee0
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e0]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x58], eax
add eax, 1
mov dword [rsp + 0xa8], eax
mov dword [rcx + 0x38], eax
mov eax, dword [r13 + 0x90]
mov dword [rsp + 0xac], eax
cmp eax, dword [r13 + 0x94]
jge 0x14037c2b3
mov ecx, dword [rsp + 0xac]
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
movsxd rax, ecx
mov ecx, dword [rsp + 0x8c]
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], ecx
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 0x45
cmp dword [rsi + 0x84], 1
jle 0x14037bb36
mov r15, qword [rsp + 0xb0]
xor edi, edi
xor ebp, ebp
xor r12d, r12d
mov rax, qword [rsi + 0x90]
add rax, rdi
cmp rax, r15
je 0x14037a125
test byte [rax + 0x12], 6
jne 0x14037a125
test word [rax + 0x14], 0x1fff
je 0x14037a125
mov rdx, qword [rax]
test rdx, rdx
je 0x14037a10f
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
call fcn.14032bda0
mov rdx, rax
mov rcx, qword [rsp + 0x1e0]
mov r8, rdx
mov rdx, r12
call fcn.1403406f0
mov r12, rax
add ebp, 1
add rdi, 0x38
cmp dword [rsi + 0x84], ebp
jg 0x14037a0d7
test r12, r12
je 0x14037bb36
mov rcx, qword [rsp + 0x1e0]
mov r9, r12
xor r8d, r8d
mov edx, 0x1002c
call fcn.140340290
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x1e0]
lea r8, str.MULTI_INDEX_OR
mov edx, 1
call fcn.140348b00
mov ecx, dword [r14 + 0x14]
test ecx, ecx
jle 0x14037c389
mov qword [rsp + 0x200], rbx
xor r15d, r15d
mov rbx, qword [rsp + 0x1e0]
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x1f0], rsi
jmp 0x14037a394
mov rdi, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call fcn.14032bda0
cmp byte [rdi + 0x63], 0
mov r12, rax
jne 0x14037a374
mov rax, qword [rsp + 0x90]
mov rdi, r12
test rax, rax
je 0x14037a1f0
mov qword [rax + 0x10], r12
mov rdi, rax
mov r9d, esi
lea r8, str.INDEX__d
mov edx, 1
mov rcx, rbx
call fcn.140348b00
mov rdx, qword [rsp + 0x50]
xor r9d, r9d
mov r8, rdi
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x28], 0x20
mov rcx, rbx
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x30], eax
call fcn.14037c580
mov qword [rsp + 0x98], rax
test rax, rax
je 0x14037a374
mov rax, qword [rbx + 0xa0]
test rax, rax
cmove rax, rbx
cmp byte [rax + 0x113], 2
jne 0x14037a28a
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
mov r9, qword [rax + 0x3b0]
movzx r8d, byte [rax + 0x394]
mov dword [rsp + 0x20], 0
call fcn.140333b70
mov rax, qword [rsp + 0x1f0]
test byte [rax + 0x3c], 0x10
je 0x14037b47e
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xb8]
mov edx, 0xc
mov rcx, r13
mov r8d, dword [rsp + 0x8c]
call fcn.140322f70
mov rsi, qword [rsp + 0x98]
mov eax, 1
movzx edx, byte [rsi + 0x44]
test dl, 2
cmove eax, dword [rsp + 0x88]
mov dword [rsp + 0x88], eax
mov rax, qword [rsi + 0x3b0]
test byte [rax + 0x29], 2
je 0x14037a309
mov rax, qword [rax + 0x20]
test r15, r15
je 0x14037bb03
cmp qword [rsp + 0x58], rax
je 0x14037bb03
mov qword [rsp + 0x58], 0
and edx, 1
je 0x14037a323
mov rax, qword [rsp + 0x1f0]
or byte [rax + 0x44], 1
mov rcx, qword [rsp + 0x98]
call fcn.1403262b0
mov eax, dword [rbx + 0x120]
test eax, eax
je 0x14037a36e
mov rdx, qword [rbx + 0x10]
jns 0x14037a349
mov eax, dword [rdx + 0x90]
sub eax, 1
mov r8, qword [rdx]
lea rcx, [0x1407dad80]
cmp byte [r8 + 0x63], 0
jne 0x14037a36b
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rcx, [rax + rcx*8]
mov eax, dword [rcx + 8]
mov dword [rbx + 0x120], eax
test r12, r12
je 0x14037a386
mov rcx, qword [rsp + 0x48]
mov rdx, r12
call fcn.14031a4f0
add r15, 1
cmp dword [r14 + 0x14], r15d
jle 0x14037b632
mov rdx, qword [r14 + 0x20]
mov ecx, dword [rsp + 0x6c]
mov ebp, r15d
lea esi, [r15 + 1]
lea rax, [r15*8]
sub rax, r15
lea rax, [rdx + rax*8]
cmp dword [rax + 0x1c], ecx
je 0x14037a3bd
test byte [rax + 0x15], 4
je 0x14037a386
mov r12, qword [rax]
test r12, r12
jne 0x14037a1b6
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x63], 0
je 0x14037a1d9
jmp 0x14037a386
mov rcx, qword [rdx + 0x20]
mov rcx, qword [rcx + 0x20]
cmp dword [rcx], 1
jle 0x140379ceb
jmp 0x140379d68
mov rax, qword [r14 + 0x38]
xor r9d, r9d
mov r8, rbx
mov rbp, qword [rax]
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 0x38]
mov rdx, rbp
lea edi, [rax + 1]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x1e0]
mov dword [rax + 0x38], edi
mov rcx, rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r15d
call fcn.1403787b0
mov edx, eax
test edi, edi
je 0x14037a45f
cmp edi, eax
je 0x14037a45f
mov rax, qword [rsp + 0x1e0]
movzx eax, byte [rax + 0x1f]
cmp al, 7
ja 0x14037a45f
mov r11, qword [rsp + 0x1e0]
lea ecx, [rax + 1]
mov byte [r11 + 0x1f], cl
mov dword [r11 + rax*4 + 0xd0], edi
mov dword [rsp + 0x20], edx
mov r9d, dword [rbx + 0x10]
mov edx, 0x1f
mov rcx, r13
mov r8d, dword [rsp + 0x6c]
call fcn.140322f70
mov byte [rbx + 0x35], 0xb1
mov rax, qword [rbp + 0x30]
and rax, qword [rbx + 0x58]
jne 0x14037986e
or word [rbp + 0x12], 4
mov ebp, 2
mov qword [rsp + 0x58], 0
jmp 0x14037987c
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0xb8]
mov r9d, r13d
mov edx, 0x4d
call fcn.140322f70
jmp 0x140379488
movzx eax, word [r14 + 0x1e]
bt eax, ebp
jae 0x1403796e5
jmp 0x140379857
mov esi, r8d
jmp 0x140379488
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jne 0x140379828
jmp 0x140379708
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x14037a4ea
test dl, 0x20
je 0x14037ace6
mov rax, qword [r14 + 0x38]
mov r12, qword [rax]
mov eax, 1
and edx, 0x10
jne 0x14037aab6
test r15d, r15d
je 0x14037acf7
mov edx, 0x21
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x6c]
mov rcx, r13
mov dword [rsp + 0x48], r10d
call fcn.140322f70
mov qword [rsp + 0x58], r12
mov r10d, dword [rsp + 0x48]
jmp 0x14037ab8d
mov dword [rsp + 0x50], esi
mov r14, qword [rsp + 0xc8]
mov r13, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x1f0]
cmp word [rsp + 0xd0], 0
je 0x14037a58a
cmp byte [rsp + 0xc0], 0
jne 0x14037ad5c
mov qword [rsp + 0xc8], 0
mov r11d, dword [rsp + 0xa8]
test r11d, r11d
je 0x14037aaae
mov edi, dword [rbx + 0x28]
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
setne al
cmp word [rsp + 0xc4], 0
setne dl
test rcx, rcx
je 0x14037b97f
test byte [rcx + 0x14], 0x28
setne cl
movzx ecx, cl
mov dword [rsp + 0xac], ecx
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14037bb47
test byte [rcx + 0x14], 0x28
setne cl
or eax, edx
movzx ecx, cl
movzx eax, al
mov dword [rsp + 0xc0], ecx
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0xa0]
mov r10d, dword [rsp + 0x88]
movzx r12d, word [rsp + 0xd4]
add r10d, dword [rsp + 0x50]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x1e0]
mov r8d, r10d
mov dword [rsp + 0x8c], r10d
mov r9d, r12d
mov rbp, qword [rax + 0x18]
mov rdx, rbp
call fcn.1403887c0
mov rax, qword [rsp + 0xa0]
mov r10d, dword [rsp + 0x8c]
movzx ecx, word [rax + 0x12]
test ch, 1
je 0x14037a6a9
mov r8, qword [r13]
mov edx, dword [rbx + 0x2c]
lea rax, [0x1407dad80]
cmp byte [r8 + 0x63], 0
jne 0x14037a698
mov eax, dword [r13 + 0x90]
sub eax, 1
cdqe
lea r8, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + r8*8]
mov r8d, edx
and edx, 1
shr r8d, 1
mov word [rax + 2], dx
mov dword [rax + 0xc], r8d
and ecx, 0x80
je 0x14037ad2c
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x14037a6d9
movzx r8d, word [rsp + 0xc4]
mov edx, r12d
mov rcx, rbp
add r8, rax
call fcn.140314d60
movzx eax, byte [rbp]
add r12d, dword [rsp + 0x88]
cmp al, 0xaf
je 0x14037ad23
cmp al, 0xb0
je 0x14037bddb
cmp al, 0x89
je 0x14037b009
mov rdx, qword [rsp + 0xa0]
mov rcx, rbx
call fcn.140308650
mov r8d, r12d
mov dword [rsp + 0x8c], 0
mov rax, qword [rsp + 0x1e0]
mov r9, qword [rsp + 0x90]
mov edx, dword [rsp + 0x50]
mov rcx, qword [rax + 0x10]
call fcn.140325610
movzx eax, word [r14 + 0x2e]
test ax, ax
je 0x14037a749
xor ebp, ebp
cmp eax, r12d
je 0x14037a7b3
mov r9d, dword [rsp + 0xa8]
test r9d, r9d
jne 0x14037bbe4
mov eax, dword [rsp + 0xac]
mov edx, dword [rsp + 0xb8]
lea rcx, [0x140765810]
mov qword [rsp + 0xa0], rcx
add eax, eax
lea eax, [rax + rdx*4]
add eax, r15d
cdqe
movzx r10d, byte [rcx + rax]
test byte [r14 + 0x2a], 0x10
jne 0x14037b3d8
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], r12d
mov r9d, edi
mov edx, r10d
mov r8d, dword [rsp + 0x78]
mov rcx, r13
xor ebp, ebp
mov dword [rsp + 0x20], eax
call fcn.140323f90
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x14037b384
mov rax, qword [rax]
mov ecx, dword [rsp + 0x88]
movzx r12d, word [rsp + 0xd0]
add ecx, dword [rsp + 0x50]
mov r10, qword [rax + 0x18]
mov dword [rsp + 0x80], ecx
mov r8d, ecx
mov rcx, qword [rsp + 0x1e0]
mov r9d, r12d
mov rdx, r10
mov qword [rsp + 0xa0], r10
call fcn.1403887c0
mov rax, qword [rsp + 0x98]
mov r10, qword [rsp + 0xa0]
movzx ecx, word [rax + 0x12]
test ch, 1
je 0x14037a85e
mov r8, qword [r13]
mov edx, dword [rbx + 0x2c]
lea rax, [0x1407dad80]
cmp byte [r8 + 0x63], 0
jne 0x14037a84d
mov eax, dword [r13 + 0x90]
sub eax, 1
cdqe
lea r8, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + r8*8]
mov r8d, edx
and edx, 1
shr r8d, 1
mov word [rax + 2], dx
mov dword [rax + 0xc], r8d
and ecx, 0x80
je 0x14037bb62
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x14037a8b8
mov rcx, r10
mov r8, rax
mov edx, r12d
mov qword [rsp + 0xa0], r10
call fcn.140314d60
mov rax, qword [rsp + 0x1e0]
mov r9, qword [rsp + 0xc8]
mov r8d, r12d
mov edx, dword [rsp + 0x80]
mov rcx, qword [rax + 0x10]
call fcn.140325610
mov r10, qword [rsp + 0xa0]
movzx eax, byte [r10]
add r12d, dword [rsp + 0x88]
cmp al, 0xaf
jne 0x14037a8cd
movzx eax, byte [r10 + 2]
cmp al, 0xb0
je 0x14037bde6
cmp al, 0x89
je 0x14037be05
mov rdx, qword [rsp + 0x98]
mov rcx, rbx
call fcn.140308650
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x14037a907
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call fcn.140314ee0
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x14037a921
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call fcn.140314ee0
mov eax, dword [r13 + 0x90]
mov dword [rbx + 0x3c], eax
test r12d, r12d
je 0x14037b2e6
mov r11d, dword [rsp + 0xc0]
mov edx, dword [rsp + 0xa8]
lea ecx, [r15 + r15]
mov dword [rsp + 0x48], ecx
add r11d, ecx
test edx, edx
jne 0x14037bd00
mov eax, dword [rsp + 0x50]
movsxd r11, r11d
mov dword [rsp + 0x28], r12d
mov r9d, edi
lea r10, [0x140765809]
mov r8d, dword [rsp + 0x78]
mov rcx, r13
mov dword [rsp + 0x20], eax
movzx edx, byte [r10 + r11]
call fcn.140323f90
test ebp, ebp
jne 0x14037b2b0
mov eax, dword [r14 + 0x28]
test eax, 0x40000
jne 0x14037b7a1
test al, 0x40
je 0x14037b13d
test byte [rsi + 0x3c], 0x20
jne 0x14037b13d
mov r12d, 1
mov eax, dword [rbx]
test eax, eax
je 0x14037be11
mov eax, dword [r14 + 0x28]
test ah, 0x10
je 0x14037b370
mov byte [rbx + 0x35], 0xb1
mov edx, eax
mov ecx, dword [rsp + 0x78]
shr edx, 0x10
and edx, 1
mov dword [rbx + 0x38], ecx
mov byte [rbx + 0x36], dl
test al, 0xf
jne 0x14037a9e6
mov byte [rbx + 0x37], 1
mov ebp, 1
test r12d, r12d
je 0x14037987c
jmp 0x14037986e
mov rcx, r11
call fcn.140307d00
test eax, eax
je 0x1403794af
lea r8d, [rdi + rsi]
mov edx, 0x32
mov qword [rsp + 0x50], r11
mov rcx, qword [rsp + 0xb8]
mov dword [rsp + 0x20], 0
mov r9d, dword [rbx + 0xc]
call fcn.140322f70
mov r11, qword [rsp + 0x50]
jmp 0x1403794af
and r8d, 0x20
je 0x14037b0b7
mov byte [rbx + 0x35], 0xb1
mov ebp, 2
mov qword [rsp + 0x58], 0
jmp 0x14037987c
mov r9d, r10d
mov r8d, edi
mov edx, 0xe
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.140322ee0
jmp 0x140379e8b
mov byte [rsp + 0xb0], 0
mov qword [rsp + 0x98], 0
jmp 0x14037929a
mov qword [rsp + 0xa0], 0
mov eax, dword [rsp + 0x88]
xor edi, edi
jmp 0x140379251
mov edi, dword [rbx + 0x10]
jmp 0x14037a5aa
mov rdx, qword [r14 + 0x38]
mov rax, qword [rdx + rax*8]
mov qword [rsp + 0x58], rax
test r15d, r15d
jne 0x14037ad05
test r12, r12
je 0x14037c4c4
mov dword [rsp + 0x140], 0x18161719
mov rdi, qword [r12]
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xaf
jne 0x14037aaf3
movzx eax, byte [rdx + 2]
cmp al, 0xb0
je 0x14037bc67
cmp al, 0x89
je 0x14037aece
mov rcx, qword [rsp + 0x1e0]
lea r8, [rsp + 0x110]
mov dword [rsp + 0x48], r10d
call fcn.140389890
mov rdx, r12
mov rcx, rbx
mov ebp, eax
call fcn.140308650
movzx eax, byte [rdi]
mov r10d, dword [rsp + 0x48]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x140]
mov dword [rsp + 0x20], ebp
mov r8d, dword [rsp + 0x6c]
mov r9d, r10d
mov rcx, r13
mov dword [rsp + 0x48], r10d
call fcn.140322f70
mov edx, dword [rsp + 0x110]
mov r10d, dword [rsp + 0x48]
test edx, edx
je 0x14037ab8d
mov rax, qword [rsp + 0x1e0]
movzx eax, byte [rax + 0x1f]
cmp al, 7
ja 0x14037ab8d
mov rdi, qword [rsp + 0x1e0]
lea ecx, [rax + 1]
mov byte [rdi + 0x1f], cl
mov dword [rdi + rax*4 + 0xd0], edx
mov ebp, 5
sub ebp, r15d
cmp qword [rsp + 0x58], 0
je 0x14037b3b9
mov rax, qword [rsp + 0x58]
mov r9d, 1
mov dword [rsp + 0x50], r10d
mov r12, qword [rax]
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 0x38]
mov rdx, qword [r12 + 0x18]
lea edi, [rax + 1]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x1e0]
mov r8d, edi
mov dword [rax + 0x38], edi
mov rcx, rax
call fcn.1403887c0
mov rax, qword [r12 + 0x18]
mov r10d, dword [rsp + 0x50]
movzx edx, byte [rax]
cmp dl, 0xaf
jne 0x14037abf7
movzx edx, byte [rax + 2]
cmp dl, 0xb0
je 0x14037ba94
cmp dl, 0x89
je 0x14037ba90
movzx eax, byte [r12]
sub eax, 0x36
cmp r15d, 1
sbb r12d, r12d
test al, 0xfd
jne 0x14037bce6
and r12d, 2
add r12d, 0x37
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
mov dword [rsp + 0x48], r10d
call fcn.140308650
mov r10d, dword [rsp + 0x48]
mov eax, dword [r13 + 0x90]
mov byte [rbx + 0x35], bpl
mov edx, 0x83
mov rcx, r13
mov r8d, dword [rsp + 0x6c]
mov dword [rsp + 0x50], r10d
mov dword [rbx + 0x3c], eax
mov rax, qword [rsp + 0x1e0]
mov dword [rbx + 0x38], r8d
mov eax, dword [rax + 0x38]
lea ebp, [rax + 1]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x1e0]
mov r9d, ebp
mov dword [rax + 0x38], ebp
mov dword [rsp + 0x20], 0
call fcn.140322f70
mov r10d, dword [rsp + 0x50]
mov r8d, edi
mov edx, r12d
mov dword [rsp + 0x20], ebp
mov rcx, r13
mov r9d, r10d
call fcn.140322f70
movsxd rax, dword [r13 + 0x90]
test eax, eax
jle 0x14037986e
mov r14, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov r15d, 0x53
mov qword [rsp + 0x58], 0
mov ebp, 2
lea rax, [r14 + rax*8]
mov word [rax - 0x16], r15w
jmp 0x14037987c
xor r12d, r12d
xor eax, eax
jmp 0x14037a515
xor eax, eax
jmp 0x14037916f
mov qword [rsp + 0x58], 0
jmp 0x14037aacc
cmp qword [rsp + 0x58], 0
je 0x14037a527
mov rax, r12
mov r12, qword [rsp + 0x58]
mov qword [rsp + 0x58], rax
jmp 0x14037aad5
movzx eax, byte [rbp + 2]
jmp 0x14037a6ed
mov rcx, rbp
call fcn.140307d00
test eax, eax
je 0x14037a6b5
mov r9d, edi
mov r8d, r10d
mov edx, 0x32
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.140322f70
jmp 0x14037a6b5
mov rcx, qword [rsp + 0x48]
movzx edx, word [rsp + 0xc4]
add rdx, qword [rsp + 0x90]
call fcn.1403138c0
mov qword [rsp + 0xc8], rax
jmp 0x14037a596
sub eax, ebp
mov rcx, qword [rsp + 0x48]
lea edi, [rax - 1]
mov r15d, eax
movsxd rax, edi
lea rdx, [rax*8]
sub rdx, rax
shl rdx, 4
add rdx, 0x78
test rcx, rcx
je 0x14037c155
call fcn.14030f620
mov qword [rsp + 0x50], rax
mov r11, qword [rsp + 0x50]
test r11, r11
je 0x14037c148
lea eax, [rdi + 1]
mov rcx, qword [rsp + 0x40]
movzx eax, al
mov dword [r11 + 4], eax
mov dword [r11], eax
lea rax, [r12*8]
sub rax, r12
shl rax, 4
lea rax, [rcx + rax + 8]
movdqu xmm4, xmmword [rax]
movups xmmword [r11 + 8], xmm4
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [r11 + 0x18], xmm5
movdqu xmm4, xmmword [rax + 0x20]
movups xmmword [r11 + 0x28], xmm4
movdqu xmm5, xmmword [rax + 0x30]
movups xmmword [r11 + 0x38], xmm5
movdqu xmm4, xmmword [rax + 0x40]
movups xmmword [r11 + 0x48], xmm4
movdqu xmm5, xmmword [rax + 0x50]
movups xmmword [r11 + 0x58], xmm5
movdqu xmm0, xmmword [rax + 0x60]
movups xmmword [r11 + 0x68], xmm0
mov rax, qword [rsi + 8]
lea r8, [rax + 8]
test edi, edi
jle 0x140379fa4
lea r9d, [r15 - 2]
lea rcx, [rbx + 0x94]
lea rax, [r9*8]
lea rdx, [r11 + 0x78]
sub rax, r9
shl rax, 4
lea r9, [r11 + rax + 0xe8]
movzx r10d, byte [rcx]
add rdx, 0x70
add rcx, 0x60
lea rax, [r10*8]
sub rax, r10
shl rax, 4
add rax, r8
movdqu xmm1, xmmword [rax]
movups xmmword [rdx - 0x70], xmm1
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rdx - 0x60], xmm2
movdqu xmm3, xmmword [rax + 0x20]
movups xmmword [rdx - 0x50], xmm3
movdqu xmm4, xmmword [rax + 0x30]
movups xmmword [rdx - 0x40], xmm4
movdqu xmm5, xmmword [rax + 0x40]
movups xmmword [rdx - 0x30], xmm5
movdqu xmm0, xmmword [rax + 0x50]
movups xmmword [rdx - 0x20], xmm0
movdqu xmm1, xmmword [rax + 0x60]
movups xmmword [rdx - 0x10], xmm1
cmp r9, rdx
jne 0x14037ae68
jmp 0x140379fa4
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x14037ab03
mov rax, qword [rsp + 0x1e0]
movzx eax, byte [rax + 0x1f]
test al, al
je 0x14037bbc2
mov rcx, qword [rsp + 0x1e0]
sub eax, 1
mov byte [rcx + 0x1f], al
movzx eax, al
mov ebp, dword [rcx + rax*4 + 0xd0]
mov rcx, qword [rsp + 0x1e0]
mov r9d, 1
mov r8d, ebp
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x110], ebp
call fcn.1403887c0
movzx eax, byte [rdi]
mov r10d, dword [rsp + 0x48]
sub eax, 0x37
and eax, 2
or eax, 1
movzx edx, byte [rsp + rax + 0x140]
jmp 0x14037ab3f
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov edx, 0x84
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.140322f70
jmp 0x1403792f0
movzx edx, byte [rsp + 0xb0]
mov rcx, qword [rsp + 0x98]
mov byte [rsp + 0xb0], 0
movzx eax, byte [rsp + 0xd4]
mov byte [rsp + 0x80], dl
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xa0], rcx
movzx ecx, word [rsp + 0xd0]
mov qword [rsp + 0x98], rdx
mov word [rsp + 0xd4], cx
mov word [rsp + 0xd0], ax
jmp 0x1403792e1
mov r11, qword [rsp + 0x58]
movzx eax, word [rsp + 0xc4]
mov rcx, qword [r11 + 8]
movsx rcx, word [rcx + rax*2]
mov rax, rcx
test ecx, ecx
js 0x14037c138
mov rcx, qword [r11 + 0x18]
shl rax, 5
add rax, qword [rcx + 8]
cmp byte [rax + 0x18], 0
sete byte [rsp + 0xb0]
jmp 0x14037929a
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x14037a6fd
mov dword [rsp + 0x8c], 0
mov r8d, r12d
mov dword [rsp + 0xac], 1
jmp 0x14037a71b
mov rax, qword [rsp + 0x1e0]
mov edx, 0x45
mov rcx, r13
mov r8d, 1
mov eax, dword [rax + 0x38]
lea r9d, [rax + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1e0]
mov dword [rax + 0x38], r9d
mov dword [rbx + 0x2c], r9d
mov dword [rsp + 0x20], 0
call fcn.140322f70
mov eax, dword [r13 + 0x90]
mov rcx, qword [rsp + 0x58]
mov dword [rbx + 0x30], eax
mov eax, dword [rbx + 0x2c]
mov rcx, qword [rcx + 0x38]
lea edx, [rax + rax]
movzx eax, word [rsp + 0xc4]
mov dword [rbx + 0x2c], edx
cmp byte [rcx + rax], 1
sete al
movzx eax, al
xor eax, r15d
or eax, edx
mov edx, dword [r14 + 0x28]
mov dword [rbx + 0x2c], eax
jmp 0x140379283
movsxd r15, r15d
lea rax, [0x140765807]
movzx eax, byte [rax + r15]
mov byte [rbx + 0x35], al
mov eax, dword [rsp + 0x6c]
mov dword [rbx + 0x38], eax
lea rax, [0x140765805]
movzx ecx, byte [rax + r15]
movsxd rax, dword [r13 + 0x90]
cmp eax, dword [r13 + 0x94]
jge 0x14037c3cb
lea edx, [rax + 1]
lea r8, [rax + rax*2]
mov rax, qword [r13 + 0x88]
xor r10d, r10d
mov dword [r13 + 0x90], edx
lea rax, [rax + r8*8]
mov byte [rax], cl
mov ecx, dword [rsp + 0x6c]
mov word [rax + 2], r10w
mov dword [rax + 4], ecx
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov byte [rax + 1], 0
mov dword [rbx + 0x3c], edx
mov byte [rbx + 0x37], 1
jmp 0x14037986e
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
test byte [rax + 0x40], 0x80
je 0x14037ba31
mov edx, dword [rsp + 0x78]
cmp dword [rsp + 0x6c], edx
je 0x14037b267
mov rdi, qword [rax + 0x10]
test rdi, rdi
jne 0x14037b17d
jmp 0x14037c570
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x1403ecae0
movzx eax, byte [rdi + 0x64]
and eax, 3
cmp al, 2
jne 0x14037b170
movzx edx, word [rdi + 0x5e]
mov rcx, qword [rsp + 0x1e0]
call fcn.14030d180
cmp word [rdi + 0x5e], 0
mov r12d, eax
je 0x14037c569
xor ebp, ebp
mov qword [rsp + 0x1e8], r13
mov qword [rsp + 0x1f0], rsi
mov r13, rbp
mov esi, dword [rsp + 0x78]
mov qword [rsp + 0x200], rbx
mov rbp, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rdi + 8]
movzx edx, word [rbx + 0x60]
movzx r8d, word [rax + r13*2]
test edx, edx
je 0x14037b2a5
mov r9, qword [rbx + 8]
xor eax, eax
jmp 0x14037b204
add rax, 1
cmp edx, eax
jle 0x14037b2a5
cmp r8w, word [r9 + rax*2]
jne 0x14037b1f8
movsx r9d, ax
lea eax, [r12 + r13]
mov r8d, esi
mov edx, 0x5b
mov rcx, rbp
mov dword [rsp + 0x20], eax
add r13, 1
call fcn.140322f70
movzx eax, word [rdi + 0x5e]
cmp eax, r13d
jg 0x14037b1d5
mov rsi, qword [rsp + 0x1f0]
mov rbx, qword [rsp + 0x200]
mov r13, rbp
mov dword [rsp + 0x28], eax
mov r9d, dword [rsp + 0x68]
mov edx, 0x1d
mov rcx, r13
mov dword [rsp + 0x20], r12d
mov r8d, dword [rsp + 0x6c]
call fcn.140323f90
mov r12d, dword [rbx]
test r12d, r12d
jne 0x14037ba88
test byte [rsi + 0x3c], 0x20
je 0x14037be11
xor r12d, r12d
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x14037a9bb
mov r8, qword [rsp + 0x70]
mov edx, dword [rsp + 0x6c]
call fcn.140343c10
jmp 0x14037a9bb
mov r9d, 0xffffffff
jmp 0x14037b20f
mov eax, dword [r13 + 0x90]
mov rcx, qword [r13]
test ebp, ebp
lea edx, [rax - 1]
cmovs ebp, edx
cmp byte [rcx + 0x63], 0
lea rdx, [0x1407dad80]
jne 0x14037b2e3
mov rdx, qword [r13 + 0x88]
movsxd rbp, ebp
lea rcx, [rbp + rbp*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
mov r10d, dword [rsp + 0xa8]
test r10d, r10d
je 0x14037a98a
lea ecx, [r15 + r15]
lea r10, [0x140765809]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x20], 0
mov rcx, r13
lea r9d, [rax + 2]
mov edx, 0x12
mov r8d, dword [rsp + 0xa8]
mov qword [rsp + 0x80], r10
call fcn.140322f70
mov ecx, dword [rsp + 0x8c]
mov eax, dword [rsp + 0x48]
mov r9d, edi
mov r10, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x78]
add eax, ecx
add r12d, ecx
mov rcx, r13
cdqe
mov dword [rsp + 0x28], r12d
movzx edx, byte [r10 + rax]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
call fcn.140323f90
jmp 0x14037a98a
cmp r15d, 1
mov edx, 4
adc dl, 0
mov byte [rbx + 0x35], dl
jmp 0x14037a9cc
cmp byte [rsp + 0x80], 0
mov r12d, dword [rsp + 0x88]
je 0x14037a8ed
mov ecx, dword [rsp + 0xa8]
test ecx, ecx
je 0x14037c18a
mov eax, dword [rsp + 0x88]
lea r12d, [rax + 1]
jmp 0x14037a8ed
mov eax, dword [r13 + 0x90]
mov ecx, dword [rsp + 0x6c]
mov byte [rbx + 0x35], bpl
mov ebp, 2
mov dword [rbx + 0x38], ecx
mov dword [rbx + 0x3c], eax
jmp 0x14037987c
xor ebp, ebp
cmp r10d, 0x18
je 0x14037c2f1
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], r12d
mov r9d, edi
mov edx, r10d
mov r8d, dword [rsp + 0x78]
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.140323f90
mov r8d, dword [rsp + 0xa8]
test r8d, r8d
je 0x14037a7b3
mov eax, dword [r13 + 0x90]
xor r8d, r8d
mov rcx, r13
mov edx, 0xb
mov dword [rsp + 0x20], 0
lea r9d, [rax + 2]
call fcn.140322f70
xor eax, eax
cmp r12d, 1
mov r8d, dword [rsp + 0x78]
setg al
mov rcx, qword [rsp + 0xa0]
sub r12d, dword [rsp + 0xac]
mov r9d, edi
lea eax, [r15 + rax*4 + 2]
mov dword [rsp + 0x28], r12d
cdqe
movzx edx, byte [rcx + rax]
mov eax, dword [rsp + 0x50]
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.140323f90
jmp 0x14037a7b3
mov eax, dword [r14 + 0x14]
sub eax, 1
cmp eax, r15d
mov eax, 0xffffffff
cmove ebp, eax
mov rax, qword [rsp + 0x78]
test byte [rax + 0x40], 0x80
je 0x14037bab7
mov rax, qword [rsp + 0x78]
mov r10, qword [rax + 0x10]
test r10, r10
jne 0x14037b4c5
jmp 0x14037c57a
mov r10, qword [r10 + 0x28]
test r10, r10
je 0x1403ecb00
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x14037b4b8
movzx edi, word [r10 + 0x5e]
mov rcx, rbx
xor r11d, r11d
mov edx, edi
call fcn.14030d180
lea ecx, [rdi + rax]
mov esi, eax
mov dword [rsp + 0xc0], ecx
test edi, edi
je 0x14037b55e
mov dword [rsp + 0xd4], eax
mov dword [rsp + 0xd0], ebp
mov rbp, r13
mov r13, rbx
mov rbx, r10
mov dword [rsp + 0xc8], edi
mov rdi, r11
mov rdx, qword [rbx + 8]
mov r8d, dword [rsp + 0x6c]
mov rcx, rbp
movsx r9d, word [rdx + rdi]
mov dword [rsp + 0x20], esi
add rdi, 2
add esi, 1
mov rdx, qword [rsp + 0x78]
call fcn.1403882c0
cmp dword [rsp + 0xc0], esi
jne 0x14037b514
mov rbx, r13
mov edi, dword [rsp + 0xc8]
mov r13, rbp
mov esi, dword [rsp + 0xd4]
mov ebp, dword [rsp + 0xd0]
test ebp, ebp
jne 0x14037c1ba
mov ebp, dword [rsp + 0xa8]
mov r9d, edi
mov r8d, esi
mov rcx, r13
mov edx, 0x5d
mov dword [rsp + 0x20], ebp
call fcn.140322f70
mov dword [rsp + 0x28], edi
mov r9d, ebp
mov rcx, r13
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x80]
mov edx, 0x86
call fcn.140323f90
xor r10d, r10d
cmp edi, 1
je 0x14037c363
cmp edi, dword [rbx + 0x28]
jle 0x14037b5bb
mov dword [rbx + 0x28], edi
mov dword [rbx + 0x2c], esi
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xb8]
mov edx, 0xc
mov rcx, r13
mov r8d, dword [rsp + 0x8c]
mov dword [rsp + 0xc0], r10d
call fcn.140322f70
mov r10d, dword [rsp + 0xc0]
test r10d, r10d
je 0x14037a2c1
mov edx, dword [r13 + 0x90]
mov rcx, qword [r13]
lea eax, [rdx - 1]
cmovs r10d, eax
cmp byte [rcx + 0x63], 0
lea rax, [0x1407dad80]
jne 0x14037b62a
mov rax, qword [r13 + 0x88]
movsxd r10, r10d
lea rcx, [r10 + r10*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x14037a2c1
mov rax, qword [rsp + 0x1e0]
mov rsi, qword [rsp + 0x1f0]
mov rbx, qword [rsp + 0x200]
mov eax, dword [rax + 0x120]
test eax, eax
je 0x14037b692
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rcx + 0x10]
test eax, eax
jns 0x14037b66d
mov eax, dword [rdx + 0x90]
sub eax, 1
mov r8, qword [rdx]
lea rcx, [0x1407dad80]
cmp byte [r8 + 0x63], 0
jne 0x14037b68f
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rcx, [rax + rcx*8]
mov eax, dword [rcx + 8]
mov rcx, qword [rsp + 0x1e0]
mov dword [rcx + 0x120], eax
mov rax, qword [rsp + 0x58]
mov qword [rbx + 0x40], rax
test rax, rax
je 0x14037b6b8
mov eax, dword [rsp + 0xa0]
mov dword [rbx + 8], eax
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x14037b6da
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call fcn.14031a4f0
mov ecx, dword [rsp + 0xac]
mov edx, dword [r13 + 0x90]
test ecx, ecx
lea eax, [rdx - 1]
cmovns eax, ecx
mov rcx, qword [r13]
cmp byte [rcx + 0x63], 0
mov edi, eax
lea rax, [0x1407dad80]
jne 0x14037b715
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
mov edx, dword [rbx + 0xc]
mov rcx, r13
call fcn.140323d80
mov rcx, qword [r13 + 0x18]
mov r8d, dword [rsp + 0xc4]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x14037bcf3
mov edx, dword [r13 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
cmp byte [rsi + 0x40], 1
jbe 0x14037b76d
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14037b76d
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call fcn.140314ee0
mov r11d, dword [rsp + 0x88]
test r11d, r11d
jne 0x14037986e
mov rdx, qword [rsp + 0xb0]
mov rcx, rbx
mov ebp, 2
call fcn.140308650
mov qword [rsp + 0x58], 0
jmp 0x14037987c
mov eax, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x78]
mov edx, 0x79
mov rcx, r13
mov dword [rsp + 0x20], eax
mov r9d, eax
call fcn.140322f70
mov eax, dword [r14 + 0x28]
jmp 0x14037a999
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e0]
mov r12d, dword [rbx]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x50], eax
add eax, 1
mov dword [rcx + 0x38], eax
mov dword [rsp + 0xa8], eax
mov dword [rbx + 0x24], eax
test r12d, r12d
jne 0x14037c0f3
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e0]
mov edi, 1
mov byte [rsp + 0xb0], 1
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x50], eax
sub eax, 1
mov dword [rcx + 0x44], eax
mov dword [rbx + 0x28], eax
jmp 0x1403792b7
mov eax, dword [rsp + 0xb8]
mov edi, dword [rbx + 8]
xor r8d, r8d
mov r9d, r12d
mov edx, 0x48
mov rcx, rbp
lea eax, [rax + r12 - 1]
mov dword [rsp + 0x20], eax
call fcn.140322f70
cmp r15d, 1
mov r8d, edi
mov rcx, rbp
sbb edx, edx
mov dword [rsp + 0x20], 0
xor r9d, r9d
and edx, 4
add edx, 0x21
call fcn.140322f70
mov r10d, dword [rbp + 0x90]
cmp r10d, dword [rbp + 0x94]
jge 0x14037c167
lea eax, [r10 + 1]
mov dword [rbp + 0x90], eax
movsxd rax, r10d
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0xb
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
cmp r15d, 1
mov dword [rsp + 0x20], r12d
mov rcx, rbp
mov r8d, edi
mov eax, dword [rsp + 0xb8]
sbb edx, edx
xor r9d, r9d
mov dword [rsp + 0xc0], r10d
and edx, 3
mov dword [rsp + 0x28], eax
add edx, 0x16
call fcn.140323f90
mov edx, dword [rbp + 0x90]
mov rcx, qword [rbp]
mov r10d, dword [rsp + 0xc0]
mov dword [rbx + 0x14], eax
lea eax, [rdx - 1]
test r10d, r10d
cmovs r10d, eax
cmp byte [rcx + 0x63], 0
lea rax, [0x1407dad80]
jne 0x14037b92e
mov rax, qword [rbp + 0x88]
movsxd r10, r10d
lea rcx, [r10 + r10*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
xor r9d, r9d
mov qword [rsp + 0x1f0], rsi
mov rsi, rbp
mov rbp, rbx
mov ebx, r9d
lea eax, [r12 + rbx]
mov r9d, ebx
mov r8d, edi
mov edx, 0x5b
mov dword [rsp + 0x20], eax
mov rcx, rsi
add ebx, 1
call fcn.140322f70
cmp ebx, dword [rsp + 0xb8]
jne 0x14037b945
mov rbx, rbp
mov rbp, rsi
mov rsi, qword [rsp + 0x1f0]
jmp 0x140379382
cmp qword [rsp + 0x98], 0
je 0x14037c113
mov rcx, qword [rsp + 0x98]
mov dword [rsp + 0xac], 1
test byte [rcx + 0x14], 0x28
setne cl
or eax, edx
movzx ecx, cl
movzx eax, al
mov dword [rsp + 0xc0], ecx
mov dword [rsp + 0xb8], eax
cmp byte [rsp + 0xb0], 0
jne 0x14037bd86
mov r10d, dword [rsp + 0xa8]
test r10d, r10d
jne 0x14037bc72
mov rax, qword [rsp + 0x1e0]
mov r12d, dword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
mov edx, dword [rsp + 0x50]
mov rcx, qword [rax + 0x10]
mov r8d, r12d
call fcn.140325610
movzx eax, word [r14 + 0x2e]
test ax, ax
je 0x14037ba21
mov ecx, dword [rsp + 0x88]
cmp ecx, eax
je 0x14037c2df
mov r12d, ecx
mov dword [rsp + 0x8c], 0
jmp 0x14037a75a
mov rbp, qword [rsi]
mov eax, dword [rsp + 0x6c]
xor r9d, r9d
mov edx, 0x89
mov r8d, dword [rsp + 0x78]
mov r12, qword [rbp + 0x10]
or byte [rsi + 0x44], 1
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.140322f70
test byte [rsi + 0x3c], 0x20
je 0x14037bd7e
mov rax, qword [rbp + 0xa0]
test rax, rax
cmove rax, rbp
mov r9d, dword [rax + 0x70]
test r9d, r9d
je 0x14037c3eb
mov edx, dword [rbx]
test edx, edx
je 0x14037b27d
xor r12d, r12d
jmp 0x14037a9bb
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x14037ac09
cmp r15d, 1
sbb r12d, r12d
and r12d, 0xfffffffe
add r12d, 0x38
jmp 0x14037ac3f
mov esi, dword [rsp + 0xa8]
mov dword [rsp + 0x20], 0
mov edx, 0x83
mov rcx, r13
mov r8d, dword [rsp + 0x6c]
mov r9d, esi
call fcn.140322f70
mov dword [rsp + 0x28], ebp
xor r9d, r9d
mov rcx, r13
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x80]
mov edx, 0x2d
call fcn.140323f90
mov r10d, eax
jmp 0x14037b5bb
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
mov rsi, rax
test byte [rcx + 0x40], 0x80
je 0x14037a312
movzx eax, byte [rax + 0x64]
and eax, 3
cmp al, 2
mov eax, 0
cmovne rax, rsi
mov qword [rsp + 0x58], rax
jmp 0x14037a312
mov qword [rsp + 0x90], 0
jmp 0x14037a15d
mov dword [rsp + 0xb8], 1
mov dword [rsp + 0xc0], 1
jmp 0x14037a60c
mov rcx, r10
call fcn.140307d00
test eax, eax
je 0x14037a86a
mov dword [rsp + 0x20], 0
mov r9d, edi
mov edx, 0x32
mov rcx, r13
mov r8d, dword [rsp + 0x80]
mov qword [rsp + 0xa0], r10
call fcn.140322f70
mov r10, qword [rsp + 0xa0]
jmp 0x14037a86a
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0x80], 0
jmp 0x14037a05d
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 0x38]
lea ebp, [rax + 1]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x1e0]
mov dword [rax + 0x38], ebp
jmp 0x14037af0d
mov ebp, dword [rsp + 0xb8]
shl ebp, 2
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x45
mov r9d, dword [rsp + 0xa8]
mov r8d, 1
call fcn.140322f70
mov eax, dword [rsp + 0xac]
lea rcx, [0x140765810]
mov qword [rsp + 0xa0], rcx
lea eax, [rbp + rax*2]
add eax, r15d
cdqe
movzx r10d, byte [rcx + rax]
test byte [r14 + 0x2a], 0x10
jne 0x14037b3d8
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], r12d
mov r9d, edi
mov edx, r10d
mov r8d, dword [rsp + 0x78]
mov rcx, r13
xor ebp, ebp
mov dword [rsp + 0x20], eax
call fcn.140323f90
jmp 0x14037b415
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x14037aed8
mov ebp, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x50]
xor r8d, r8d
mov edx, 0x48
mov dword [rsp + 0x20], 0
lea r9d, [rbp + rcx]
mov rcx, r13
lea r12d, [rbp + 1]
call fcn.140322f70
mov rax, qword [rsp + 0x1e0]
mov edx, dword [rsp + 0x50]
mov r8d, r12d
mov r9, qword [rsp + 0x90]
mov rcx, qword [rax + 0x10]
call fcn.140325610
movzx eax, word [r14 + 0x2e]
test ax, ax
je 0x14037bcd1
cmp r12d, eax
je 0x14037c2df
mov dword [rsp + 0x8c], 0
mov ebp, 4
jmp 0x14037bbee
and r12d, 0xfffffffe
add r12d, 0x38
jmp 0x14037ac28
mov rdx, r13
call fcn.14031ccb0
jmp 0x14037b750
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xa8]
lea r9d, [rax + 3]
mov rcx, r13
mov edx, 0x14
mov dword [rsp + 0x80], r11d
call fcn.140322f70
mov eax, dword [rsp + 0x50]
mov r9d, edi
mov rcx, r13
movsxd r11, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x78]
mov dword [rsp + 0x28], r12d
lea r10, [0x140765809]
mov dword [rsp + 0x20], eax
movzx edx, byte [r10 + r11]
mov qword [rsp + 0x80], r10
call fcn.140323f90
test ebp, ebp
jne 0x14037b2b0
mov eax, dword [r13 + 0x90]
mov r10, qword [rsp + 0x80]
jmp 0x14037b306
xor r12d, r12d
jmp 0x14037a9b1
mov eax, dword [rsp + 0x50]
xor r8d, r8d
mov edx, 0x48
mov rcx, r13
mov ebp, dword [rsp + 0x88]
mov dword [rsp + 0x20], 0
lea r9d, [rbp + rax]
lea r12d, [rbp + 1]
call fcn.140322f70
mov r8d, ebp
mov dword [rsp + 0x8c], 1
mov dword [rsp + 0xb8], 1
mov dword [rsp + 0xac], 0
jmp 0x14037a71b
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
jmp 0x14037b013
mov rax, qword [r10 + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x14037a8dd
mov dword [rsp + 0xc0], 1
jmp 0x14037a8ed
mov rax, qword [r10 + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
jmp 0x14037bdec
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x50]
mov qword [rsp + 0x48], rcx
test rcx, rcx
je 0x14037c260
mov rcx, qword [rsp + 0x58]
xor ebp, ebp
lea rdi, [0x14076bfa0]
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x138], rax
mov eax, dword [rsp + 0x6c]
mov qword [rsp + 0x118], 0
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0x78]
mov qword [rsp + 0x120], 0
mov dword [rsp + 0xec], eax
mov rax, qword [rsi]
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov rax, qword [rax]
cmp word [rcx + 0x60], 0
mov qword [rsp + 0x100], rax
je 0x14037b280
mov dword [rsp + 0x80], r12d
mov qword [rsp + 0x1e8], r13
mov qword [rsp + 0x200], rbx
mov rax, qword [rsp + 0x58]
mov ebx, ebp
mov rax, qword [rax + 8]
movsx r9d, word [rax + rbp*2]
cmp r9w, 0xfffe
je 0x14037c052
test r9w, r9w
js 0x14037c020
mov rcx, qword [rsp + 0x50]
movsx rax, r9w
shl rax, 5
add rax, qword [rcx + 8]
test byte [rax + 0x1c], 0x20
je 0x14037c020
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14037bf62
mov eax, 0x42
lea rcx, str.BINARY
jmp 0x14037bf54
cdqe
movzx eax, byte [rdi + rax]
cmp byte [rdi + r8], al
jne 0x14037c020
movzx eax, byte [rcx + 1]
add rcx, 1
add rdx, 1
movzx r8d, byte [rdx]
cmp r8d, eax
jne 0x14037bf38
test r8d, r8d
jne 0x14037bf48
lea rax, [0x140313550]
mov dword [rsp + 0xf4], r9d
mov qword [rsp + 0x118], rax
mov rdx, qword [rsi + 0x20]
mov dword [rsp + 0xf0], ebx
test rdx, rdx
je 0x14037bf96
lea rcx, [rsp + 0x110]
call fcn.14032aeb0
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14037bfdb
mov edx, dword [rax]
lea r13, [rax + 8]
test edx, edx
jle 0x14037bfdb
sub edx, 1
lea rbx, [rsp + 0x110]
shl rdx, 5
lea r12, [rax + rdx + 0x28]
mov rdx, qword [r13]
test rdx, rdx
je 0x14037bfd2
mov rcx, rbx
call fcn.14032aeb0
test eax, eax
jne 0x14037bfdb
add r13, 0x20
cmp r13, r12
jne 0x14037bfbd
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x14037c020
mov edx, dword [rax]
lea r13, [rax + 8]
test edx, edx
jle 0x14037c020
sub edx, 1
lea rbx, [rsp + 0x110]
shl rdx, 5
lea r12, [rax + rdx + 0x28]
mov rdx, qword [r13]
test rdx, rdx
je 0x14037c017
mov rcx, rbx
call fcn.14032aeb0
test eax, eax
jne 0x14037c020
add r13, 0x20
cmp r13, r12
jne 0x14037c002
mov rax, qword [rsp + 0x58]
add rbp, 1
movzx eax, word [rax + 0x60]
cmp eax, ebp
jg 0x14037beda
mov r12d, dword [rsp + 0x80]
mov r13, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x200]
jmp 0x14037b280
mov rcx, qword [rsp + 0x48]
mov rax, rbp
mov r8d, 1
shl rax, 5
mov rdx, qword [rcx + rax + 8]
lea rax, [0x1403217f0]
mov word [rsp + 0x164], r8w
mov qword [rsp + 0x148], rax
lea rax, [0x140307c70]
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x150], rax
mov dword [rsp + 0x168], 0
test rdx, rdx
je 0x14037c020
lea rcx, [rsp + 0x140]
call fcn.14032aeb0
cmp word [rsp + 0x164], 0
jne 0x14037c020
lea rax, [0x140344d10]
mov qword [rsp + 0x118], rax
jmp 0x14037bf79
or r13d, 0x40
cmp al, 0x41
cmovl eax, r13d
cmp al, 0x41
jne 0x140379509
jmp 0x1403793f9
mov r9d, eax
xor r8d, r8d
mov edx, 0x45
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.140322f70
jmp 0x14037b7fd
mov dword [rsp + 0xc0], 1
movzx eax, dl
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xac], 1
jmp 0x14037b9be
cmp ecx, 0xfffffffe
sete byte [rsp + 0xb0]
jmp 0x14037929a
mov rax, qword [rsp + 0x208]
jmp 0x140379bf3
mov rcx, rdx
call fcn.14030ef00
mov qword [rsp + 0x50], rax
jmp 0x14037adb9
xor r9d, r9d
xor r8d, r8d
mov edx, 0xb
mov rcx, rbp
mov dword [rsp + 0x20], 0
call fcn.140322ee0
mov r10d, eax
jmp 0x14037b8be
mov ecx, dword [rsp + 0x50]
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x48
lea r9d, [r12 + rcx]
mov rcx, r13
call fcn.140322f70
mov dword [rsp + 0xc0], 0
jmp 0x14037b3a9
mov dword [rsp + 0x28], edi
xor r9d, r9d
mov edx, 0x1e
mov rcx, r13
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x80]
call fcn.140323f90
mov r10d, eax
cmp ebp, 0xffffffff
je 0x14037b5a7
mov ebp, dword [rsp + 0xa8]
mov r9d, edi
mov r8d, esi
mov rcx, r13
mov edx, 0x5d
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0x20], ebp
call fcn.140322f70
mov dword [rsp + 0x28], edi
mov r9d, ebp
mov rcx, r13
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x80]
mov edx, 0x86
call fcn.140323f90
movsxd rax, dword [r13 + 0x90]
mov r10d, dword [rsp + 0xc0]
test eax, eax
jle 0x14037b5a7
mov rbp, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov edx, 0x10
lea rax, [rbp + rax*8]
mov word [rax - 0x16], dx
jmp 0x14037b5a7
test byte [rax + 0x65], 4
jne 0x14037be28
jmp 0x14037b280
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e0]
xor r8d, r8d
mov edx, 0x48
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x58], eax
add eax, 1
mov dword [rcx + 0x38], eax
mov r9d, eax
mov rcx, r13
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x80], eax
call fcn.140322f70
jmp 0x14037a039
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x45
mov rcx, r13
mov r9d, dword [rsp + 0x8c]
call fcn.140322ee0
mov dword [rsp + 0xac], eax
jmp 0x14037a0bb
mov dword [rsp + 0x8c], 0
xor ebp, ebp
jmp 0x14037a7b3
mov rax, qword [rsp + 0x58]
mov ebp, dword [r13 + 0x90]
mov rax, qword [rax + 0x10]
movsx eax, word [rax]
add eax, 9
movsxd r8, eax
sar eax, 0x1f
imul r8, r8, 0x66666667
sar r8, 0x22
sub r8d, eax
cmp ebp, dword [r13 + 0x94]
jge 0x14037c53a
lea eax, [rbp + 1]
mov dword [r13 + 0x90], eax
movsxd rax, ebp
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x78
jmp 0x14037b3e4
test esi, esi
je 0x14037b5bb
movzx eax, byte [rbx + 0x1f]
cmp al, 7
ja 0x14037b5bb
lea edx, [rax + 1]
mov byte [rbx + 0x1f], dl
mov dword [rbx + rax*4 + 0xd0], esi
jmp 0x14037b5bb
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 0x120]
mov dword [rsp + 0x88], eax
test eax, eax
je 0x14037c51b
mov rcx, qword [rsp + 0x1e0]
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x88], 0
mov rdx, qword [rcx + 0x10]
jmp 0x14037b660
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x6c]
movzx edx, cl
mov rcx, r13
call fcn.140322ee0
lea edx, [rax + 1]
jmp 0x14037b131
mov rax, qword [rsp + 0x58]
mov rcx, qword [rbp]
mov rdi, qword [rax + 0x18]
movsx r8d, word [rdi + 0x46]
add r8d, 1
movsxd r8, r8d
shl r8, 2
test rcx, rcx
je 0x14037c501
mov rdx, r8
mov qword [rsp + 0x48], r8
call fcn.14030f620
mov r8, qword [rsp + 0x48]
mov r10, rax
test r10, r10
je 0x14037b267
mov rcx, r10
xor edx, edx
call sub.msvcrt.dll_memset
mov r10, rax
movsx eax, word [rdi + 0x46]
mov dword [r10], eax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x60]
cmp ax, 1
jbe 0x14037c4e6
mov rcx, qword [rsp + 0x58]
lea ebp, [rax - 2]
mov r8d, 1
mov qword [rsp + 0x1f0], rsi
mov qword [rsp + 0x200], rbx
add rbp, 2
mov rbx, r8
mov r9, qword [rcx + 8]
mov rcx, rdi
mov rdi, r10
mov rsi, r9
jmp 0x14037c4b2
test ax, ax
js 0x14037c4a9
movsx edx, ax
mov qword [rsp + 0x48], rcx
call fcn.14030d260
mov rcx, qword [rsp + 0x48]
movsx rax, ax
mov dword [rdi + rax*4 + 4], ebx
add rbx, 1
cmp rbp, rbx
je 0x14037c4d3
movzx eax, word [rsi + rbx*2 - 2]
test byte [rcx + 0x40], 0x20
jne 0x14037c48a
test ax, ax
js 0x14037c4a9
jmp 0x14037c4a1
mov r12, qword [rsp + 0x58]
mov edx, 0x25
jmp 0x14037a52c
mov rsi, qword [rsp + 0x1f0]
mov rbx, qword [rsp + 0x200]
mov r10, rdi
mov r9d, 0xfffffff1
mov r8, r10
mov edx, 0xffffffff
mov rcx, r12
call fcn.14031ddc0
jmp 0x14037b267
mov rcx, r8
mov qword [rsp + 0x48], r8
call fcn.14030ef00
mov r8, qword [rsp + 0x48]
mov r10, rax
jmp 0x14037c426
mov rax, qword [rsp + 0x1e0]
mov dword [rax + 0x120], 0
mov qword [rbx + 0x40], 0
jmp 0x14037b6b8
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x78
mov rcx, r13
mov dword [rsp + 0xb0], r10d
call fcn.140322ee0
mov r10d, dword [rsp + 0xb0]
mov ebp, eax
jmp 0x14037b3e4
xor eax, eax
jmp 0x14037b247
jmp 0x1403ecae0
jmp 0x1403ecaea
jmp 0x1403ecb00
movzx eax, word [0x5e]
ud2
mov rax, qword [rsp + 0x1e0]
add dword [rax + 0x34], 1
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2