Function at 0x140014e00
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, 0x88
movabs r12, 0xffffffffffff
mov rax, qword [rdx + 8]
mov r11, rax
and r11, r12
mov qword [rsp + 0x40], rax
mov eax, dword [rdx]
mov r13, r8
mov rsi, r11
mov qword [rsp + 0xd0], rcx
mov rcx, r8
mov dword [rsp + 0x2c], eax
shl rax, 5
mov qword [rsp + 0x20], r11
lea rdi, [r11 + rax]
mov qword [rsp + 0xd8], rdx
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x48], rax
call sub.msvcrt.dll_strlen
mov dword [rsp + 0x64], 0
mov r11, rsi
movabs r10, 0x405000000000000
or r10, r13
mov dword [rsp + 0x60], eax
mov rbp, rax
mov qword [rsp + 0x68], r10
cmp rsi, rdi
je 0x1400133c8
mov rdx, r10
mov rax, r10
mov ecx, 0xd
shl rdx, 0x10
shr rax, 0x30
sar rdx, 0x38
sub ecx, edx
and ax, 0x1000
mov r15d, ecx
setne r8b
cmove r15d, ebp
and r13, r12
mov ebx, r15d
mov qword [rsp + 0x20], rbx
test ax, ax
jne 0x140013238
mov word [rsp + 0x58], ax
mov rax, r13
mov rbx, rdi
mov r14d, 0xd
mov qword [rsp + 0x30], rsi
mov r13, r11
mov esi, r15d
mov rdi, rax
mov dword [rsp + 0x50], ecx
mov r15, r10
mov byte [rsp + 0x5f], r8b
mov qword [rsp + 0x38], r11
jmp 0x140013138
cmp esi, dword [r13]
jne 0x14001312b
mov rdx, qword [r13 + 8]
and rdx, r12
cmp rdi, rdx
je 0x140013155
mov r8, qword [rsp + 0x20]
mov rcx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140013155
add r13, 0x20
cmp rbx, r13
je 0x1400133b8
test byte [r13 + 0xf], 0x10
je 0x140013108
movsx edx, byte [r13 + 0xd]
mov eax, r14d
sub eax, edx
cmp esi, eax
jne 0x14001312b
mov rdx, r13
cmp rdi, rdx
jne 0x14001311a
mov rdx, rdi
movzx eax, word [rsp + 0x58]
mov ecx, dword [rsp + 0x50]
mov rdi, rbx
mov rsi, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov rbx, r13
mov r10, r15
movzx r8d, byte [rsp + 0x5f]
mov r13, rdx
cmp rdi, rbx
je 0x1400133c8
test r8b, r8b
mov dword [rsp + 0x70], ebp
cmovne ebp, ecx
mov dword [rsp + 0x74], 0
mov qword [rsp + 0x78], r10
mov r12d, ebp
test ax, ax
je 0x140013340
lea rbx, [rsp + 0x70]
mov r13d, 0xd
movabs r14, 0xffffffffffff
jmp 0x1400131e7
cmp dword [rsi], ebp
jne 0x1400131de
mov rdx, qword [rsi + 8]
and rdx, r14
mov r8, r12
mov rcx, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400132f0
add rsi, 0x20
cmp rdi, rsi
je 0x140013210
test byte [rsi + 0xf], 0x10
je 0x1400131c0
movsx edx, byte [rsi + 0xd]
mov eax, r13d
sub eax, edx
mov rdx, rsi
cmp ebp, eax
je 0x1400131cb
add rsi, 0x20
cmp rdi, rsi
jne 0x1400131e7
nop word cs:[rax + rax]
mov qword [0x140282d90], 0
lea rsi, [0x140282d90]
mov qword [0x140282d98], 0
jmp 0x1400132fd
mov word [rsp + 0x38], ax
mov eax, r15d
lea r14, [rsp + 0x60]
mov r15, rsi
mov qword [rsp + 0x30], rsi
mov ebx, eax
mov rsi, qword [rsp + 0x20]
mov qword [rsp + 0x50], r13
mov r13, r10
mov dword [rsp + 0x58], ecx
mov byte [rsp + 0x5f], r8b
mov qword [rsp + 0x20], r11
jmp 0x140013298
cmp dword [r15], ebx
jne 0x14001328b
mov rdx, qword [r15 + 8]
mov r8, rsi
mov rcx, r14
and rdx, r12
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400132c1
add r15, 0x20
cmp rdi, r15
je 0x1400134f0
test byte [r15 + 0xf], 0x10
je 0x140013270
movsx edx, byte [r15 + 0xd]
mov eax, 0xd
sub eax, edx
mov rdx, r15
cmp ebx, eax
jne 0x14001328b
mov r8, rsi
mov rcx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14001328b
mov r10, r13
movzx eax, word [rsp + 0x38]
mov ecx, dword [rsp + 0x58]
mov rbx, r15
mov rsi, qword [rsp + 0x30]
mov r13, qword [rsp + 0x50]
movzx r8d, byte [rsp + 0x5f]
mov r11, qword [rsp + 0x20]
jmp 0x14001317d
cmp rdi, rsi
je 0x140013210
add rsi, 0x10
movzx eax, byte [rsp + 0x28]
mov qword [rsi], 0
mov qword [rsp + 0x78], 0
add eax, 9
mov word [rsp + 0x7e], ax
mov rax, qword [rsp + 0x78]
mov qword [rsi + 8], rax
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [rsp + 0x60]
test r8b, r8b
movabs r14, 0xffffffffffff
cmove rax, r13
mov r13d, 0xd
mov rbx, rax
jmp 0x14001339c
cmp ebp, dword [rsi]
jne 0x14001338f
mov rdx, qword [rsi + 8]
and rdx, r14
cmp rbx, rdx
je 0x1400132f0
mov r8, r12
mov rcx, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400132f0
add rsi, 0x20
cmp rdi, rsi
je 0x140013210
test byte [rsi + 0xf], 0x10
je 0x140013368
movsx edx, byte [rsi + 0xd]
mov eax, r13d
sub eax, edx
cmp ebp, eax
jne 0x14001338f
mov rdx, rsi
jmp 0x140013373
mov rsi, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov rdi, rbx
mov r10, r15
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x78], 0
mov r13, qword [rax + 0x10]
movzx eax, byte [rsp + 0x28]
add eax, 9
mov word [rsp + 0x7e], ax
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax + 4]
cmp dword [rsp + 0x2c], eax
jb 0x1400134c0
test eax, eax
jne 0x140013502
test r11, r11
je 0x140013538
xor ebx, ebx
mov edi, 0x200
mov r12d, 0x10
mov rax, qword [r13 + 0x10]
mov rax, qword [rax]
mov rdx, qword [rax + 8]
mov r9, qword [rax]
lea rcx, [rdx + 0x18]
mov r8, rcx
sub r8, rbx
add r8, rax
cmp r11, r8
je 0x140013569
add rdx, rdi
mov r14, rdi
cmp r9, rdx
jb 0x1400135c8
mov qword [rax + 8], rdx
lea r11, [rax + rcx]
test rbx, rbx
jne 0x140013584
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
shl rax, 5
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x48]
movabs rax, 0xffff000000000000
movabs rdx, 0xffffffffffff
and rax, qword [rsp + 0x40]
or rax, r11
mov dword [rcx + 4], r12d
mov qword [rcx + 8], rax
and rax, rdx
add rdi, rax
nop dword [rax]
mov rax, qword [rsp + 0xd8]
mov dword [rdi], ebp
mov qword [rsp + 0x70], 0
movdqu xmm0, xmmword [rsp + 0x70]
mov dword [rdi + 4], 0
mov qword [rdi + 8], r10
movups xmmword [rdi + 0x10], xmm0
add dword [rax], 1
jmp 0x140013323
mov rsi, qword [rsp + 0x30]
mov r11, qword [rsp + 0x20]
mov r10, r13
jmp 0x1400133c8
lea r12d, [rax + 1]
shr r12d, 1
add r12d, eax
cmp eax, r12d
jae 0x1400134c0
mov edi, r12d
shl rdi, 5
test r11, r11
je 0x140013543
shl rax, 5
mov rbx, rax
cmp rax, rdi
jb 0x14001341d
jmp 0x140013485
mov edi, 0x200
mov r12d, 0x10
mov rax, qword [r13 + 0x10]
mov rax, qword [rax]
mov rdx, qword [rax + 8]
lea rcx, [rdi + rdx]
cmp qword [rax], rcx
jb 0x14001362c
mov qword [rax + 8], rcx
lea r11, [rax + rdx + 0x18]
jmp 0x140013485
mov r8, rdx
sub r8, rbx
add r8, rdi
cmp r9, r8
jb 0x140013441
mov qword [rax + 8], r8
jmp 0x140013485
mov rcx, r11
mov r8, rbx
mov rdx, rsi
mov qword [rsp + 0x20], r10
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x20]
mov r11, rax
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
shl rax, 5
mov qword [rsp + 0x48], rax
jmp 0x140013485
mov rdi, qword [r13]
cmp r14, rdi
cmovae rdi, r14
cmp qword [r13 + 8], 0
je 0x1400136d7
mov r11, rdi
add r11, 0x18
je 0x140013461
mov rcx, r11
mov qword [rsp + 0x20], r10
call sub.msvcrt.dll_malloc
mov r10, qword [rsp + 0x20]
test rax, rax
je 0x1400136ab
mov rdx, qword [r13 + 0x10]
mov qword [rax], rdi
mov qword [rax + 8], 0
mov rcx, qword [rdx]
mov qword [rax + 0x10], rcx
mov ecx, 0x18
mov qword [rdx], rax
mov rdx, r14
jmp 0x140013450
mov rbx, qword [r13]
cmp rdi, rbx
cmovae rbx, rdi
cmp qword [r13 + 8], 0
je 0x1400136fc
mov r11, rbx
add r11, 0x18
je 0x140013461
mov rcx, r11
mov qword [rsp + 0x20], r10
call sub.msvcrt.dll_malloc
mov r10, qword [rsp + 0x20]
test rax, rax
je 0x1400136ab
xor edx, edx
mov qword [rax], rbx
mov qword [rax + 8], rdx
mov rdx, qword [r13 + 0x10]
mov rcx, qword [rdx]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rdx], rax
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0xd8]
mov edx, dword [rcx]
mov rcx, rdi
shl rdx, 5
mov qword [rsp + 0x48], rdx
xor edx, edx
jmp 0x14001355b
mov rax, qword [rsp + 0xd8]
xor r11d, r11d
mov rax, qword [rax + 8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax]
shl rax, 5
mov qword [rsp + 0x48], rax
jmp 0x140013485
mov ecx, 1
mov qword [rsp + 0x20], r10
call fcn.1402797d0
mov rdx, qword [r13 + 0x10]
mov r10, qword [rsp + 0x20]
mov qword [r13 + 8], rax
mov qword [rdx + 8], rax
jmp 0x1400135de
mov ecx, 1
mov qword [rsp + 0x20], r10
call fcn.1402797d0
mov rdx, qword [r13 + 0x10]
mov r10, qword [rsp + 0x20]
mov qword [r13 + 8], rax
mov qword [rdx + 8], rax
jmp 0x140013642
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
movabs r13, 0xffffffffffff
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x60], eax
mov rax, qword [rcx + 0x10]
mov rbp, rcx
mov rsi, rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x68], rax
mov r12, rax
mov eax, dword [rcx]
mov rcx, rdx
and r12, r13
mov dword [rsp + 0x3c], r9d
mov dword [rsp + 0x64], eax
shl rax, 5
mov rbx, r12
mov qword [rsp + 0x70], rax
lea rdi, [r12 + rax]
call sub.msvcrt.dll_strlen
mov rcx, rsi
movabs r10, 0x405000000000000
mov dword [rsp + 0x84], 0
or r10, rsi
mov dword [rsp + 0x80], eax
mov r11, rax
mov qword [rsp + 0x88], r10
cmp r12, rdi
je 0x1400151c0
mov rax, r10
mov rdx, r10
mov r9d, 0xd
shl rax, 0x10
shr rdx, 0x30
sar rax, 0x38
sub r9d, eax
and dh, 0x10
cmove r9d, r11d
mov eax, r9d
mov qword [rsp + 0x28], rax
mov r14, rax
jne 0x140015090
and rcx, r13
mov r14, rdi
mov qword [rsp + 0x50], r10
mov esi, eax
mov qword [rsp + 0x58], r12
mov r15, rcx
mov rdi, r11
jmp 0x140014f2e
cmp esi, dword [rbx]
jne 0x140014f21
mov rdx, qword [rbx + 8]
and rdx, r13
cmp r15, rdx
je 0x140014f4b
mov r8, qword [rsp + 0x28]
mov rcx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140014f4b
add rbx, 0x20
cmp r14, rbx
je 0x1400151b0
test byte [rbx + 0xf], 0x10
je 0x140014f00
movsx edx, byte [rbx + 0xd]
mov eax, 0xd
sub eax, edx
cmp esi, eax
jne 0x140014f21
mov rdx, rbx
cmp r15, rdx
jne 0x140014f10
mov rsi, rbx
mov r10, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov r11, rdi
mov rdi, r14
cmp rdi, rsi
je 0x1400151c0
mov dword [rsp + 0x84], 0
mov edx, r11d
mov qword [rsp + 0x88], r10
mov dword [rsp + 0x80], r11d
mov rax, r10
shl r10, 0x10
mov r15d, 0xd
sar r10, 0x38
shr rax, 0x30
sub r15d, r10d
test ah, 0x10
cmove r15d, edx
mov esi, r15d
je 0x140015138
lea r12, [rsp + 0x80]
mov r13d, 0xd
movabs r14, 0xffffffffffff
jmp 0x140014ff8
cmp dword [rbx], r15d
jne 0x140014feb
mov rdx, qword [rbx + 8]
mov r8, rsi
mov rcx, r12
and rdx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140015020
add rbx, 0x20
cmp rbx, rdi
je 0x140015260
test byte [rbx + 0xf], 0x10
je 0x140014fd0
movsx edx, byte [rbx + 0xd]
mov eax, r13d
sub eax, edx
mov rdx, rbx
cmp r15d, eax
jne 0x140014feb
mov r8, rsi
mov rcx, r12
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140014feb
nop
cmp rbx, rdi
je 0x140015260
mov rdx, qword [rbx + 0x18]
mov eax, dword [rbx + 0x10]
lea rdi, [rbx + 0x10]
movabs rcx, 0xffffffffffff
and rcx, rdx
cmp byte [rsp + 0x60], 0
mov rsi, rcx
jne 0x1400152e0
test eax, eax
je 0x140015281
lea edx, [rax - 1]
movzx r9d, byte [rsp + 0x3c]
mov r8, qword [rsp + 0x30]
mov rcx, rbp
shl rdx, 4
add rdx, rsi
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140013000
lea rax, [rsp + 0x80]
mov qword [rsp + 0x50], r12
mov rbx, r12
mov esi, r14d
mov qword [rsp + 0x58], r12
mov r15d, 0xd
mov r14, r10
mov r12, rax
mov qword [rsp + 0x78], rbp
mov rbp, qword [rsp + 0x28]
mov qword [rsp + 0x28], r11
jmp 0x1400150ef
cmp dword [rbx], esi
jne 0x1400150e2
mov rdx, qword [rbx + 8]
mov r8, rbp
mov rcx, r12
and rdx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140015114
add rbx, 0x20
cmp rdi, rbx
je 0x140015330
test byte [rbx + 0xf], 0x10
je 0x1400150c8
movsx edx, byte [rbx + 0xd]
mov eax, r15d
sub eax, edx
mov rdx, rbx
cmp esi, eax
jne 0x1400150e2
mov r8, rbp
mov rcx, r12
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400150e2
mov rsi, rbx
mov r12, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r10, r14
mov rbp, qword [rsp + 0x78]
mov r11, qword [rsp + 0x28]
jmp 0x140014f5e
mov r14, qword [rsp + 0x40]
mov r13d, 0xd
movabs r12, 0xffffffffffff
and r14, r12
jmp 0x14001518d
cmp r15d, dword [rbx]
jne 0x140015180
mov rdx, qword [rbx + 8]
and rdx, r12
cmp r14, rdx
je 0x140015020
mov r8, rsi
mov rcx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140015020
add rbx, 0x20
cmp rdi, rbx
je 0x140015260
test byte [rbx + 0xf], 0x10
je 0x140015158
movsx edx, byte [rbx + 0xd]
mov eax, r13d
sub eax, edx
cmp r15d, eax
jne 0x140015180
mov rdx, rbx
jmp 0x140015164
mov r10, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov r11, rdi
mov rdi, r14
movabs rax, 0x4000000000000
mov qword [rsp + 0x88], rax
mov eax, dword [rbp + 4]
cmp dword [rsp + 0x64], eax
jae 0x1400153de
mov qword [rdi + 8], r10
mov rcx, qword [rsp + 0x40]
movabs rbx, 0xffffffffffff
mov qword [rsp + 0x80], 0
movdqu xmm1, xmmword [rsp + 0x80]
mov dword [rdi], r11d
mov dword [rdi + 4], 0
movups xmmword [rdi + 0x10], xmm1
mov eax, dword [rbp]
and rbx, qword [rbp + 8]
mov qword [rsp + 0x28], r10
add eax, 1
mov dword [rbp], eax
shl rax, 5
lea rdi, [rbx + rax]
call sub.msvcrt.dll_strlen
mov r10, qword [rsp + 0x28]
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x80], eax
mov edx, eax
mov qword [rsp + 0x88], r10
cmp rbx, rdi
jne 0x140014f85
nop
mov qword [0x140282d90], 0
xor esi, esi
xor ecx, ecx
lea rdi, [0x140282d90]
mov qword [0x140282d98], 0
movabs rax, 0x3000000000000
mov qword [rsp + 0x88], rax
mov eax, dword [rdi + 4]
test eax, eax
je 0x140015350
xor eax, eax
mov qword [rsp + 0x80], 0
lea edx, [rax + 1]
movdqu xmm0, xmmword [rsp + 0x80]
shl rax, 4
mov dword [rdi], edx
movups xmmword [rsi + rax], xmm0
mov eax, dword [rdi]
movabs rsi, 0xffffffffffff
and rsi, qword [rdi + 8]
jmp 0x140015057
movabs r11, 0x3000000000000
mov r8d, dword [rbx + 0x14]
mov qword [rsp + 0x88], r11
cmp eax, r8d
jb 0x1400152a0
test r8d, r8d
je 0x140015350
lea r12d, [r8 + 1]
shr r12d, 1
add r12d, r8d
cmp r8d, r12d
jae 0x1400152a0
mov r13d, r12d
shl r13, 4
test rcx, rcx
je 0x1400154e8
shl r8, 4
mov r14, r8
cmp r8, r13
jb 0x140015368
jmp 0x1400153b4
mov rbx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov r10, r14
mov rbp, qword [rsp + 0x78]
mov r11, qword [rsp + 0x28]
jmp 0x1400151c0
mov r13d, 0x100
test rcx, rcx
je 0x1400154e2
xor r14d, r14d
mov r12d, 0x10
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov rdx, qword [rax + 8]
mov r9, qword [rax]
lea r8, [rdx + 0x18]
mov r10, r8
sub r10, r14
add r10, rax
cmp rsi, r10
je 0x1400154c1
add rdx, r13
cmp r9, rdx
jb 0x140015549
mov qword [rax + 8], rdx
lea rcx, [rax + r8]
test r14, r14
jne 0x14001551b
mov rdx, qword [rdi + 8]
mov eax, dword [rdi]
movabs r8, 0xffff000000000000
mov dword [rdi + 4], r12d
movabs rsi, 0xffffffffffff
and rdx, r8
or rdx, rcx
mov qword [rdi + 8], rdx
and rsi, rdx
jmp 0x1400152a0
test eax, eax
je 0x1400154a6
lea edx, [rax + 1]
shr edx, 1
lea r14d, [rdx + rax]
cmp eax, r14d
jae 0x1400151df
mov esi, r14d
shl rsi, 5
test r12, r12
je 0x1400155aa
shl rax, 5
mov rdi, rax
cmp rax, rsi
jae 0x140015472
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax]
lea rcx, [r8 + 0x18]
mov rdx, rcx
sub rdx, rdi
add rdx, rax
cmp r12, rdx
je 0x14001552e
add r8, rsi
mov r13, rsi
cmp r9, r8
jb 0x140015674
mov qword [rax + 8], r8
lea r12, [rax + rcx]
test rdi, rdi
jne 0x1400155d5
mov rax, qword [rbp + 8]
mov qword [rsp + 0x68], rax
mov eax, dword [rbp]
shl rax, 5
mov qword [rsp + 0x70], rax
movabs rax, 0xffff000000000000
and rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov dword [rbp + 4], r14d
movabs rdx, 0xffffffffffff
or rax, r12
mov qword [rbp + 8], rax
and rax, rdx
add rdi, rax
jmp 0x1400151df
mov esi, 0x200
mov r14d, 0x10
test r12, r12
je 0x1400155aa
xor edi, edi
jmp 0x140015414
mov r10, rdx
sub r10, r14
add r10, r13
cmp r9, r10
jb 0x140015391
mov qword [rax + 8], r10
mov rdx, qword [rdi + 8]
mov eax, dword [rdi]
jmp 0x1400153b4
mov r12d, 0x10
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov rax, qword [rcx + 8]
lea rdx, [rax + r13]
cmp qword [rcx], rdx
jb 0x140015611
add rax, 0x18
mov qword [rcx + 8], rdx
add rcx, rax
mov rdx, qword [rdi + 8]
mov eax, dword [rdi]
jmp 0x1400153b4
mov r8, r14
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, rax
jmp 0x1400153ae
mov rdx, r8
sub rdx, rdi
add rdx, rsi
cmp r9, rdx
jb 0x14001543d
mov qword [rax + 8], rdx
jmp 0x140015472
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax]
cmp r13, rbx
cmovae rbx, r13
cmp qword [rax + 8], 0
je 0x1400156e9
mov rcx, rbx
add rcx, 0x18
je 0x1400153ae
call sub.msvcrt.dll_malloc
test rax, rax
je 0x140015709
mov rcx, qword [rsp + 0x48]
mov qword [rax], rbx
mov r8d, 0x18
mov qword [rax + 8], 0
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rdx]
mov qword [rax + 0x10], rcx
mov qword [rdx], rax
mov rdx, r13
jmp 0x14001539d
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov rdx, qword [rax + 8]
lea rcx, [rdx + rsi]
cmp qword [rax], rcx
jb 0x140015716
mov qword [rax + 8], rcx
lea r12, [rax + rdx + 0x18]
jmp 0x140015472
mov r8, rdi
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x28], r10
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp + 8]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x28]
mov qword [rsp + 0x68], rax
mov eax, dword [rbp]
shl rax, 5
mov qword [rsp + 0x70], rax
jmp 0x140015472
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax]
cmp r13, rbx
cmovae rbx, r13
cmp qword [rax + 8], 0
je 0x14001579d
mov rcx, rbx
add rcx, 0x18
je 0x1400153ae
call sub.msvcrt.dll_malloc
mov rcx, rax
test rax, rax
je 0x1400153ae
mov qword [rax], rbx
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rdx, qword [rax]
mov qword [rcx + 0x10], rdx
mov rdx, r13
mov qword [rax], rcx
mov eax, 0x18
jmp 0x140015509
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax]
cmp r13, rsi
cmovae rsi, r13
cmp qword [rax + 8], 0
je 0x14001580e
mov r12, rsi
add r12, 0x18
je 0x14001545d
mov rcx, r12
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x28], r10
call sub.msvcrt.dll_malloc
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x50]
test rax, rax
je 0x1400157f1
mov rcx, qword [rsp + 0x48]
xor edx, edx
mov qword [rax], rsi
mov r8, r13
mov qword [rax + 8], rdx
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rdx]
mov qword [rax + 0x10], rcx
mov ecx, 0x18
mov qword [rdx], rax
jmp 0x14001544c
mov ecx, 1
call fcn.1402797d0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx + 0x10]
mov qword [rcx + 8], rax
mov qword [rdx + 8], rax
jmp 0x140015563
mov rdx, qword [rdi + 8]
mov eax, dword [rdi]
xor ecx, ecx
jmp 0x1400153b4
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax]
cmp rsi, rbx
cmovae rbx, rsi
cmp qword [rax + 8], 0
je 0x1400157bd
mov r12, rbx
add r12, 0x18
je 0x14001545d
mov rcx, r12
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x28], r10
call sub.msvcrt.dll_malloc
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x50]
test rax, rax
je 0x1400157f1
xor ecx, ecx
mov qword [rax], rbx
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx + 0x10]
mov rcx, qword [rdx]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp + 8]
mov qword [rdx], rax
mov edx, dword [rbp]
mov qword [rsp + 0x68], rcx
mov rcx, rsi
shl rdx, 5
mov qword [rsp + 0x70], rdx
xor edx, edx
jmp 0x1400155c7
mov ecx, 1
call fcn.1402797d0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx + 0x10]
mov qword [rcx + 8], rax
mov qword [rdx + 8], rax
jmp 0x14001562b
mov ecx, 1
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x28], r10
call fcn.1402797d0
mov rcx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x28]
mov rdx, qword [rcx + 0x10]
mov qword [rcx + 8], rax
mov qword [rdx + 8], rax
jmp 0x140015730
mov rax, qword [rbp + 8]
xor r12d, r12d
mov qword [rsp + 0x68], rax
mov eax, dword [rbp]
shl rax, 5
mov qword [rsp + 0x70], rax
jmp 0x140015472
mov ecx, 1
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x28], r10
call fcn.1402797d0
mov rcx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x28]
mov rdx, qword [rcx + 0x10]
mov qword [rcx + 8], rax
mov qword [rdx + 8], rax
jmp 0x14001568e