Function at 0x1401054c0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov qword [r9], 0
mov r15, qword [r8 + 0x18]
mov rbp, qword [r8 + 0x20]
cmp r15, rbp
jbe 0x1401054ee
xor edx, edx
jmp 0x1401066a8
mov rdi, r9
mov r13, r8
mov rsi, rdx
mov r11, rcx
mov r12d, dword [r8]
mov rax, r12
dec rax
cmp rax, 2
jb 0x140105527
lea rax, [r11 + 0x58]
cmp byte [r11 + 0x68], 3
lea rbx, [0x1402491c0]
cmovne rbx, rax
cmp byte [rbx + 0x10], 2
jne 0x1401056db
mov r10, qword [r11 + 0x178]
cmp dword [rdi + 0x28], 0
je 0x14010562c
mov r12d, dword [rdi + 0x2c]
cmp qword [rdi + 0x18], 0
je 0x140105613
test r12d, 0x8000000
je 0x1401066bf
mov edx, r12d
and edx, 0x7ffffff
movzx ecx, byte [r11 + 0x180]
shr rdx, cl
cmp rdx, qword [rsi + 0x70]
jae 0x1401066bf
mov rcx, qword [rsi + 0x60]
shl rdx, 4
mov rax, qword [rcx + rdx + 8]
test rax, rax
je 0x1401066bf
mov rcx, qword [rcx + rdx]
movzx edx, byte [rcx + 0x10]
test dl, 1
je 0x140105613
mov r8, qword [rdi + 0x20]
mov r9d, 1
test dl, 2
je 0x1401055b2
cmp rax, 0xc
jbe 0x1401066bf
mov r9d, dword [rcx + 0x19]
cmp r8, r9
jae 0x140105613
lea r9, [r8 + 1]
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], r9
xor r9d, r9d
cmp qword [r10 + 0x160], 1
je 0x1401055f9
and dl, 2
je 0x1401055f9
lea rdx, [r8*4 + 0xd]
sub rax, rdx
jb 0x1401066bf
cmp rax, 3
jbe 0x1401066bf
mov r9d, dword [rcx + rdx + 0x10]
mov rax, qword [rdi + 0x30]
mov qword [rdi], 1
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], r9d
xor edx, edx
jmp 0x1401066a8
mov r15, qword [rdi + 0x30]
inc r15
mov qword [rdi + 0x30], r15
cmp r15, rbp
ja 0x1401054e7
jmp 0x1401058db
mov qword [rdi + 0x30], r15
test r15, r15
je 0x1401057bc
lea rcx, [r15 - 1]
mov rdx, qword [r13 + 8]
add rdx, rcx
xor eax, eax
cmp qword [r13 + 0x10], rcx
cmova rax, rdx
test rax, rax
je 0x1401057bc
mov rbx, r12
movzx r12d, byte [rax]
mov r8d, dword [r13 + 4]
mov rax, qword [r11 + 0x290]
or rax, qword [r11 + 0x2a0]
mov rcx, qword [r11 + 0x288]
or rcx, qword [r11 + 0x298]
or rcx, rax
je 0x14010589a
lea rax, [r11 + 0x288]
mov edx, r12d
shr edx, 7
shl rdx, 4
mov r9d, 1
mov r14, r10
xor r10d, r10d
mov ecx, r12d
shld r10, r9, cl
shl r9, cl
xor ecx, ecx
test r12b, 0x40
cmovne r10, r9
cmovne r9, rcx
and r10, qword [rax + rdx + 8]
and r9, qword [rax + rdx]
or r9, r10
mov r10, r14
je 0x14010589a
mov ebx, 4
jmp 0x140105af8
mov rax, qword [r11 + 0x178]
mov qword [rsp + 0x60], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x8c], eax
cmp dword [rdi + 0x28], 0
je 0x1401057f0
mov edx, dword [rdi + 0x2c]
cmp qword [rdi + 0x18], 0
je 0x1401057d7
test edx, 0x8000000
je 0x1401066bf
mov eax, edx
and eax, 0x7ffffff
movzx ecx, byte [r11 + 0x180]
shr rax, cl
cmp rax, qword [rsi + 0x70]
jae 0x1401066bf
mov rcx, qword [rsi + 0x60]
shl rax, 4
mov r9, qword [rcx + rax + 8]
test r9, r9
je 0x1401066bf
mov rcx, qword [rcx + rax]
movzx r10d, byte [rcx + 0x10]
test r10b, 1
je 0x1401057d7
mov r8, qword [rdi + 0x20]
mov eax, 1
test r10b, 2
je 0x140105775
cmp r9, 0xc
jbe 0x1401066bf
mov eax, dword [rcx + 0x19]
cmp r8, rax
jae 0x1401057d7
lea rax, [r8 + 1]
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], rax
xor eax, eax
mov rdx, qword [rsp + 0x60]
cmp qword [rdx + 0x160], 1
je 0x1401057a3
mov rdx, r9
call fcn.1400f1ef0
mov rcx, qword [rdi + 0x30]
mov qword [rdi], 1
mov qword [rdi + 8], rcx
mov dword [rdi + 0x10], eax
xor edx, edx
jmp 0x1401066a8
mov r8d, dword [r13 + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test r12d, r12d
jne 0x1401058af
jmp 0x1401058bd
mov r15, qword [rdi + 0x30]
inc r15
mov qword [rdi + 0x30], r15
cmp r15, rbp
ja 0x1401054e7
jmp 0x140105d9a
mov qword [rdi + 0x30], r15
test r15, r15
je 0x140105bd1
lea rcx, [r15 - 1]
mov rdx, qword [r13 + 8]
add rdx, rcx
xor eax, eax
cmp qword [r13 + 0x10], rcx
cmova rax, rdx
test rax, rax
je 0x140105bd1
movzx edx, byte [rax]
mov r8d, dword [r13 + 4]
mov rax, qword [r11 + 0x290]
or rax, qword [r11 + 0x2a0]
mov rcx, qword [r11 + 0x288]
or rcx, qword [r11 + 0x298]
or rcx, rax
je 0x140105d61
lea rax, [r11 + 0x288]
mov r9d, edx
shr r9d, 7
shl r9, 4
mov r10d, 1
mov r14, r11
xor r11d, r11d
mov ecx, edx
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test dl, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rax + r9 + 8]
and r10, qword [rax + r9]
or r10, r11
mov r11, r14
je 0x140105d61
mov ecx, 4
jmp 0x140105f60
movzx eax, byte [r11 + r12 + 0x78]
mov r12, rbx
movzx r9d, al
mov rax, r9
test r12d, r12d
je 0x1401058bd
cmp r12d, 1
jne 0x140105ae2
lea rax, [r9 + 6]
cmp rax, qword [rsi + 0x58]
jae 0x1401066bf
mov rdx, r12
mov rcx, qword [rsi + 0x48]
mov r12d, dword [rcx + rax*4]
test r12d, r12d
js 0x140106358
cmp qword [rsi], 1
jne 0x140105900
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rsi + 0x158], rax
mov qword [rsi], 1
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], r15
mov rbx, qword [r13 + 0x10]
cmp r15, rbp
mov qword [rsp + 0x80], r13
jae 0x140105a04
mov r14, qword [r13 + 8]
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0x78], r10
nop word cs:[rax + rax]
cmp r15, rbx
jae 0x1401066bf
movzx r8d, byte [r14 + r15]
movzx ecx, byte [r11 + r8 + 0x188]
mov eax, r12d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x40]
jae 0x1401066bf
mov rcx, qword [rsi + 0x30]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
js 0x1401059ba
cmp r13d, 0x8000000
jb 0x14010599b
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r13d
mov eax, r13d
test eax, 0x10000000
je 0x140105b77
inc r15
mov qword [rdi + 0x30], r15
cmp qword [rsi], 0
je 0x1401066bf
mov qword [rsi + 0x10], r15
mov r12d, r13d
cmp rbp, r15
jne 0x140105940
jmp 0x140105a07
mov rdi, rbp
shl r8d, 8
mov rbp, r11
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.1400cc830
test eax, eax
jne 0x14010628a
mov r13d, edx
mov r11, rbp
mov rbp, rdi
mov rdi, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x78]
cmp r13d, 0x8000000
jae 0x140105982
jmp 0x14010599b
mov r13d, r12d
cmp rbp, rbx
jae 0x140105a6e
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 8]
movzx ebx, byte [rax + rbp]
movzx ecx, byte [r11 + rbx + 0x188]
mov eax, r13d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x40]
jae 0x1401066bf
mov rcx, qword [rsi + 0x30]
mov r15d, dword [rcx + rax*4]
test r15d, r15d
js 0x1401063a8
mov eax, r15d
test eax, 0x8000000
jne 0x1401063eb
test eax, 0x20000000
jne 0x140105c17
xor edx, edx
mov r13d, r15d
jmp 0x140106575
movzx r8d, byte [r11 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, r13d
and eax, 0x7ffffff
add rax, rcx
cmp qword [rsi + 0x40], rax
jbe 0x1401066bf
mov rcx, qword [rsi + 0x30]
mov r15d, dword [rcx + rax*4]
test r15d, r15d
js 0x140106455
xor edx, edx
test r15d, 0x8000000
je 0x140105c24
cmp qword [r10 + 0x160], 1
je 0x140106437
mov eax, r15d
and eax, 0x7ffffff
movzx ecx, byte [r11 + 0x180]
shr rax, cl
jmp 0x140106412
mov rcx, r12
test byte [r11 + 0x71], 1
mov r12d, r8d
mov ebx, 2
jne 0x140105bec
lea ecx, [rbx - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x140105cbe
cmp eax, 1
jne 0x140105d0e
test r15, r15
je 0x1401066bf
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140105b4b
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401066bf
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401066bf
mov rdx, rax
dec r15
mov byte [rax], 0
mov byte [rax + 1], r12b
mov qword [rax + 8], r15
jmp 0x1401066a8
test eax, 0x8000000
jne 0x140105c2c
test eax, 0x40000000
jne 0x140105c8b
test eax, 0x20000000
je 0x1401066bf
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1401066bf
mov rcx, r15
sub rcx, rax
neg rcx
mov rdx, r15
sub rdx, rax
cmovb rdx, rcx
add qword [rsi + 0x158], rdx
movzx ecx, byte [r14 + r15]
jmp 0x1401062fa
mov r8d, dword [r13 + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test r12d, r12d
jne 0x140105d73
jmp 0x140105d81
cmp qword [r10 + 0x160], r12
jbe 0x140106261
lea rax, [r12 + r12*2]
lea rax, [r9 + rax*2]
add rax, 0xc
mov r12, rcx
cmp rax, qword [rsi + 0x58]
jb 0x1401058c7
jmp 0x1401066bf
mov ecx, ebx
mov rdx, rbp
call fcn.1400e5250
mov rdx, rax
mov r13d, r15d
jmp 0x140106575
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
cmp qword [r10 + 0x160], 1
je 0x140105c7d
and r13d, 0x7ffffff
movzx ecx, byte [r11 + 0x180]
shr r13, cl
cmp r13, qword [rsi + 0x70]
jae 0x1401066bf
mov rax, qword [rsi + 0x60]
shl r13, 4
mov rcx, qword [rax + r13]
mov rdx, qword [rax + r13 + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov qword [rdi], 1
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], eax
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1401066bf
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rsi + 0x158], r15
xor edx, edx
jmp 0x1401066a8
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140105ce9
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401066bf
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401066bf
mov rdx, rax
mov byte [rax], 1
mov qword [rax + 8], r15
jmp 0x1401066a8
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140105d39
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401066bf
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401066bf
mov rdx, rax
mov byte [rax], 3
mov dword [rax + 4], ebx
mov dword [rax + 8], r12d
jmp 0x1401066a8
movzx eax, byte [r11 + rdx + 0x78]
movzx r9d, al
mov rax, r9
test r12d, r12d
je 0x140105d81
cmp r12d, 1
jne 0x140105f4d
lea rax, [r9 + 6]
cmp rax, qword [rsi + 0x58]
jae 0x1401066bf
mov rcx, qword [rsi + 0x48]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1401064ef
cmp qword [rsi], 1
jne 0x140105dbf
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov r8, rax
sub r8, rcx
neg r8
sub rax, rcx
cmovb rax, r8
add qword [rsi + 0x158], rax
mov qword [rsi], 1
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], r15
mov r10, qword [r13 + 0x10]
cmp r15, rbp
mov qword [rsp + 0x80], r13
jae 0x140105e70
mov qword [rsp + 0x70], r12
mov r12, qword [r13 + 8]
mov eax, dword [r13 + 4]
lea rcx, [rbp + 1]
mov qword [rsp + 0xb0], rcx
lea rcx, [r11 + 0x288]
mov qword [rsp + 0xa8], rcx
movzx ecx, byte [r11 + 0x71]
mov byte [rsp + 0x3f], cl
mov rcx, qword [rbx]
mov qword [rsp + 0x78], rcx
mov rcx, qword [r11 + 0x180]
and ecx, 0x3f
mov r8d, 1
mov qword [rsp + 0x90], rcx
shl r8, cl
mov rcx, qword [rbx + 8]
mov qword [rsp + 0xc0], rcx
or r8d, 0x40000000
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x58], rax
lea rax, [rax + rax*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0x98], rax
jmp 0x140105fbd
mov r13d, edx
cmp rbp, r10
jae 0x140105ed5
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 8]
movzx r15d, byte [rax + rbp]
movzx ecx, byte [r11 + r15 + 0x188]
mov eax, r13d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x40]
jae 0x1401066bf
mov rcx, qword [rsi + 0x30]
mov ebx, dword [rcx + rax*4]
test ebx, ebx
js 0x140106541
mov eax, ebx
test eax, 0x8000000
jne 0x140106603
test eax, 0x20000000
jne 0x140106342
xor edx, edx
jmp 0x140106350
movzx r8d, byte [r11 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, r13d
and eax, 0x7ffffff
add rax, rcx
cmp qword [rsi + 0x40], rax
jbe 0x1401066bf
mov rcx, qword [rsi + 0x30]
mov ebx, dword [rcx + rax*4]
test ebx, ebx
js 0x140106585
xor edx, edx
test ebx, 0x8000000
je 0x140106350
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], 1
je 0x140106656
mov r14, r10
mov eax, ebx
and eax, 0x7ffffff
movzx ecx, byte [r11 + 0x180]
shr rax, cl
jmp 0x14010662e
test byte [r11 + 0x71], 1
mov edx, r8d
mov ecx, 2
jne 0x140106315
lea r8d, [rcx - 3]
cmp r8d, 2
mov eax, 2
cmovb eax, r8d
test eax, eax
je 0x14010628a
cmp eax, 1
jne 0x140106390
test r15, r15
je 0x1401066bf
dec r15
mov ecx, edx
jmp 0x1401062fa
mov r13, qword [rsp + 0xa0]
cmp dword [rsp + 0x90], 0x1b
jae 0x1401066bf
mov edx, r13d
mov r15, r8
cmp r8, rbp
mov r12, rbx
jae 0x140105e73
cmp r15, r10
jae 0x1401066bf
movzx r8d, byte [r12 + r15]
movzx ecx, byte [r11 + r8 + 0x188]
mov eax, edx
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x40]
jae 0x1401066bf
mov rcx, qword [rsi + 0x30]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
js 0x14010618c
cmp r13d, 0x8000000
jb 0x140106149
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r13d
mov eax, r13d
test eax, 0x10000000
je 0x1401062a5
mov r14, r11
mov r11, qword [rsp + 0xc0]
mov rax, qword [r11 + 0x10]
dec rax
and rax, 0xfffffffffffffff0
mov rcx, qword [rsp + 0x78]
lea rdx, [rax + rcx]
add rdx, 0x10
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x40]
mov rbx, r12
mov r8, r12
mov r12, r10
mov r9, r10
call qword [r11 + 0x40]
cmp qword [rsp + 0x40], 0
je 0x1401054e7
mov r8, qword [rsp + 0x48]
cmp r8, r15
mov r11, r14
jbe 0x140106143
mov qword [rdi + 0x30], r8
cmp dword [rsp + 0x8c], 0
mov r10, r12
je 0x140105fab
cmp r10, rbp
jb 0x1401066bf
cmp qword [rsp + 0xb0], r8
jb 0x1401066bf
lea r15, [r8 - 1]
cmp r10, r15
mov r13, qword [rsp + 0xa8]
jbe 0x14010616f
movzx ecx, byte [rbx + r15]
mov rax, qword [r13 + 8]
or rax, qword [r13 + 0x18]
mov rdx, qword [r13]
or rdx, qword [r13 + 0x10]
or rdx, rax
je 0x14010612a
xor eax, eax
mov edx, 1
shld rax, rdx, cl
mov edx, ecx
shr edx, 7
mov qword [rsp + 0x68], r15
mov r15, r8
mov r8d, 1
shl r8, cl
shl rdx, 4
test cl, 0x40
cmovne rax, r8
mov r9d, 0
cmovne r8, r9
and rax, qword [r13 + rdx + 8]
and r8, qword [r13 + rdx]
or r8, rax
mov r8, r15
mov r15, qword [rsp + 0x68]
jne 0x1401065b6
movzx eax, byte [r11 + rcx + 0x78]
movzx r9d, al
mov rax, r9
cmp dword [rsp + 0x70], 0
jne 0x14010617f
jmp 0x1401061fa
mov r10, r12
mov r12, rbx
inc r15
mov qword [rdi + 0x30], r15
cmp qword [rsi], 0
je 0x1401066bf
mov qword [rsi + 0x10], r15
mov edx, r13d
cmp r15, rbp
jb 0x140105fbd
jmp 0x140105e73
mov al, 2
movzx r9d, al
mov rax, r9
cmp dword [rsp + 0x70], 0
je 0x1401061fa
cmp dword [rsp + 0x70], 1
jne 0x1401061cd
lea rax, [r9 + 6]
jmp 0x1401061fa
mov r14, r10
shl r8d, 8
mov rbx, r11
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
call fcn.1400cc830
test eax, eax
jne 0x14010628a
mov r13d, edx
mov r11, rbx
mov r10, r14
cmp r13d, 0x8000000
jae 0x140106006
jmp 0x140106149
test byte [rsp + 0x3f], 1
je 0x1401065af
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
cmp qword [rax + 0x160], rcx
jbe 0x140105f95
mov rax, qword [rsp + 0x98]
add rax, r9
cmp rax, qword [rsi + 0x58]
jae 0x1401066bf
mov rcx, qword [rsi + 0x48]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
jns 0x140105fab
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xc8], r11
mov qword [rsp + 0xd0], rsi
lea rcx, [rsp + 0xc8]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x58]
call fcn.1400cdb30
mov r13, rax
shr r13, 0x20
cmp eax, 5
jne 0x1401066f9
mov r11, r14
mov r10, r12
mov r8, qword [rsp + 0x68]
jmp 0x140105fab
mov rcx, qword [r11 + 0x180]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x1401066bf
mov r12d, 1
shl r12, cl
or r12d, 0x40000000
jmp 0x1401058db
mov rcx, r15
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400e52b0
test eax, 0x8000000
jne 0x140106482
test eax, 0x40000000
jne 0x140105c8b
test eax, 0x20000000
je 0x1401066bf
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1401066bf
mov rcx, r15
sub rcx, rax
neg rcx
mov rdx, r15
sub rdx, rax
cmovb rdx, rcx
add qword [rsi + 0x158], rdx
movzx ecx, byte [r12 + r15]
mov rdx, r15
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400e5250
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], rdx
jbe 0x1401064c8
lea rax, [rdx + rdx*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rsi + 0x58]
jb 0x140105d8b
jmp 0x1401066bf
mov ecx, r15d
mov rdx, rbp
call fcn.1400e5250
mov rdx, rax
mov r13d, ebx
jmp 0x140106575
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov rbx, r11
mov r14, r10
call fcn.1400cdb30
mov r10, r14
mov r11, rbx
mov rbx, rax
mov r12, rax
shr r12, 0x20
cmp ebx, 5
je 0x1401058db
jmp 0x140105af8
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400e5310
mov r12, r10
mov r8d, ebx
shl r8d, 8
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r13d
mov r14, r11
call fcn.1400cc830
test eax, eax
jne 0x14010656a
mov r15d, edx
mov r11, r14
mov r10, r12
mov eax, r15d
test eax, 0x8000000
je 0x140105a59
xor edx, edx
cmp qword [r10 + 0x160], 1
jne 0x1401063fc
mov rbx, rbp
jmp 0x140106437
mov eax, r15d
and eax, 0x7ffffff
movzx ecx, byte [r11 + 0x180]
shr rax, cl
mov rbx, rbp
cmp rax, qword [rsi + 0x70]
jae 0x1401066bf
mov rdx, qword [rsi + 0x60]
shl rax, 4
mov rcx, qword [rdx + rax]
mov rdx, qword [rdx + rax + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov edx, eax
mov qword [rdi], 1
mov qword [rdi + 8], rbx
mov dword [rdi + 0x10], edx
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r15d
jmp 0x14010666e
mov r12, r10
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r13d
mov r14, r11
call fcn.1400cc830
test eax, eax
je 0x140106524
mov rcx, rbx
jmp 0x14010656d
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
mov rcx, qword [rsp + 0x60]
cmp qword [rcx + 0x160], 1
je 0x140105c7d
and r13d, 0x7ffffff
mov rcx, qword [rsp + 0x90]
shr r13, cl
cmp r13, qword [rsi + 0x70]
jb 0x140105c64
jmp 0x1401066bf
mov rcx, qword [r11 + 0x180]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x1401066bf
mov edx, 1
shl rdx, cl
or edx, 0x40000000
jmp 0x140105d9a
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r12d
mov r14, r11
call fcn.1400cdb30
mov r11, r14
mov rcx, rax
mov rdx, rax
shr rdx, 0x20
cmp ecx, 5
je 0x140105d9a
jmp 0x140105f60
mov r15d, edx
mov r11, r14
mov r10, r12
xor edx, edx
test r15d, 0x8000000
jne 0x140105abc
jmp 0x140105c24
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r13d
mov r14, r11
call fcn.1400cc830
test eax, eax
je 0x1401065f1
mov rcx, rbp
call fcn.1400e52b0
mov rdx, rax
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r13d
jmp 0x140106680
mov r15, r10
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r13d
mov r14, r11
call fcn.1400cc830
test eax, eax
je 0x1401066c3
mov rcx, r15
jmp 0x14010656d
mov eax, 2
jmp 0x1401065c0
mov eax, 4
mov qword [rsp + 0x58], rcx
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
test ecx, ecx
je 0x1401066de
cmp ecx, 1
jne 0x1401066e8
mov rcx, qword [rsp + 0x58]
mov rdx, r15
call fcn.1400e5250
jmp 0x1401066f4
mov ebx, edx
mov r11, r14
mov eax, ebx
test eax, 0x8000000
je 0x140105ec3
xor edx, edx
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], 1
jne 0x140106619
mov r10, rbp
jmp 0x140106656
mov eax, ebx
and eax, 0x7ffffff
movzx ecx, byte [r11 + 0x180]
shr rax, cl
mov r14, rbp
cmp rax, qword [rsi + 0x70]
jae 0x1401066bf
mov rdx, qword [rsi + 0x60]
shl rax, 4
mov rcx, qword [rdx + rax]
mov rdx, qword [rdx + rax + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov edx, eax
mov r10, r14
mov qword [rdi], 1
mov qword [rdi + 8], r10
mov dword [rdi + 0x10], edx
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], ebx
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor edx, edx
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1401066bf
mov rcx, rbp
sub rcx, rax
neg rcx
sub rbp, rax
cmovb rbp, rcx
add qword [rsi + 0x158], rbp
mov rax, rdx
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
mov ebx, edx
mov r11, r14
mov r10, r15
xor edx, edx
test ebx, 0x8000000
jne 0x140105f20
jmp 0x140106350
mov rcx, r8
call fcn.1400e52b0
jmp 0x1401066f4
mov ecx, eax
mov rdx, qword [rsp + 0x58]
call fcn.1400e5310
mov rdx, rax
jmp 0x1401066a8
mov qword [rsp + 0x58], r13
mov r8, qword [rsp + 0x68]
jmp 0x1401065c0