Function at 0x14002ca40
Capabilities:
Create thread
Query environment variable
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x378]
sub rsp, 0x478
xor r15d, r15d
mov dword [rbp + 0x3c0], r15d
mov r8d, 0x104
lea rdx, [rbp + 0x160]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
lea rax, [rbp + 0x160]
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp word [rax + rbx*2], r15w
jne 0x14002caa0
movabs rsi, 0x7ffffffffffffffe
cmp rbx, rsi
ja 0x14002d615
mov qword [rbp - 0x80], 7
cmp rbx, 8
jae 0x14002caef
mov qword [rsp + 0x78], rbx
add rbx, rbx
mov r8, rbx
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x68]
call sub.VCRUNTIME140.dll_memcpy
mov word [rsp + rbx + 0x68], r15w
jmp 0x14002cb43
mov rax, rbx
or rax, 7
cmp rax, rsi
ja 0x14002cb0a
mov rsi, rax
mov ecx, 0xa
cmp rax, rcx
cmovb rsi, rcx
lea rdx, [rsi + 1]
lea rcx, [rsp + 0x68]
call fcn.140023600
mov rdi, rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x80], rsi
add rbx, rbx
mov r8, rbx
lea rdx, [rbp + 0x160]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + rbx], r15w
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r8, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
lea r9, [r8 + rax*2]
lea rdx, [rbp + 0x118]
lea rcx, [0x1400c22c0]
call fcn.14002dc40
lea rdx, [rbp + 0x118]
lea rbx, [0x1400bf0d0]
mov rcx, rbx
call fcn.14002ab60
mov rdx, qword [rbp + 0x130]
cmp rdx, 0x10
jb 0x14002cbc6
inc rdx
mov rcx, qword [rbp + 0x118]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cbc1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d581
call fcn.140091a20
mov edx, r15d
mov r10, qword [0x1400bf0e0]
movsxd rcx, r10d
test r10d, r10d
jle 0x14002cc35
mov r8, qword [0x1400bf0e8]
mov r9, qword [0x1400bf0d0]
nop word [rax + rax]
inc edx
mov rax, rbx
cmp r8, 0x10
cmovae rax, r9
cmp byte [rax + rcx], 0x5c
je 0x14002cc0d
dec rcx
test rcx, rcx
jg 0x14002cbf0
jmp 0x14002cc35
movsxd rax, edx
mov rcx, r10
sub rcx, rax
inc rcx
cmp r10, rcx
jb 0x14002d61b
cmp r8, 0x10
cmovae rbx, r9
mov qword [0x1400bf0e0], rcx
mov byte [rbx + rcx], 0
lea rdx, [0x1400c1f18]
mov rcx, qword [0x1400c1ee0]
call fcn.140004fe0
test al, al
jne 0x14002cc54
xor dil, dil
jmp 0x14002d5a0
lea rcx, str.APPDATA
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14002cc80
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140003190
nop
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rax, 0x17
jb 0x14002cce4
lea rax, [rcx + 0x17]
mov qword [rsp + 0x58], rax
lea rbx, [rsp + 0x48]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x48]
add rbx, rcx
mov r8d, 0x17
lea rdx, str..minecraftoptions.txt
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0x17], 0
jmp 0x14002cd05
mov qword [rsp + 0x20], 0x17
lea r9, str..minecraftoptions.txt
xor r8d, r8d
lea edx, [r8 + 0x17]
lea rcx, [rsp + 0x48]
call fcn.1400038a0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov rdi, r15
mov qword [rsp + 0x40], r15
lea rax, [0x140098060]
mov qword [rbp - 0x50], rax
lea rcx, [rbp + 0x60]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rbp + 0x3c0], 0xc
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x50], rax
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x54], edx
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x40], rax
mov byte [rbp + 0x3c], 0
mov byte [rbp + 0x31], 0
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x40], r15
mov rax, qword [0x1400c2068]
mov qword [rbp + 0x34], rax
mov qword [rbp + 0x28], r15
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rdx, qword [rsp + 0x48]
mov r9d, 0x40
mov r14d, 1
mov r8d, r14d
lea rcx, [rbp - 0x40]
call fcn.1400079f0
xor r8d, r8d
test rax, rax
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
je 0x14002cdf5
add rcx, rax
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
jmp 0x14002ce03
add rcx, rax
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
cmp qword [rbp + 0x40], 0
je 0x14002d182
mov byte [0x1400c21d5], r14b
mov ecx, 0x20
call fcn.1400919e4
mov rbx, rax
test rax, rax
je 0x14002ce3e
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
jmp 0x14002ce41
mov rbx, r15
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.140029cc0
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
mov rsi, qword [rsp + 0x38]
test al, al
je 0x14002cef1
cmp rsi, rdi
je 0x14002ce9c
mov rdx, rbx
mov rcx, rsi
call fcn.140003f00
add rsi, 0x20
mov qword [rsp + 0x38], rsi
jmp 0x14002ceb6
mov r8, rbx
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140023080
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.140029cc0
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
jne 0x14002ce81
test rbx, rbx
je 0x14002cf4c
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x14002cf30
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14002cf2b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002cfb0
mov rcx, r8
call fcn.140091a20
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov edx, 0x20
mov rcx, rbx
call fcn.140091a20
lea rcx, [rbp - 0x40]
cmp qword [rbp + 0x40], 0
je 0x14002d098
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rbp + 0x30]
cmp rax, rcx
jne 0x14002cf7f
mov r9, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
mov r8, rdx
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
cmp qword [rbp + 0x28], 0
je 0x14002d001
cmp byte [rbp + 0x31], 0
je 0x14002d001
mov rax, qword [rbp - 0x40]
mov r8, qword [rax + 0x18]
lea rax, [fcn.140007b30]
mov edx, 0xffffffff
lea rcx, [rbp - 0x40]
cmp r8, rax
jne 0x14002cfb7
call fcn.140007b30
jmp 0x14002cfba
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call r8
cmp eax, 0xffffffff
jne 0x14002cfc3
xor bl, bl
jmp 0x14002d005
lea rax, [rbp + 0x3c8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x158]
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x34]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x14002d052
sub eax, r14d
je 0x14002d056
cmp eax, 2
je 0x14002cffd
xor bl, bl
jmp 0x14002d005
mov byte [rbp + 0x31], 0
movzx ebx, r14b
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
lea rcx, [rbp - 0x40]
test bl, bl
cmove rcx, r15
mov rbx, r15
test eax, eax
cmove rbx, rcx
mov byte [rbp + 0x3c], 0
mov byte [rbp + 0x31], 0
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x40], r15
mov rax, qword [0x1400c2068]
mov qword [rbp + 0x34], rax
mov qword [rbp + 0x28], r15
test rbx, rbx
jne 0x14002d0d5
jmp 0x14002d0b9
mov byte [rbp + 0x31], 0
lea rax, [rbp + 0x138]
mov rbx, qword [rbp + 0x3c8]
sub rbx, rax
je 0x14002d08c
mov r9, qword [rbp + 0x40]
mov r8, rbx
mov rdx, r14
lea rcx, [rbp + 0x138]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
je 0x14002d08c
xor bl, bl
jmp 0x14002d005
cmp byte [rbp + 0x31], 0
sete bl
jmp 0x14002d005
mov byte [rbp + 0x3c], 0
mov byte [rbp + 0x31], 0
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x40], r15
mov rax, qword [0x1400c2068]
mov qword [rbp + 0x34], rax
mov qword [rbp + 0x28], r15
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov r12, rsi
mov r13, qword [rsp + 0x30]
sub r12, r13
sar r12, 5
test r12, r12
je 0x14002d182
xor edi, edi
nop
shl rdi, 5
add rdi, r13
mov rax, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x14002d105
mov rdi, qword [rdi]
cmp rax, 0xe
jb 0x14002d173
lea r14, [rax + rdi]
lea r8, [r14 - 0xd]
sub r8, rdi
mov edx, 0x6b
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14002d173
nop dword [rax + rax]
mov r8d, 0xe
lea rdx, str.key_key.hotbar
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14002d16a
inc rbx
lea r8, [r14 - 0xd]
sub r8, rbx
mov edx, 0x6b
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x14002d130
jmp 0x14002d173
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x14002d1b8
inc r15d
mov edi, r15d
cmp rdi, r12
jb 0x14002d0f0
mov byte [0x1400c21d5], 0
mov rbx, qword [0x1400c1ef8]
mov ecx, 0x10
call fcn.1400919e4
xor esi, esi
test rax, rax
je 0x14002d3a7
mov qword [rax], rbx
lea rcx, [0x140028ff0]
mov qword [rax + 8], rcx
jmp 0x14002d3aa
test r15d, r15d
je 0x14002d182
movsxd rbx, r15d
shl rbx, 5
lea r8, [r13 + 0x120]
add r8, rbx
mov r9, rsi
lea rdx, [rbp + 0x3d0]
lea rcx, [rsp + 0x30]
call fcn.14002bd10
mov r8, qword [rsp + 0x30]
lea r9, [rbx + r8]
lea rdx, [rbp + 0x3d8]
lea rcx, [rsp + 0x30]
call fcn.14002bd10
mov rdi, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
xor r12d, r12d
cmp rdi, r15
je 0x14002d289
nop
mov esi, r12d
mov r14, r12
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x14002d280
mov rcx, rbx
mov rax, rdi
mov r8, qword [rdi + 0x18]
cmp r8, 0x10
jb 0x14002d232
mov rax, qword [rdi]
cmp byte [r14 + rax], 0x3a
jne 0x14002d26f
lea eax, [rsi + 1]
mov esi, eax
movsxd rdx, eax
cmp rcx, rdx
cmovb rdx, rcx
mov rbx, rcx
mov rcx, rdi
cmp r8, 0x10
jb 0x14002d257
mov rcx, qword [rdi]
sub rbx, rdx
lea r8, [rbx + 1]
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov qword [rdi + 0x10], rbx
mov rcx, rbx
jmp 0x14002d275
mov rcx, qword [rdi + 0x10]
inc esi
inc r14
movsxd rax, esi
cmp rax, rbx
jb 0x14002d222
add rdi, 0x20
cmp rdi, r15
jne 0x14002d210
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x100]
call fcn.14002d640
mov rbx, rax
lea rax, [0x1400c1fb8]
cmp rax, rbx
je 0x14002d339
mov r8, qword [0x1400c1fb8]
test r8, r8
je 0x14002d30e
mov rcx, qword [0x1400c1fc8]
sub rcx, r8
sar rcx, 2
lea rdx, [rcx*4]
cmp rdx, 0x1000
jb 0x14002d2f4
add rdx, 0x27
mov rcx, qword [r8 - 8]
sub r8, rcx
lea rax, [r8 - 8]
cmp rax, 0x1f
ja 0x14002d37c
mov r8, rcx
mov rcx, r8
call fcn.140091a20
mov qword [0x1400c1fb8], r12
xorps xmm0, xmm0
movdqu xmmword [0x1400c1fc0], xmm0
mov rax, qword [rbx]
mov qword [0x1400c1fb8], rax
mov rax, qword [rbx + 8]
mov qword [0x1400c1fc0], rax
mov rax, qword [rbx + 0x10]
mov qword [0x1400c1fc8], rax
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
mov rcx, qword [rbp + 0x100]
test rcx, rcx
je 0x14002d388
mov rax, qword [rbp + 0x110]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002d383
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002d383
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140091a20
lea r8, [0x1400c1f48]
lea rdx, [0x1400c1f30]
mov rcx, qword [0x1400c1ee0]
call fcn.140004c30
jmp 0x14002d189
mov rax, rsi
mov qword [rbp + 0xc0], rax
lea rcx, [rbp - 0x58]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x140006610]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14002d607
cmp dword [rbp - 0x58], 0
je 0x14002d5fc
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp + 0xd0], xmm0
lea rcx, [rbp + 0xd0]
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x14002d5fc
xorps xmm0, xmm0
movaps xmmword [rbp + 0xf0], xmm0
movdqa xmmword [rbp - 0x60], xmm0
lea ecx, [rax + 8]
call fcn.1400919e4
test rax, rax
je 0x14002d431
lea rcx, [0x140028bc0]
mov qword [rax], rcx
jmp 0x14002d434
mov rax, rsi
mov qword [rbp + 0xc8], rax
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x140028e10]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x14002d62c
cmp dword [rbp - 0x68], 0
je 0x14002d621
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp + 0xe0], xmm0
lea rcx, [rbp + 0xe0]
call sub.MSVCP140.dll__Thrd_detach
test eax, eax
jne 0x14002d621
xorps xmm0, xmm0
movaps xmmword [rbp + 0xf0], xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov ecx, 1
xchg byte [0x1400c1fd1], cl
mov dil, 1
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x50], rax
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x54], edx
lea rcx, [rbp - 0x40]
call fcn.140006a70
lea rcx, [rbp - 0x38]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x60]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x14002d54d
lea r8, [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.140003250
mov rdx, qword [rsp + 0x40]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14002d544
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002d544
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.140091a20
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14002d58d
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002d588
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002d588
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140091a20
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14002d5e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002d5df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002d5df
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140091a20
movzx eax, dil
add rsp, 0x478
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov dword [rbp - 0x58], esi
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
call fcn.140004950
nop
call fcn.14002b930
nop
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov dword [rbp - 0x68], esi
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3