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

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, qword [rcx + 0x10]
mov r14, qword [rcx]
mov rsi, rcx
xor edi, edi
add rbx, 0x38
xor r12d, r12d
lea edx, [rdi + 8]
mov rcx, rbx
xor r15d, r15d
call fcn.140061730
cmp dword [rsi + 0x84], 7
mov qword [rsi + 0x28], rdi
jne 0x1400618a9
mov byte [r14 + 0x50], 1
lea eax, [rdi + 1]
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov r9d, dword [rsi + 0x8c]
mov r10d, dword [rsi + 0x3c]
mov qword [rsp + 0x50], rbp
and r9d, 3
cmp r9d, 1
jne 0x14006192d
mov r15, qword [rsi + 0x10]
add r15, 0x1f8
test byte [r15 + 0x24], 0x10
je 0x1400618e1
movsxd r12, dword [r15 + 0x20]
mov rdi, qword [r15 + 8]
shr r12, 3
movsxd rbp, r12d
xor edx, edx
xor r8d, r8d
xor ecx, ecx
cmp rbp, 2
jl 0x140061919
lea r11, [rbp - 1]
nop word [rax + rax]
mov rax, qword [rdi + rcx*8]
add rcx, 2
add edx, dword [rax + 8]
mov rax, qword [rdi + rcx*8 - 8]
add r8d, dword [rax + 8]
cmp rcx, r11
jl 0x140061900
cmp rcx, rbp
jge 0x140061926
mov rax, qword [rdi + rcx*8]
add r10d, dword [rax + 8]
lea eax, [r8 + rdx]
add r10d, eax
mov qword [rsp + 0x58], r13
nop dword [rax]
nop word [rax + rax]
movsxd rdx, dword [rsi + 0x80]
lea eax, [rdx + 1]
mov dword [rsi + 0x80], eax
cmp edx, r10d
jge 0x140061d07
cmp r9d, 2
jne 0x14006196d
mov rax, qword [rsi + 8]
lea rcx, [rdx + rdx*2]
cmp byte [rax + rcx*8], 0x9d
jne 0x140061940
mov eax, dword [r14 + 0x138]
test eax, eax
je 0x1400619b4
mov rax, qword [str.interrupted]
lea r9, str.unknown_error
lea rcx, [rsi + 0x48]
test rax, rax
lea r8, [0x140141188]
mov rdx, r14
cmovne r9, rax
mov dword [rsi + 0x84], 9
mov edi, 1
call fcn.1400410a0
jmp 0x140061d16
mov eax, dword [rsi + 0x3c]
cmp edx, eax
jge 0x1400619c8
mov rax, qword [rsi + 8]
mov r8, rdx
lea rcx, [rdx + rdx*2]
jmp 0x140061a06
sub edx, eax
mov rax, qword [rdi]
xor r9d, r9d
mov ecx, dword [rax + 8]
cmp edx, ecx
jl 0x1400619f5
xor r8d, r8d
nop word [rax + rax]
mov rax, qword [rdi + r8*8 + 8]
sub edx, ecx
lea r8, [r8 + 1]
mov ecx, dword [rax + 8]
inc r9d
cmp edx, ecx
jge 0x1400619e0
movsxd rax, r9d
movsxd r8, edx
mov rax, qword [rdi + rax*8]
lea rcx, [r8 + r8*2]
mov rax, qword [rax]
lea r13, [rax + rcx*8]
mov eax, dword [rsi + 0x8c]
mov r14d, 4
and al, 3
mov ecx, 0xa02
cmp al, 1
jne 0x140061ad6
mov word [rbx + 0x24], r14w
mov qword [rbx + 0x18], r8
mov word [rbx + 0x5c], cx
movzx eax, byte [r13]
lea rcx, [0x1401386d0]
mov rcx, qword [rcx + rax*8]
mov qword [rbx + 0x40], rcx
mov rax, rcx
test rcx, rcx
je 0x140061a62
cmp byte [rcx], 0
je 0x140061a5b
inc rax
cmp byte [rax], 0
jne 0x140061a53
sub eax, ecx
and eax, 0x3fffffff
mov dword [rbx + 0x58], eax
mov byte [rbx + 0x5e], 1
add rbx, 0x70
cmp byte [r13 + 1], 0xee
jne 0x140061ad6
xor ecx, ecx
lea ebp, [r12*8 + 8]
test r12d, r12d
jle 0x140061aa0
mov rdx, qword [r13 + 0x10]
xor eax, eax
movsxd r8, r12d
nop dword [rax]
cmp qword [rdi + rax*8], rdx
je 0x140061aa0
inc rax
inc ecx
cmp rax, r8
jl 0x140061a90
cmp ecx, r12d
jne 0x140061ad6
xor r8d, r8d
test r12d, r12d
mov edx, ebp
setne r8b
mov rcx, r15
call fcn.14005f000
test eax, eax
jne 0x140061ad6
mov rax, qword [r13 + 0x10]
mov rcx, qword [r15 + 8]
movsxd rdx, r12d
mov qword [rcx + rdx*8], rax
or word [r15 + 0x24], 0x10
mov dword [r15 + 0x20], ebp
mov word [rbx + 0x24], r14w
movsxd rax, dword [r13 + 4]
xor r8d, r8d
mov qword [rbx + 0x18], rax
mov word [rbx + 0x5c], r14w
movsxd rax, dword [r13 + 8]
mov qword [rbx + 0x50], rax
mov word [rbx + 0x94], r14w
movsxd rax, dword [r13 + 0xc]
mov qword [rbx + 0x88], rax
add rbx, 0xa8
lea edx, [r8 + 0x20]
mov rcx, rbx
call fcn.14005f000
test eax, eax
jne 0x140061c95
mov rdx, qword [rbx + 8]
mov r12d, 0x202
mov rcx, r13
mov word [rbx + 0x24], r12w
call fcn.1400611e0
mov rcx, qword [rbx + 8]
mov rbp, rax
cmp rax, rcx
je 0x140061c43
test rax, rax
jne 0x140061b91
test byte [rbx + 0x24], 0x40
je 0x140061b6c
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rdx]
mov rax, qword [rcx + 0xf8]
mov qword [rdx + 8], rax
mov qword [rcx + 0xf8], rdx
test byte [rbx + 0x24], 0x20
je 0x140061b7b
mov rcx, qword [rbx + 0x18]
call fcn.14004a810
mov eax, 0xbe01
and word [rbx + 0x24], ax
or word [rbx + 0x24], 1
xor r15d, r15d
jmp 0x140061c71
mov rax, qword [rbx]
test rax, rax
je 0x140061b9e
mov ecx, dword [rax + 0x68]
jmp 0x140061ba3
mov ecx, 0x3b9aca00
xor r15d, r15d
movsxd rcx, ecx
mov edi, r15d
mov eax, r15d
test rcx, rcx
js 0x140061bc4
cmp byte [rax + rbp], r15b
je 0x140061bc4
inc rax
inc edi
cmp rax, rcx
jle 0x140061bb4
lea rax, [0x140040ac0]
movzx r14d, r12w
test rax, rax
mov eax, 0x2460
jne 0x140061c02
test word [rbx + 0x24], ax
je 0x140061be7
mov rcx, rbx
call fcn.14005f460
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x140061bfc
mov rcx, qword [rbx]
call fcn.140040b80
mov qword [rbx + 0x30], r15
mov qword [rbx + 0x30], rbp
jmp 0x140061c2b
test word [rbx + 0x24], ax
je 0x140061c10
mov rcx, rbx
call fcn.14005f460
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x140061c25
mov rcx, qword [rbx]
call fcn.140040b80
mov qword [rbx + 0x30], r15
mov r14d, 0xa02
mov word [rbx + 0x24], r14w
mov qword [rbx + 0x28], r15
mov qword [rbx + 8], rbp
mov r14d, 4
mov dword [rbx + 0x20], edi
jmp 0x140061c6d
mov rax, rcx
test rcx, rcx
jne 0x140061c53
xor r15d, r15d
mov eax, r15d
jmp 0x140061c6a
cmp byte [rcx], 0
je 0x140061c60
inc rax
cmp byte [rax], 0
jne 0x140061c58
sub eax, ecx
and eax, 0x3fffffff
xor r15d, r15d
mov dword [rbx + 0x20], eax
mov byte [rbx + 0x26], 1
mov eax, dword [rsi + 0x8c]
mov ebp, 2
and al, 3
cmp al, 1
jne 0x140061cd1
lea rcx, [rbx + 0x38]
xor r8d, r8d
mov edx, r14d
call fcn.14005f000
test eax, eax
je 0x140061c9f
mov eax, 1
jmp 0x140061d18
mov rdx, qword [rbx + 0x40]
mov word [rbx + 0x5c], r12w
mov dword [rbx + 0x58], ebp
movzx r9d, byte [r13 + 3]
lea r8, str._.2x
mov ecx, 3
call fcn.140042b20
mov edi, 1
mov byte [rbx + 0x5e], 1
mov word [rbx + 0x94], di
movzx eax, word [rsi + 0x8c]
mov dword [rsi + 0x84], r15d
mov edi, 0x64
and ax, 3
dec ax
sub bp, ax
mov rax, qword [rsi + 0x10]
shl bp, 2
add rax, 0x38
mov qword [rsi + 0x28], rax
mov word [rsi + 0x88], bp
jmp 0x140061d16
mov dword [rsi + 0x84], 0
mov edi, 0x65
mov eax, edi
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret