Function at 0x1401c3930
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov r14, r9
mov r15, r8
mov rbx, rdx
mov qword [rsp + 0x50], rcx
mov rsi, qword [rsp + 0x130]
mov rcx, r8
mov rdx, r9
call fcn.1401c1980
test al, al
je 0x1401c39b2
mov rax, qword [rsi]
mov rbx, qword [rsi + 0x10]
sub rax, rbx
cmp rax, r14
mov rax, rsi
jb 0x1401c4348
mov rcx, qword [rax + 8]
add rcx, rbx
mov rdx, r15
mov r8, r14
mov rsi, rax
call sub.VCRUNTIME140.dll_memcpy
add rbx, r14
mov qword [rsi + 0x10], rbx
mov rax, qword [rsp + 0x50]
mov qword [rax], 0
mov dword [rax + 8], 0
jmp 0x1401c431c
mov eax, dword [rbx + 0x30]
mov r9d, dword [rbx + 0x34]
shl r9, 0x20
or r9, rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x6c]
mov rdx, r15
mov r8, r14
call fcn.1401c1ad0
mov r14, qword [rsi + 0x10]
test r14, r14
je 0x1401c3a17
js 0x1401c43df
movzx eax, byte [0x140473641]
mov edx, 1
mov rcx, r14
call fcn.140020a00
test rax, rax
mov rsi, qword [rsp + 0x130]
jne 0x1401c3a1c
mov ecx, 1
mov rdx, r14
call fcn.140345060
mov eax, 1
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x90], rcx
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsi], r14
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 0
lea rsi, [rbx + 0x18]
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1401c3a5e
mov rcx, qword [rbx + 0x20]
mov r8d, 1
call fcn.140020a10
mov rax, qword [rsp + 0x90]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rsi], xmm0
mov rax, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x28]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0xb8], rax
mov word [rsp + 0xc0], 1
lea rcx, [rsp + 0x80]
call fcn.1401bf990
test rax, rax
je 0x1401c4308
mov r14, rax
mov rbx, rdx
mov al, 1
movabs rsi, 0x8080808080808080
jmp 0x1401c3b6c
mov rax, qword [rcx]
mov r12, qword [rcx + 0x10]
sub rax, r12
cmp rax, rbx
jb 0x1401c42ec
mov rcx, qword [rcx + 8]
add rcx, r12
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x130]
add rbx, r12
mov qword [rcx + 0x10], rbx
lea rcx, [rsp + 0x80]
call fcn.1401bf990
mov r14, rax
mov rbx, rdx
xor eax, eax
test r14, r14
movabs rsi, 0x8080808080808080
je 0x1401c4308
test al, 1
mov rcx, qword [rsp + 0x130]
jne 0x1401c3ba1
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x1401c3b92
call fcn.14000af00
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rcx + 0x10], rdx
mov r8, rbx
cmp rbx, 8
jb 0x1401c3c00
lea rdx, [r14 + 7]
and rdx, 0xfffffffffffffff8
mov rax, rdx
sub rax, r14
mov r8, rbx
cmp rax, rbx
ja 0x1401c3c00
test qword [r14], rsi
jne 0x1401c3c18
cmp rdx, r14
mov edx, 8
cmove rax, rdx
lea rdx, [rbx - 8]
cmp rax, rdx
jae 0x1401c3bef
nop word [rax + rax]
test qword [r14 + rax], rsi
jne 0x1401c3c18
add rax, 8
cmp rax, rdx
jb 0x1401c3be0
test qword [r14 + rdx], rsi
jne 0x1401c3c18
jmp 0x1401c3b10
mov rax, r8
sub rax, 1
jb 0x1401c3b10
cmp byte [r14 + r8 - 1], 0
mov r8, rax
jns 0x1401c3c00
mov rdx, qword [rcx]
mov rsi, qword [rcx + 0x10]
sub rdx, rsi
mov rax, rsi
cmp rdx, 3
jbe 0x1401c3d4e
mov rdx, qword [rcx + 8]
mov dword [rdx + rax], 0x2d2d6e78
add rax, 4
mov qword [rcx + 0x10], rax
test rbx, rbx
je 0x1401c3b44
mov qword [rsp + 0x78], rsi
add rbx, r14
xor esi, esi
xor r12d, r12d
mov rdi, r14
jmp 0x1401c3c6b
inc esi
cmp rdi, rbx
je 0x1401c3d70
movzx r8d, byte [rdi]
movzx edx, r8b
test dl, dl
js 0x1401c3c90
inc rdi
mov r13d, esi
inc r13d
jne 0x1401c3d30
jmp 0x1401c42b0
mov eax, edx
and eax, 0x1f
movzx r9d, byte [rdi + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x1401c3cf0
movzx ecx, byte [rdi + 2]
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
cmp r8b, 0xf0
jb 0x1401c3d11
movzx edx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, eax
cmp edx, 0x110000
mov rcx, qword [rsp + 0x130]
je 0x1401c3d6d
add rdi, 4
mov r13d, esi
inc r13d
jne 0x1401c3d30
jmp 0x1401c42b0
add rdi, 2
shl eax, 6
or eax, r9d
mov edx, eax
mov rcx, qword [rsp + 0x130]
mov r13d, esi
inc r13d
jne 0x1401c3d30
jmp 0x1401c42b0
add rdi, 3
shl eax, 0xc
or ecx, eax
mov edx, ecx
mov rcx, qword [rsp + 0x130]
mov r13d, esi
inc r13d
je 0x1401c42b0
cmp edx, 0x7f
ja 0x1401c3c60
call fcn.140021970
mov rcx, qword [rsp + 0x130]
inc r12d
jmp 0x1401c3c60
mov r8d, 4
mov rdx, rsi
call fcn.14033a8b0
mov rcx, qword [rsp + 0x130]
mov rax, qword [rcx + 0x10]
jmp 0x1401c3c2f
mov r13d, esi
test r12d, r12d
je 0x1401c3d9e
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x1401c3d8f
call fcn.14000af00
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [rcx + 0x10], rdx
cmp r12d, r13d
jae 0x1401c3b44
mov eax, 0x80
mov esi, 0x48
xor r8d, r8d
mov edi, r12d
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x3c], r13d
mov rcx, r14
jmp 0x1401c3ddb
inc rcx
cmp eax, ebp
jbe 0x1401c3e82
cmp rcx, rbx
je 0x1401c43af
movzx r10d, byte [rcx]
movzx ebp, r10b
test bpl, bpl
jns 0x1401c3dd0
mov edx, ebp
and edx, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp bpl, 0xdf
jbe 0x1401c3e43
movzx r9d, byte [rcx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1401c3e51
movzx ebp, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ebp, 0x3f
or ebp, r9d
or ebp, edx
cmp ebp, 0x110000
je 0x1401c43af
add rcx, 4
jmp 0x1401c3dd3
add rcx, 2
shl edx, 6
or edx, r11d
mov ebp, edx
jmp 0x1401c3dd3
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
jmp 0x1401c3dd3
inc rcx
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp edx, eax
cmovae ebp, r9d
cmp rcx, rbx
je 0x1401c3f20
movzx r11d, byte [rcx]
movzx edx, r11b
test dl, dl
jns 0x1401c3e70
mov r15d, edi
mov r9d, edx
and r9d, 0x1f
movzx edi, byte [rcx + 1]
and edi, 0x3f
cmp dl, 0xdf
jbe 0x1401c3eec
movzx r10d, byte [rcx + 2]
shl edi, 6
and r10d, 0x3f
or r10d, edi
cmp r11b, 0xf0
jb 0x1401c3f02
movzx edx, byte [rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
mov edi, r15d
je 0x1401c3f20
add rcx, 4
jmp 0x1401c3e73
add rcx, 2
shl r9d, 6
or r9d, edi
mov edx, r9d
mov edi, r15d
jmp 0x1401c3e73
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
mov edi, r15d
jmp 0x1401c3e73
mov r9d, edi
inc r9d
je 0x1401c437f
mov r15d, ebp
sub r15d, eax
mov eax, r8d
not eax
xor edx, edx
div r9d
cmp r15d, eax
mov rcx, qword [rsp + 0x130]
ja 0x1401c42b0
imul r15d, r9d
add r15d, r8d
mov r10, r14
jmp 0x1401c3f74
mov r9d, edi
mov r8d, r15d
mov r10, qword [rsp + 0x40]
cmp r10, rbx
je 0x1401c4290
movzx r8d, byte [r10]
movzx eax, r8b
test al, al
js 0x1401c3fa0
inc r10
mov qword [rsp + 0x40], r10
mov rcx, qword [rsp + 0x130]
cmp eax, ebp
jb 0x1401c4040
jmp 0x1401c4049
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [r10 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1401c3ffe
movzx edx, byte [r10 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1401c401d
movzx eax, byte [r10 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
mov rcx, qword [rsp + 0x130]
je 0x1401c42a8
add r10, 4
mov qword [rsp + 0x40], r10
cmp eax, ebp
jb 0x1401c4040
jmp 0x1401c4049
add r10, 2
mov qword [rsp + 0x40], r10
shl ecx, 6
or ecx, r9d
mov eax, ecx
mov rcx, qword [rsp + 0x130]
cmp eax, ebp
jb 0x1401c4040
jmp 0x1401c4049
add r10, 3
mov qword [rsp + 0x40], r10
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov rcx, qword [rsp + 0x130]
cmp eax, ebp
jae 0x1401c4049
nop dword [rax]
inc r15d
je 0x1401c42b0
cmp eax, ebp
jne 0x1401c3f60
mov dword [rsp + 0x4c], edi
lea r14d, [rsi + 0x1a]
lea r9d, [rsi - 0x24]
neg r9d
cmp r14d, 0x25
mov eax, 0x1a
cmovb r9d, eax
cmp esi, 0x24
mov eax, 1
cmovae r9d, eax
mov r13d, r15d
cmp r15d, r9d
jae 0x1401c4140
mov edx, 0x61
cmp r13d, 0x1a
jb 0x1401c409f
mov edx, 0x16
cmp r13d, 0x24
jae 0x1401c4397
add edx, r13d
call fcn.140021970
mov eax, dword [rsp + 0x4c]
mov r9d, eax
inc r9d
je 0x1401c4367
mov r12d, dword [rsp + 0x48]
cmp eax, r12d
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, r15d
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
xor ecx, ecx
cmp eax, 0x1c8
jb 0x1401c4250
mov r11d, 0xd41d41d5
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x3c]
nop word cs:[rax + rax]
mov edx, eax
imul rdx, r11
shr rdx, 0x20
mov r10d, eax
sub r10d, edx
shr r10d, 1
add r10d, edx
shr r10d, 5
add ecx, 0x24
cmp eax, 0x3e57
mov eax, r10d
ja 0x1401c4110
jmp 0x1401c4262
mov ebx, esi
neg ebx
mov edi, 0x48
mov r13d, r15d
jmp 0x1401c4186
mov rax, qword [rcx + 8]
mov byte [rax + rdx], r12b
inc rdx
lea r9d, [rbx + rdi]
cmp edi, r14d
mov eax, 0x1a
cmovae r9d, eax
cmp edi, esi
mov eax, 1
cmovbe r9d, eax
mov qword [rcx + 0x10], rdx
add edi, 0x24
cmp r13d, r9d
jb 0x1401c4085
mov r8d, r9d
sub r8d, 0x24
je 0x1401c4330
sub r13d, r9d
neg r8d
mov eax, r13d
xor edx, edx
div r8d
add edx, r9d
mov r12d, 0x61
mov r13d, eax
cmp edx, 0x1a
jb 0x1401c41c1
mov r12d, 0x16
cmp edx, 0x24
jae 0x1401c4397
add r12d, edx
cmp r12d, 0x80
jae 0x1401c41f0
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x1401c4150
call fcn.14000af00
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rcx + 0x10]
jmp 0x1401c4150
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, 1
jbe 0x1401c4231
movzx eax, r12w
mov r9d, eax
shr r9d, 6
mov r8, qword [rcx + 8]
and eax, 0x3f
shl eax, 8
movzx r9d, r9w
or r9d, eax
or r9d, 0x80c0
mov word [r8 + rdx], r9w
add rdx, 2
jmp 0x1401c415b
mov r8d, 2
call fcn.14033a8b0
mov rcx, qword [rsp + 0x130]
mov rdx, qword [rcx + 0x10]
jmp 0x1401c4200
mov r10d, eax
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x3c]
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx esi, ax
add esi, ecx
mov r15d, r8d
mov edi, r9d
mov r10, qword [rsp + 0x40]
cmp r10, rbx
jne 0x1401c3f74
inc r8d
inc ebp
mov edi, r9d
mov eax, ebp
cmp r9d, r13d
jb 0x1401c3dcb
jmp 0x1401c3b44
mov r9d, edi
mov r8d, r15d
jmp 0x1401c4290
mov byte [rsp + 0x6c], 1
mov rax, qword [rcx + 0x10]
mov rbx, qword [rsp + 0x78]
cmp rax, rbx
jb 0x1401c3b44
test rbx, rbx
je 0x1401c3b40
cmp rax, rbx
jbe 0x1401c3b40
mov rax, qword [rcx + 8]
cmp byte [rax + rbx], 0xbf
jg 0x1401c3b40
jmp 0x1401c43c7
mov rdx, r12
mov r8, rbx
call fcn.14033a8b0
mov rcx, qword [rsp + 0x130]
mov r12, qword [rcx + 0x10]
jmp 0x1401c3b23
mov ecx, dword [rsp + 0x74]
mov rax, qword [rsp + 0x50]
mov dword [rax + 8], ecx
mov rcx, qword [rsp + 0x6c]
mov qword [rax], rcx
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0x39
call fcn.140345400
mov rcx, rax
mov rdx, rbx
mov r8, r14
call fcn.14033a8b0
mov rax, qword [rsp + 0x130]
mov rbx, qword [rax + 0x10]
jmp 0x1401c397e
lea rcx, str.attempt_to_divide_by_zero_rustc_5ac4c8a63ee305742071ac6dd11817f7c24adce2librarycore_src_slice_sort.rs
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0x19
call fcn.140345400
lea rcx, str.attempt_to_divide_by_zero_rustc_5ac4c8a63ee305742071ac6dd11817f7c24adce2librarycore_src_slice_sort.rs
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0x19
call fcn.140345400
lea rcx, [0x140412368]
lea r8, str.0_A_
mov edx, 0xe
call fcn.140345400
lea rcx, [0x140411f78]
lea r8, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0x2b
call fcn.140345400
lea rcx, [0x140412098]
lea r8, [0x140412118]
mov edx, 0x30
call fcn.140345400
call fcn.1401ecdb0
int3