Function at 0x140238dc0
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.140238bd0
cmp dword [rsi + 0x84], 7
mov qword [rsi + 0x28], rdi
jne 0x140238e19
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 0x140238e9d
mov r15, qword [rsi + 0x10]
add r15, 0x1f8
test byte [r15 + 0x24], 0x10
je 0x140238e51
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 0x140238e89
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 0x140238e70
cmp rcx, rbp
jge 0x140238e96
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 0x140239277
cmp r9d, 2
jne 0x140238edd
mov rax, qword [rsi + 8]
lea rcx, [rdx + rdx*2]
cmp byte [rax + rcx*8], 0x9c
jne 0x140238eb0
mov eax, dword [r14 + 0x138]
test eax, eax
je 0x140238f24
mov rax, qword [0x14032bfe8]
lea r9, [0x140336998]
lea rcx, [rsi + 0x48]
test rax, rax
lea r8, [0x14036e0c0]
mov rdx, r14
cmovne r9, rax
mov dword [rsi + 0x84], 9
mov edi, 1
call fcn.140218780
jmp 0x140239286
mov eax, dword [rsi + 0x3c]
cmp edx, eax
jge 0x140238f38
mov rax, qword [rsi + 8]
mov r8, rdx
lea rcx, [rdx + rdx*2]
jmp 0x140238f76
sub edx, eax
mov rax, qword [rdi]
xor r9d, r9d
mov ecx, dword [rax + 8]
cmp edx, ecx
jl 0x140238f65
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 0x140238f50
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 0x140239046
mov word [rbx + 0x24], r14w
mov qword [rbx + 0x18], r8
mov word [rbx + 0x5c], cx
movzx eax, byte [r13]
lea rcx, [0x14032b990]
mov rcx, qword [rcx + rax*8]
mov qword [rbx + 0x40], rcx
mov rax, rcx
test rcx, rcx
je 0x140238fd2
cmp byte [rcx], 0
je 0x140238fcb
inc rax
cmp byte [rax], 0
jne 0x140238fc3
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 0x140239046
xor ecx, ecx
lea ebp, [r12*8 + 8]
test r12d, r12d
jle 0x140239010
mov rdx, qword [r13 + 0x10]
xor eax, eax
movsxd r8, r12d
nop dword [rax]
cmp qword [rdi + rax*8], rdx
je 0x140239010
inc rax
inc ecx
cmp rax, r8
jl 0x140239000
cmp ecx, r12d
jne 0x140239046
xor r8d, r8d
test r12d, r12d
mov edx, ebp
setne r8b
mov rcx, r15
call fcn.1402363d0
test eax, eax
jne 0x140239046
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.1402363d0
test eax, eax
jne 0x140239205
mov rdx, qword [rbx + 8]
mov r12d, 0x202
mov rcx, r13
mov word [rbx + 0x24], r12w
call fcn.140238680
mov rcx, qword [rbx + 8]
mov rbp, rax
cmp rax, rcx
je 0x1402391b3
test rax, rax
jne 0x140239101
test byte [rbx + 0x24], 0x40
je 0x1402390dc
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 0x1402390eb
mov rcx, qword [rbx + 0x18]
call fcn.140221c50
mov eax, 0xbe01
and word [rbx + 0x24], ax
or word [rbx + 0x24], 1
xor r15d, r15d
jmp 0x1402391e1
mov rax, qword [rbx]
test rax, rax
je 0x14023910e
mov ecx, dword [rax + 0x68]
jmp 0x140239113
mov ecx, 0x3b9aca00
xor r15d, r15d
movsxd rcx, ecx
mov edi, r15d
mov eax, r15d
test rcx, rcx
js 0x140239134
cmp byte [rax + rbp], r15b
je 0x140239134
inc rax
inc edi
cmp rax, rcx
jle 0x140239124
lea rax, [0x1402181a0]
movzx r14d, r12w
test rax, rax
mov eax, 0x2460
jne 0x140239172
test word [rbx + 0x24], ax
je 0x140239157
mov rcx, rbx
call fcn.140236830
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x14023916c
mov rcx, qword [rbx]
call fcn.140218260
mov qword [rbx + 0x30], r15
mov qword [rbx + 0x30], rbp
jmp 0x14023919b
test word [rbx + 0x24], ax
je 0x140239180
mov rcx, rbx
call fcn.140236830
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x140239195
mov rcx, qword [rbx]
call fcn.140218260
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 0x1402391dd
mov rax, rcx
test rcx, rcx
jne 0x1402391c3
xor r15d, r15d
mov eax, r15d
jmp 0x1402391da
cmp byte [rcx], 0
je 0x1402391d0
inc rax
cmp byte [rax], 0
jne 0x1402391c8
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 0x140239241
lea rcx, [rbx + 0x38]
xor r8d, r8d
mov edx, r14d
call fcn.1402363d0
test eax, eax
je 0x14023920f
mov eax, 1
jmp 0x140239288
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.14021a0d0
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 0x140239286
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