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

Disassembly:
push rbx
push rsi
push rdi
sub rsp, reloc.mfc120u.dll_Ordinal_320
mov rax, qword [0x140462840]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov rax, qword [rcx]
mov rdi, rcx
mov qword [rsp + 0x78], rcx
mov r10, qword [rax]
mov rbx, qword [rdi + 0x18]
xor ecx, ecx
mov rax, qword [r10]
mov word [rsp + 0x36], r9w
mov qword [rsp + 0x68], r8
mov r11, rdx
mov qword [rsp + 0x70], rdx
mov esi, ecx
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x40], rcx
cmp byte [rax + 0x50], cl
je 0x14008072c
lea eax, [rcx + 7]
jmp 0x140080cc4
test byte [rbx + 0x28], 0x20
mov qword [rsp + 0x138], rbp
je 0x140080741
mov edx, 0x18
jmp 0x140080757
cmp dword [r8 + 0x58], ecx
jle 0x140080752
test byte [rdx + 0x3c], 8
mov edx, 0xbf
je 0x140080757
mov edx, 0x3f
test byte [r8 + 0x64], 4
je 0x140080761
and edx, 0xffffffc3
movzx ecx, word [rbx + 0x18]
mov rax, qword [r8 + 8]
mov qword [rsp + 0x28], r8
movsx rbp, word [rax + rcx*2]
mov r8d, dword [r11 + 0x48]
mov dword [rsp + 0x20], edx
mov rdx, qword [rdi + 8]
lea rcx, [rsp + 0xa0]
mov r9d, ebp
call fcn.140083490
movzx r9d, word [rbx + 0x18]
movzx r10d, word [rbx + 0x2c]
mov r11d, dword [rbx + 0x28]
mov rdi, rax
movzx eax, word [rbx + 0x1a]
mov word [rsp + 0x3c], ax
mov rax, qword [rbx]
xor edx, edx
mov qword [rsp + 0x90], rax
movzx eax, word [rbx + 0x16]
mov word [rbx + 0x12], dx
mov word [rsp + 0x34], ax
mov rax, qword [rsp + 0x68]
mov word [rsp + 0x3a], r9w
mov r8, qword [rax + 0x10]
mov word [rsp + 0x38], r10w
mov dword [rsp + 0x5c], r11d
movzx ecx, word [r8]
mov word [rsp + 0x60], cx
cmp cx, 0xa
jg 0x1400807f3
mov word [rsp + 0x58], dx
jmp 0x140080809
movsx rcx, cx
call fcn.1400548d0
lea ecx, [rax - 0x21]
mov rax, qword [rsp + 0x68]
mov word [rsp + 0x58], cx
cmp r9w, word [rsp + 0x3c]
jne 0x1400808eb
movzx ecx, word [rax + 0x5e]
movzx eax, r9w
inc eax
cmp eax, ecx
jge 0x1400808eb
movzx esi, r9w
cmp word [r8 + rsi*2 + 2], 0x2a
jl 0x1400808e7
movzx r8d, word [rbx + 0x2c]
mov rcx, qword [rsp + 0x88]
mov rdx, rbx
inc r8d
call fcn.140081ed0
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x140080c86
inc word [rbx + 0x18]
inc word [rbx + 0x1a]
movzx edx, word [rbx + 0x2c]
mov rcx, qword [rbx + 0x30]
mov rax, qword [rsp + 0x68]
mov qword [rcx + rdx*8], 0
inc word [rbx + 0x2c]
or dword [rbx + 0x28], 0x8000
mov rcx, qword [rax + 0x10]
movzx edx, word [rcx + rsi*2]
sub dx, word [rcx + rsi*2 + 2]
test rdi, rdi
je 0x14008089a
add dx, 0xa
movzx r9d, word [rsp + 0x36]
sub word [rbx + 0x16], dx
mov rcx, qword [rsp + 0x78]
add r9w, 5
mov r8, rax
add r9w, dx
mov rdx, qword [rsp + 0x70]
call fcn.1400806c0
movzx eax, word [rsp + 0x34]
movzx r9d, word [rsp + 0x3a]
movzx r10d, word [rsp + 0x38]
mov r11d, dword [rsp + 0x5c]
mov word [rbx + 0x16], ax
movzx eax, word [rsp + 0x3c]
mov word [rbx + 0x18], r9w
mov word [rbx + 0x1a], ax
mov esi, dword [rsp + 0x48]
mov rcx, rbp
mov edx, 0x80
mov qword [rsp + 0x80], rcx
nop dword [rax + rax]
test rdi, rdi
je 0x140080c82
movzx ebp, word [rdi + 0x1a]
xor eax, eax
mov dword [rsp + 0x30], eax
cmp bp, dx
jne 0x140080940
test rcx, rcx
js 0x140080c4c
mov rax, qword [rsp + 0x70]
lea rcx, [rcx + rcx*2]
mov rax, qword [rax + 0x20]
add rcx, rcx
mov rax, qword [rax + 8]
cmp byte [rax + rcx*8 + 0x28], 0
jne 0x140080c4c
mov rax, qword [rbx + 8]
test qword [rdi + 0x28], rax
jne 0x140080c4c
mov rcx, qword [rsp + 0x88]
movzx r8d, r10w
mov rdx, rbx
inc r8d
mov dword [rbx + 0x28], r11d
mov word [rbx + 0x18], r9w
mov word [rbx + 0x2c], r10w
call fcn.140081ed0
test eax, eax
jne 0x140080c82
movzx ecx, word [rbx + 0x2c]
mov rax, qword [rbx + 0x30]
mov qword [rax + rcx*8], rdi
inc word [rbx + 0x2c]
mov rcx, qword [rdi + 0x28]
or rcx, qword [rsp + 0x90]
mov rax, qword [rbx + 8]
not rax
and rcx, rax
mov qword [rbx], rcx
test bpl, 1
je 0x1400809ea
mov rax, qword [rdi]
or dword [rbx + 0x28], 4
test dword [rax + 4], 0x800
je 0x1400809c7
mov r11d, 0x2e
mov dword [rsp + 0x30], r11d
jmp 0x140080a31
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x140080a2c
movsxd rax, dword [rcx]
test eax, eax
je 0x140080a2c
mov rcx, rax
call fcn.1400548d0
movsx r11d, ax
mov dword [rsp + 0x30], r11d
jmp 0x140080a31
test bpl, 2
je 0x140080a6d
or dword [rbx + 0x28], 1
cmp qword [rsp + 0x80], 0
mov edx, dword [rbx + 0x28]
jl 0x140080a67
cmp word [rsp + 0x36], 0
jne 0x140080a2c
mov r8, qword [rsp + 0x68]
movzx eax, word [rbx + 0x18]
movzx ecx, word [r8 + 0x5e]
dec ecx
cmp eax, ecx
jne 0x140080a2c
cmp byte [r8 + 0x62], 0
jne 0x140080a67
bts edx, 0x10
mov dword [rbx + 0x28], edx
mov r11d, dword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov r10d, dword [rbx + 0x28]
test r10b, 2
je 0x140080b28
movsx r8d, word [rbx + 0x16]
movzx edx, r8w
test r9, r9
je 0x140080ad2
movzx edx, word [r9 + 0x18]
test dx, dx
jg 0x140080ace
add dx, r8w
jmp 0x140080ad2
bts edx, 0xc
jmp 0x140080a29
test bpl, bpl
jns 0x140080a78
or dword [rbx + 0x28], 8
jmp 0x140080a2c
mov r11d, dword [rsp + 0x30]
test bpl, 0x24
je 0x140080a98
or dword [rbx + 0x28], 0x22
xor esi, esi
mov r9, rdi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rdi
jmp 0x140080a3b
or dword [rbx + 0x28], 0x12
test byte [rbx + 0x28], 0x20
mov rsi, rdi
mov qword [rsp + 0x50], rdi
je 0x140080ac1
movzx ecx, word [rbx + 0x2c]
mov rax, qword [rbx + 0x30]
mov r9, qword [rax + rcx*8 - 0x10]
mov qword [rsp + 0x40], r9
jmp 0x140080a3b
xor r9d, r9d
mov qword [rsp + 0x40], r9
jmp 0x140080a3b
lea edx, [r8 - 0x14]
test rsi, rsi
je 0x140080ae9
movzx eax, word [rsi + 0x18]
test ax, ax
jg 0x140080ae5
add dx, ax
jmp 0x140080ae9
sub dx, 0x14
test r9, r9
je 0x140080af7
test rsi, rsi
je 0x140080af7
sub dx, 0x14
xor eax, eax
test r9, r9
mov ecx, eax
setne cl
test rsi, rsi
setne al
add ecx, eax
sub r8d, ecx
cmp dx, 0xa
jge 0x140080b17
mov edx, 0xa
movsx eax, dx
cmp eax, r8d
cmovl r8d, eax
mov word [rbx + 0x16], r8w
jmp 0x140080b78
inc word [rbx + 0x18]
movzx eax, word [rdi + 0x18]
movzx ecx, word [rbx + 0x18]
test ax, ax
jg 0x140080b4e
cmp qword [rsp + 0x80], 0
jl 0x140080b4e
sub ax, r11w
add word [rbx + 0x16], ax
jmp 0x140080b78
mov rax, qword [rsp + 0x68]
mov rdx, rcx
mov rax, qword [rax + 0x10]
movzx ecx, word [rax + rcx*2]
sub cx, word [rax + rdx*2 - 2]
add word [rbx + 0x16], cx
movzx eax, word [rbx + 0x16]
test bpl, bpl
jns 0x140080b78
add ax, 0xa
mov word [rbx + 0x16], ax
mov rbp, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
movsx eax, word [rbp + 0x5c]
mov rcx, qword [rcx + 0x20]
movsx r8d, word [rcx + 0x46]
movzx ecx, word [rsp + 0x58]
imul eax, eax, 0xf
cdq
idiv r8d
add ax, word [rbx + 0x16]
lea edx, [rax + 1]
call fcn.140054960
mov word [rbx + 0x14], ax
test r10d, reloc.mfc120u.dll_Ordinal_320
jne 0x140080bc8
movzx edx, word [rbx + 0x16]
movzx ecx, ax
add dx, 0x10
call fcn.140054960
mov word [rbx + 0x14], ax
movzx ecx, word [rsp + 0x36]
movzx edi, word [rbx + 0x16]
mov rsi, qword [rsp + 0x78]
movzx r8d, word [rsp + 0x60]
lea eax, [rcx + r11]
mov rdx, rbx
add word [rbx + 0x14], ax
lea eax, [rcx + r11]
add word [rbx + 0x16], ax
mov rcx, qword [rsi + 8]
call fcn.140081dc0
mov rdx, rbx
mov rcx, rsi
call fcn.140081c80
mov esi, eax
mov dword [rsp + 0x48], eax
mov eax, dword [rbx + 0x28]
test al, 2
cmovne di, word [rsp + 0x34]
mov word [rbx + 0x16], di
test al, 0x10
jne 0x140080c43
movzx eax, word [rbp + 0x60]
cmp word [rbx + 0x18], ax
jae 0x140080c43
mov r9d, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
add r9w, word [rsp + 0x36]
mov r8, rbp
call fcn.1400806c0
movzx eax, word [rsp + 0x34]
mov word [rbx + 0x16], ax
lea rcx, [rsp + 0xa0]
call fcn.140083830
mov rcx, qword [rsp + 0x80]
movzx r9d, word [rsp + 0x3a]
movzx r10d, word [rsp + 0x38]
mov r11d, dword [rsp + 0x5c]
mov rdi, rax
mov edx, 0x80
test esi, esi
je 0x140080900
mov eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x138]
mov qword [rbx], rcx
movzx ecx, word [rsp + 0x3a]
mov word [rbx + 0x18], cx
movzx ecx, word [rsp + 0x3c]
mov word [rbx + 0x1a], cx
mov ecx, dword [rsp + 0x5c]
mov dword [rbx + 0x28], ecx
movzx ecx, word [rsp + 0x34]
mov word [rbx + 0x16], cx
movzx ecx, word [rsp + 0x38]
mov word [rbx + 0x2c], cx
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.140289bf0
add rsp, reloc.mfc120u.dll_Ordinal_320
pop rdi
pop rsi
pop rbx
ret