Function at 0x140003090
Capabilities:
Read file on windows

Disassembly:
push rbp
sub rsp, 0x110
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x18], rsi
lea r10, [rbp + 0x148]
mov rsi, qword [r10]
mov qword [rbp + 0x30], r13
mov r13, qword [r10 - 0x28]
mov rax, r13
mov qword [rbp + 0x40], r15
neg rax
mov qword [rbp + 0x38], r14
lea r14, [rsi + r9]
mov qword [rbp + 0x20], rdi
lea rdi, [rbp + 0x100]
mov byte [rdi], cl
movzx ecx, cl
mov dword [rdi + 8], edx
mov rdx, r13
mov rdi, qword [rdi + 0x30]
mov r15, qword [r10 - 8]
sub r14, r15
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x48], r8
lea r8, [rbp + 0x118]
mov qword [r8], r9
mov r12, qword [r8 + 0x20]
mov rbx, qword [r8 + 0x10]
mov qword [rbp + 8], 0xfffffffffffffffe
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xb0], rsi
mov rsi, rdx
mov qword [rbp + 0xa8], rdi
mov rdi, rax
mov qword [rbp + 0x50], r13
mov r13d, ecx
lea r10, [rbx + rdi]
sar r10, 2
test r13d, r13d
jne 0x1400040f1
cmp r10, 4
jl 0x140003270
mov ecx, dword [rbp + 0x108]
mov edx, 1
mov r15d, dword [rsi]
lea r10, [rdi - 8]
mov eax, dword [rsi + 4]
lea r11, [rsi + 8]
test r13d, r13d
jne 0x140003181
mov r10d, dword [rsi + 8]
lea r11, [rsi + 0xc]
shl r10, 0x20
add rax, r10
lea r10, [rdi - 0xc]
mov esi, edx
add r15, r9
imul rdx, rax
imul esi, dword [r11]
add ecx, esi
add rdx, r15
lea rdi, [r10 - 4]
lea rsi, [r11 + 4]
cmp r15, r9
jb 0x140003249
cmp r15, r14
jae 0x140003249
mov r9, r14
sub r9, r15
cmp rcx, r9
ja 0x140003249
cmp rdx, r15
jbe 0x140003249
mov dword [rbp + 0x70], 0
mov dword [rbp + 0x68], ecx
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x58], r15
cmp rdx, r14
jae 0x140003241
mov rcx, qword [rbp + 0x160]
lea rdx, [rbp + 0x78]
lea r8, [rbp + 0x58]
call fcn.1400041f0
mov r9, qword [0x14003f380]
inc r9
cmp r9, qword [0x14003f388]
mov r11, qword [0x14003f390]
mov r10, qword [0x14003f388]
cmova r10, r9
cmp r11, qword [0x14003f398]
mov qword [0x14003f380], r9
mov r9, qword [0x14003f398]
cmova r9, r11
inc qword [0x14003f3a0]
mov qword [0x14003f388], r10
mov qword [0x14003f398], r9
mov r9, r15
jmp 0x140003135
xor eax, eax
mov rbx, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x20]
mov r12, qword [rbp + 0x28]
mov r13, qword [rbp + 0x30]
mov r14, qword [rbp + 0x38]
mov r15, qword [rbp + 0x40]
lea rsp, [rbp + 0xf0]
pop rbp
ret
mov r15, qword [rbp + 0x98]
mov rsi, qword [rbp + 0xb0]
mov rdi, qword [rbp + 0xa8]
mov r13, qword [rbp + 0x50]
mov rbx, qword [rbp + 0x160]
mov rcx, rbx
lea rdx, [rbp + 0xd8]
call fcn.1400045c0
lea rcx, [rbp + 0xd8]
call fcn.1400045d0
cmp r14, qword [rax + 8]
jbe 0x1400036e3
mov rdx, qword [rbp + 0xd8]
mov qword [rbp + 0xb8], r12
mov r14, rdx
mov qword [rbp + 0xb0], rsi
mov rsi, rdx
mov qword [rbp + 0xa8], rdi
lea rax, [rdx + 0x20]
mov qword [rbp + 0x50], r13
mov rdi, rbx
mov rbx, rax
mov eax, dword [rsi + 0x30]
test rax, rax
je 0x1400040c8
mov r12, qword [rbp + 0x118]
mov r11, qword [rsi + 0x28]
mov r13, r12
mov r9, r11
mov r10, qword [rbp + 0x140]
sub r13, r10
sub r9, r15
sub r9, r13
movsxd r8, r9d
lea r9, [r15 + r12]
sub r9, r10
cmp r11, r9
jb 0x140003249
mov r9, qword [rbp + 0xa8]
lea r10, [r9 + r8]
mov qword [rbp + 0xc0], r10
cmp r10, qword [rbp + 0xb8]
ja 0x140003249
add rax, r15
add rax, r8
cmp rax, qword [rbp + 0xb0]
ja 0x140003249
mov rcx, r15
mov rdx, r9
mov qword [rbp + 0xc8], r8
call fcn.140010460
mov edx, dword [rsi + 0x30]
mov r9, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xc8]
add r15, r8
mov qword [rbp + 0xa8], r9
cmp edx, dword [rbp + 0x168]
jae 0x140004060
mov eax, dword [rsi + 0x38]
test eax, eax
je 0x14000344d
mov r13, r15
test edx, edx
jle 0x140003d83
mov r9, qword [rbp + 0x150]
mov r12d, 0x3c
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0x80], rbx
mov rcx, qword [r9]
mov r14, rcx
mov qword [rbp + 0x88], rsi
mov esi, edx
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], r15
mov r15d, eax
mov edi, eax
and r15, 0x3fff
mov rcx, r13
movsxd rbx, esi
shr edi, 0xe
cmp rbx, 0x3c
mov r9, qword [r14 + rdi*8]
cmovae rbx, r12
shl r15, 6
mov r8, rbx
lea rdx, [r9 + r15 + 4]
call fcn.140010460
mov rdi, qword [r14 + rdi*8]
add r13, rbx
sub esi, ebx
mov eax, dword [rdi + r15]
test esi, esi
jg 0x1400033de
mov rsi, qword [rbp + 0x88]
mov r14, qword [rbp + 0xa0]
mov rbx, qword [rbp + 0x80]
mov rdi, qword [rbp + 0x90]
mov r15, qword [rbp + 0x98]
mov r9d, dword [rsi + 0x30]
mov eax, dword [rsi + 0x38]
jmp 0x1400034b3
neg r13
add r13, qword [rsi + 0x20]
test edx, edx
je 0x14000350b
cmp edx, 0x60
jbe 0x140004131
mov r10, r13
mov eax, 1
sub r10, r15
xor r12d, r12d
mov r9, r10
xor r11d, r11d
mov r8d, edx
neg r9
cmp r9, r8
cmovg r12d, eax
cmp r10, r8
cmovg r11d, eax
or r12d, r11d
je 0x140004004
mov rcx, r15
mov rdx, r13
call fcn.140010460
mov rsi, qword [rbp + 0xd8]
lea rbx, [rsi + 0x20]
mov r9d, dword [rbx + 0x10]
mov eax, dword [rbx + 0x18]
add r15, r9
test eax, eax
je 0x14000350b
mov r10, qword [rbp + 0x150]
mov r9d, dword [r10 + 0x18]
mov r13d, eax
mov r11d, eax
mov r12, qword [r10]
and r13, 0x3fff
shr r11d, 0xe
shl r13, 6
mov r14, qword [r12 + r11*8]
mov r11d, dword [r13 + r14]
mov dword [r13 + r14], r9d
mov r9d, eax
dec qword [r10 + 0x20]
mov dword [r10 + 0x18], eax
mov eax, r11d
test r11d, r11d
jne 0x1400034c5
mov r14, qword [rbp + 0xd8]
cmp dword [rsi + 0x38], 0
jne 0x14000350f
xor edx, edx
jmp 0x14000351a
mov edx, dword [rbx + 0x10]
test edx, edx
lea eax, [rdx + 0x10]
cmova edx, eax
dec qword [0x14003f380]
sub qword [0x14003f390], rdx
mov r12, r14
cmp byte [r14 + 0x19], 0
jne 0x140003565
mov rcx, qword [r14 + 0x10]
cmp byte [rcx + 0x19], 0
jne 0x14000354e
mov rax, qword [rcx]
mov r12, rcx
cmp byte [rax + 0x19], 0
je 0x140003bdb
jmp 0x140003565
mov rsi, qword [r14 + 8]
cmp byte [rsi + 0x19], 0
jne 0x140003562
cmp r12, qword [rsi + 0x10]
je 0x140003fe0
mov r12, rsi
mov rax, qword [r14]
mov rsi, r14
cmp byte [rax + 0x19], 0
je 0x140003fa8
mov r12, qword [r14 + 0x10]
cmp rsi, r14
jne 0x140003e90
mov r13, qword [r14 + 8]
cmp byte [r12 + 0x19], 0
jne 0x140003593
mov qword [r12 + 8], r13
mov rbx, qword [rdi]
cmp r14, qword [rbx + 8]
je 0x140003e87
cmp r14, qword [r13]
jne 0x140003e74
mov qword [r13], r12
cmp r14, qword [rbx]
jne 0x1400035d4
cmp byte [r12 + 0x19], 0
je 0x1400035c0
mov rsi, r13
jmp 0x1400035d1
mov rax, qword [r12]
mov rsi, r12
cmp byte [rax + 0x19], 0
je 0x140003e38
mov qword [rbx], rsi
cmp r14, qword [rbx + 0x10]
je 0x140003e0b
cmp byte [r14 + 0x18], 1
jne 0x140003686
mov rbx, qword [rbp + 0x160]
mov rsi, qword [rbx]
cmp r12, qword [rsi + 8]
je 0x140003680
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0x98], r15
cmp byte [r12 + 0x18], 1
jne 0x140003672
cmp r12, qword [r13]
jne 0x140003c45
mov rdx, qword [r13 + 0x10]
cmp byte [rdx + 0x18], 0
jne 0x14000363f
mov byte [rdx + 0x18], 1
mov rcx, rdi
mov rdx, r13
mov byte [r13 + 0x18], 0
call fcn.14000ec90
mov rdx, qword [r13 + 0x10]
cmp byte [rdx + 0x19], 0
jne 0x140003665
mov rax, qword [rdx]
cmp byte [rax + 0x18], 1
jne 0x140003c03
mov r9, qword [rdx + 0x10]
cmp byte [r9 + 0x18], 1
jne 0x140003c03
mov byte [rdx + 0x18], 0
mov r12, r13
mov r13, qword [r13 + 8]
cmp r12, qword [rsi + 8]
jne 0x14000360b
mov r14, qword [rbp + 0xa0]
mov r15, qword [rbp + 0x98]
mov byte [r12 + 0x18], 1
mov rcx, r14
call fcn.14001b6b4
mov rdi, qword [rbp + 0x160]
mov rax, qword [rdi + 8]
test rax, rax
jbe 0x1400036a5
dec rax
mov qword [rdi + 8], rax
mov rsi, qword [rdi]
mov r14, qword [rsi]
mov qword [rbp + 0xd8], r14
mov rsi, r14
lea rbx, [r14 + 0x20]
mov r9, qword [rbx + 8]
cmp r9, qword [rbp + 0xd0]
jb 0x1400032e5
mov r12, qword [rbp + 0xb8]
mov rsi, qword [rbp + 0xb0]
mov rdi, qword [rbp + 0xa8]
mov r13, qword [rbp + 0x50]
sub r12, rdi
sub rsi, r15
cmp r12, rsi
jne 0x140003249
mov rcx, r15
mov rdx, rdi
mov r8, r12
call fcn.140010460
lea rdx, [rbp + 0x118]
mov rax, qword [rdx]
mov ebx, 3
mov cl, byte [rdx - 0x18]
mov rdx, qword [rdx + 0x10]
mov qword [rbp + 0xe0], r13
mov rsi, rdx
mov edi, 4
test cl, cl
cmovne rdi, rbx
sub rsi, r13
sar rsi, 2
cmp rsi, rdi
jl 0x140004108
mov r11d, 1
lea rdi, [r13 + 8]
mov r10d, dword [rbp + 0x108]
mov r8d, dword [r13]
mov r9d, dword [r13 + 4]
test cl, cl
cmovne r11, r10
jne 0x14000376b
mov esi, dword [r13 + 8]
lea rdi, [r13 + 0xc]
shl rsi, 0x20
add r9, rsi
mov esi, r11d
add rax, r8
imul r11, r9
imul esi, dword [rdi]
add r11, rax
add r10d, esi
mov dword [rbp + 0x98], 0
lea r13, [rdi + 4]
mov dword [rbp + 0x90], r10d
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], r11
cmp r11, qword [rbp + 0xd0]
jb 0x14000371d
cmp r10d, dword [rbp + 0x168]
jae 0x140003ddf
mov rsi, qword [rbp + 0x150]
xor r12d, r12d
mov r15, qword [rbp + 0x160]
mov rdi, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
mov r11, rax
lea r9, [rdi*4]
shl rdi, 6
sub rdi, r9
sub r11, rdi
cmp rax, rdi
mov r9d, r10d
cmova r12, r11
cmp r9, r12
ja 0x140003dae
mov r14, qword [rbp + 0x140]
xor edx, edx
add r14, qword [rbp + 0x80]
xor eax, eax
sub r14, qword [rbp + 0x118]
mov r12d, r10d
xor r13d, r13d
test r10d, r10d
jle 0x140003da6
mov dword [rbp + 0xc8], eax
mov qword [rbp + 0xc0], r9
mov qword [rbp + 0xb8], r15
mov dword [rbp + 0xb0], r10d
mov ebx, dword [rsi + 0x18]
test ebx, ebx
je 0x140003d96
mov r9d, ebx
mov eax, ebx
mov rdi, qword [rsi]
and r9, 0x3fff
shr eax, 0xe
shl r9, 6
mov r8, qword [rdi + rax*8]
mov r10d, dword [r9 + r8]
inc qword [rsi + 0x20]
mov dword [rsi + 0x18], r10d
test r13d, r13d
je 0x140003d8b
mov r8d, r13d
and r13, 0x3fff
shr r8d, 0xe
shl r13, 6
mov rdi, qword [rdi + r8*8]
mov dword [r13 + rdi], ebx
mov rdi, qword [rsi]
movsxd r15, r12d
mov r10d, 0x3c
cmp r15, 0x3c
mov rdx, r14
mov rax, qword [rdi + rax*8]
mov r13d, ebx
cmovae r15, r10
mov r8, r15
lea rcx, [rax + r9 + 4]
call fcn.140010460
add r14, r15
sub r12d, r15d
test r12d, r12d
jg 0x140003846
mov eax, dword [rbp + 0xc8]
mov edx, ebx
mov r9, qword [rbp + 0xc0]
mov ebx, 3
mov r15, qword [rbp + 0xb8]
mov r10d, dword [rbp + 0xb0]
test r10d, r10d
mov esi, edx
mov dword [rbp + 0x98], eax
lea eax, [r10 + 0x10]
mov r10, qword [0x14003f380]
cmova r9, rax
inc r10
and rsi, 0x3fff
shr edx, 0xe
cmp r10, qword [0x14003f388]
mov r12, qword [0x14003f390]
mov rdi, qword [rdi + rdx*8]
mov r11, qword [0x14003f388]
cmova r11, r10
add r12, r9
shl rsi, 6
add qword [0x14003f3a8], r9
cmp r12, qword [0x14003f398]
mov r9, qword [0x14003f398]
cmova r9, r12
mov dword [rdi + rsi], 0
inc qword [0x14003f3a0]
mov qword [0x14003f380], r10
mov qword [0x14003f388], r11
mov qword [0x14003f390], r12
mov qword [0x14003f398], r9
mov r12, qword [r15]
lea rax, [rbp]
mov qword [rbp + 0xa0], rax
mov edi, 1
mov rdx, qword [r12 + 8]
cmp byte [rdx + 0x19], 0
jne 0x1400039d0
mov rax, qword [rbp + 0x88]
xor edi, edi
cmp rax, qword [rdx + 0x28]
mov r12, rdx
setb dil
test edi, edi
je 0x1400039c6
mov rdx, qword [rdx]
cmp byte [rdx + 0x19], 0
je 0x1400039aa
jmp 0x1400039d0
mov rdx, qword [rdx + 0x10]
cmp byte [rdx + 0x19], 0
je 0x1400039aa
movabs rax, 0x3fffffffffffffe
cmp rax, qword [r15 + 8]
jbe 0x140003bce
mov ecx, 0x40
mov qword [rbp + 0xa8], r15
call fcn.14001b6bc
mov rsi, rax
test rsi, rsi
je 0x140003bc1
mov r9, qword [rbp + 0xa8]
je 0x140003a10
mov rax, qword [r9]
mov qword [rsi], rax
mov rdx, rsi
add rdx, 8
je 0x140003a1f
mov rax, qword [r9]
mov qword [rdx], rax
mov rdx, rsi
add rdx, 0x10
je 0x140003a2e
mov rax, qword [r9]
mov qword [rdx], rax
xor eax, eax
mov byte [rsi + 0x18], al
mov byte [rsi + 0x19], al
cmp rsi, 0xffffffffffffffe0
je 0x140003a52
movups xmm0, xmmword [rbp + 0x80]
movups xmm1, xmmword [rbp + 0x90]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
inc qword [r15 + 8]
mov rax, qword [r15]
mov qword [rsi + 8], r12
cmp r12, rax
je 0x140003b9b
test edi, edi
je 0x140003a79
mov qword [r12], rsi
cmp r12, qword [rax]
je 0x140003b93
jmp 0x140003a88
mov qword [r12 + 0x10], rsi
cmp r12, qword [rax + 0x10]
je 0x140003b8b
mov rax, qword [rsi + 8]
mov r13, rsi
cmp byte [rax + 0x18], 0
jne 0x14000413a
mov r12b, 1
mov rdi, qword [r13 + 8]
mov r9, qword [rdi + 8]
mov rax, qword [r9]
cmp rdi, rax
jne 0x140003b03
mov rax, qword [r9 + 0x10]
cmp byte [rax + 0x18], 0
jne 0x140003acd
mov byte [rdi + 0x18], r12b
mov byte [rax + 0x18], r12b
mov rax, qword [r13 + 8]
mov byte [r9 + 0x18], 0
mov r13, qword [rax + 8]
jmp 0x140003b3c
cmp r13, qword [rdi + 0x10]
jne 0x140003ae5
mov rcx, r15
mov rdx, rdi
mov r13, rdi
call fcn.14000ec90
mov rdi, qword [rdi + 8]
mov rax, qword [rdi + 8]
mov rcx, r15
mov byte [rdi + 0x18], 1
mov byte [rax + 0x18], 0
mov rdi, qword [r13 + 8]
mov rdx, qword [rdi + 8]
call fcn.14000ece0
jmp 0x140003b3c
cmp byte [rax + 0x18], 0
je 0x140003ab6
cmp r13, qword [rdi]
jne 0x140003b20
mov rcx, r15
mov rdx, rdi
mov r13, rdi
call fcn.14000ece0
mov rdi, qword [rdi + 8]
mov rax, qword [rdi + 8]
mov rcx, r15
mov byte [rdi + 0x18], 1
mov byte [rax + 0x18], 0
mov rdi, qword [r13 + 8]
mov rdx, qword [rdi + 8]
call fcn.14000ec90
mov rax, qword [r13 + 8]
cmp byte [rax + 0x18], 0
je 0x140003a9c
mov rax, qword [r15]
mov byte [rbp + 0x50], r12b
mov rdx, qword [rax + 8]
mov byte [rdx + 0x18], r12b
mov qword [rbp + 0x48], rsi
mov rdx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x48]
mov r13, qword [rbp + 0xe0]
mov qword [rdx], rax
mov cl, byte [rbp + 0x100]
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x80]
jmp 0x14000371d
mov rcx, r15
call fcn.14000ed40
mov qword [rax], rsi
jmp 0x140003a88
mov rcx, r15
call fcn.14000ed50
mov rcx, r15
mov qword [rax], rsi
call fcn.14000ed30
mov rcx, r15
mov qword [rax], rsi
call fcn.14000ed40
mov qword [rax], rsi
jmp 0x140003a88
call fcn.140019a7c
nop
mov ebx, 3
jmp 0x140003b5d
lea rcx, str.map_set_T__too_long
call fcn.140019ac0
nop
call fcn.14000ed80
mov rsi, qword [rax]
mov rcx, rsi
mov r12, rsi
call fcn.14000ed80
mov rsi, qword [rax]
mov rcx, rsi
call fcn.14000ed60
cmp byte [rax], 0
je 0x140003be3
jmp 0x140003565
mov r14, qword [rbp + 0xa0]
mov r15, qword [rbp + 0x98]
mov rsi, qword [rdx + 0x10]
cmp byte [rsi + 0x18], 1
je 0x140003df2
mov r9, qword [rdx + 0x10]
mov rcx, rdi
mov al, byte [r13 + 0x18]
mov sil, 1
mov byte [rdx + 0x18], al
mov rdx, r13
mov byte [r13 + 0x18], sil
mov byte [r9 + 0x18], sil
call fcn.14000ec90
jmp 0x140003680
mov rcx, r13
call fcn.14000ed80
mov r15, qword [rax]
mov rcx, r15
call fcn.140004180
cmp byte [rax], 0
jne 0x140003c81
mov rcx, r13
mov byte [rax], 1
call fcn.140004180
mov rcx, rdi
mov rdx, r13
mov byte [rax], 0
call fcn.14000ece0
mov rcx, r13
call fcn.14000ed80
mov r15, qword [rax]
mov rcx, r15
call fcn.14000ed60
cmp byte [rax], 0
je 0x140003c96
mov rsi, qword [rbx]
jmp 0x140003665
mov rcx, r15
call fcn.140004170
mov rcx, qword [rax]
call fcn.140004180
mov rsi, rax
cmp byte [rsi], 1
jne 0x140003cef
mov rcx, r15
call fcn.14000ed80
mov r14, rax
mov rcx, qword [r14]
call fcn.140004180
cmp byte [rax], 1
jne 0x140003cd9
mov rcx, r15
call fcn.140004180
mov byte [rax], 0
mov rsi, qword [rbx]
jmp 0x140003665
mov rax, r14
mov rbx, r15
mov r14, qword [rbp + 0xa0]
mov r15, qword [rbp + 0x98]
jmp 0x140003d08
mov rbx, r15
mov rcx, rbx
mov r14, qword [rbp + 0xa0]
mov r15, qword [rbp + 0x98]
call fcn.14000ed80
mov rcx, qword [rax]
call fcn.140004180
cmp byte [rax], 1
jne 0x140003d39
mov rcx, rbx
mov byte [rsi], 1
call fcn.140004180
mov rcx, rdi
mov rdx, rbx
mov byte [rax], 0
call fcn.14000ec90
mov rcx, r13
call fcn.14000ed80
mov rbx, qword [rax]
mov rcx, r13
call fcn.140004180
mov rcx, rbx
mov rsi, rax
call fcn.140004180
mov sil, byte [rsi]
mov rcx, r13
mov byte [rax], sil
call fcn.140004180
mov rcx, rbx
mov sil, 1
mov byte [rax], sil
call fcn.14000ed80
mov rcx, qword [rax]
call fcn.140004180
mov rcx, rdi
mov rdx, r13
mov byte [rax], sil
call fcn.14000ece0
jmp 0x140003680
add r15, rdx
jmp 0x1400034ba
mov dword [rbp + 0xc8], ebx
jmp 0x14000389e
mov rcx, rsi
call fcn.14000ea10
mov ebx, dword [rsi + 0x18]
jmp 0x140003851
mov rdi, qword [rsi]
jmp 0x1400038f7
mov rdi, qword [rbp + 0x158]
mov rcx, rdi
mov rdx, rsi
mov r8, r15
call fcn.140008960
mov rcx, rsi
call fcn.14000f5f0
mov r10d, dword [rbp + 0x90]
mov r9d, r10d
cmp r9, rax
ja 0x140003db5
jmp 0x140003803
xor ecx, ecx
call fcn.14000edc0
mov r15, qword [rbp + 0x160]
jmp 0x140003985
mov rcx, rdi
mov byte [rax + 0x18], 1
mov byte [rdx + 0x18], 0
call fcn.14000ece0
mov rdx, qword [r13 + 0x10]
jmp 0x140003c1f
mov rcx, r12
call fcn.14000ed60
cmp byte [rax], 0
je 0x140003e1d
mov rsi, r13
jmp 0x140003e28
mov rcx, r12
call fcn.140004190
mov rsi, rax
mov rcx, rdi
call fcn.14000ed40
mov qword [rax], rsi
jmp 0x1400035de
mov rcx, r12
call fcn.14000ed80
mov rcx, qword [rax]
mov qword [rbp + 0x98], r15
mov r15, rcx
mov rcx, r15
mov rsi, r15
call fcn.14000ed80
mov r15, qword [rax]
mov rcx, r15
call fcn.14000ed60
cmp byte [rax], 0
je 0x140003e4d
mov r15, qword [rbp + 0x98]
jmp 0x1400035d1
mov rcx, r13
call fcn.140004170
mov qword [rax], r12
mov rbx, qword [rdi]
jmp 0x1400035ae
mov qword [rbx + 8], r12
jmp 0x1400035ae
mov rcx, r14
call fcn.14000ed80
mov rcx, qword [rax]
call fcn.14000ed70
mov rcx, r14
mov qword [rax], rsi
call fcn.14000ed80
mov rcx, rsi
mov r13, rax
call fcn.14000ed80
mov rdx, rax
mov rcx, r14
mov rax, qword [r13]
mov qword [rdx], rax
call fcn.140004170
cmp rsi, qword [rax]
jne 0x140003ed2
mov r13, rsi
jmp 0x140003f2f
mov rcx, rsi
call fcn.14000ed70
mov rcx, r12
mov r13, qword [rax]
call fcn.14000ed60
cmp byte [rax], 0
jne 0x140003ef5
mov rcx, r12
call fcn.14000ed70
mov qword [rax], r13
mov rcx, r13
call fcn.14000ed80
mov rcx, r14
mov qword [rax], r12
call fcn.140004170
mov rcx, rsi
mov rbx, rax
call fcn.140004170
mov r9, rax
mov rcx, r14
mov rax, qword [rbx]
mov qword [r9], rax
call fcn.140004170
mov rcx, qword [rax]
call fcn.14000ed70
mov qword [rax], rsi
mov rcx, rdi
call fcn.14000ed50
cmp r14, qword [rax]
jne 0x140003f46
mov rcx, rdi
call fcn.14000ed50
jmp 0x140003f66
mov rcx, r14
call fcn.14000ed70
mov rbx, qword [rax]
mov rcx, rbx
call fcn.14000ed80
cmp r14, qword [rax]
je 0x140003f66
mov rcx, rbx
call fcn.140004170
mov qword [rax], rsi
mov rcx, r14
call fcn.14000ed70
mov rcx, rsi
mov rbx, rax
call fcn.14000ed70
mov r9, rax
mov rcx, rsi
mov rax, qword [rbx]
mov qword [r9], rax
call fcn.140004180
mov rcx, r14
mov rsi, rax
call fcn.140004180
mov rcx, rsi
mov rdx, rax
call fcn.1400041e0
jmp 0x1400035de
mov rcx, r14
call fcn.140004170
mov rcx, qword [rax]
call fcn.14000ed60
cmp byte [rax], 0
je 0x140003fcd
mov rcx, r14
call fcn.14000ed80
mov r12, qword [rax]
jmp 0x140003579
mov rcx, r12
mov rsi, r12
call fcn.140004170
mov r12, qword [rax]
jmp 0x140003579
mov rcx, rsi
mov r12, rsi
call fcn.14000ed70
mov rsi, qword [rax]
mov rcx, rsi
call fcn.14000ed60
cmp byte [rax], 0
je 0x140003558
jmp 0x140003562
mov r9d, edx
mov ecx, eax
shr r9d, 1
xor eax, eax
test r9d, r9d
jbe 0x140004043
mov r9d, edx
shr r9d, 1
lea r10d, [rax + rax]
movsxd r10, r10d
lea r12d, [rax + rax + 1]
movsxd r12, r12d
inc eax
mov r11b, byte [r10 + r13]
mov byte [r10 + r15], r11b
mov r10b, byte [r12 + r13]
mov byte [r12 + r15], r10b
cmp eax, r9d
jb 0x140004019
lea ecx, [rax + rax + 1]
dec ecx
cmp ecx, edx
jae 0x1400040bc
movsxd rcx, ecx
mov r13b, byte [rcx + r13]
mov byte [r15 + rcx], r13b
mov r9d, dword [rsi + 0x30]
mov eax, dword [rsi + 0x38]
jmp 0x1400034b3
mov dword [rbp], edx
lea rcx, [rbp + 0xd8]
call fcn.1400045d0
mov edx, dword [rbp]
cmp r12, qword [rax]
jbe 0x140003390
lea rcx, [rbp + 0xd8]
call fcn.1400045d0
xor r8d, r8d
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rax]
call fcn.14001a444
lea rcx, [rbp + 0xd8]
call fcn.1400045d0
mov rcx, r15
xor edx, edx
inc rdx
mov r8d, dword [rax + 0x10]
mov r9, qword [rbp + 0x48]
call fcn.14001aad8
call fcn.14000e820
mov r9d, dword [rsi + 0x30]
mov eax, dword [rsi + 0x38]
jmp 0x1400034b3
mov r8, rdi
lea r9, [rbp + 0xd8]
mov rcx, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x150]
call fcn.140008b70
mov r14, qword [rbp + 0xd8]
jmp 0x140003528
cmp r10, 3
jl 0x140003270
mov ecx, dword [rbp + 0x108]
mov edx, ecx
jmp 0x14000315b
xor eax, eax
inc eax
mov rbx, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x20]
mov r12, qword [rbp + 0x28]
mov r13, qword [rbp + 0x30]
mov r14, qword [rbp + 0x38]
mov r15, qword [rbp + 0x40]
lea rsp, [rbp + 0xf0]
pop rbp
ret
xor eax, eax
inc eax
jmp 0x140004004
mov r12b, 1
jmp 0x140003b4a