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

Disassembly:
push rbx
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x118
mov rax, qword [0x1401eb9a0]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rax, qword [rcx]
xor r11d, r11d
mov rbx, qword [rcx + 0x18]
mov r13, r8
mov word [rsp + 0x20], r9w
mov rbp, rdx
mov qword [rsp + 0x40], rdx
mov r14, rcx
mov r10, qword [rax]
mov r15d, r11d
mov qword [rsp + 0x58], rcx
mov r12d, r11d
mov qword [rsp + 0x38], r11
mov rax, qword [r10]
mov qword [rsp + 0x48], rax
cmp byte [rax + 0x50], r11b
je 0x1400b974c
lea eax, [r11 + 7]
jmp 0x1400b9e2e
test byte [rbx + 0x28], 0x20
mov qword [rsp + 0x108], rdi
je 0x1400b9761
mov ecx, 0x18
jmp 0x1400b9777
cmp dword [r8 + 0x58], r11d
jle 0x1400b9772
test byte [rdx + 0x3c], 8
mov ecx, 0xbf
je 0x1400b9777
mov ecx, 0x3f
mov eax, dword [r8 + 0x64]
mov r9d, ecx
mov r8, qword [r8 + 8]
and r9d, 0xffffffc3
mov r10d, dword [rdx + 0x48]
and al, 4
movzx eax, word [rbx + 0x18]
cmove r9d, ecx
mov qword [rsp + 0x110], rsi
movsx rdi, word [r8 + rax*2]
mov rax, qword [r14 + 8]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
test edi, edi
js 0x1400b980d
mov rcx, qword [r13 + 0x18]
lea rdx, [rdi + rdi*2]
add rdx, rdx
mov rax, qword [rcx + 8]
movzx ecx, byte [rax + rdx*8 + 0x29]
movsx eax, word [r8]
mov byte [rsp + 0x88], cl
mov ecx, r11d
cmp eax, edi
je 0x1400b97f3
movzx edx, word [r13 + 0x60]
nop
cmp ecx, edx
jg 0x1400b9808
movsx eax, word [r8 + 2]
add r8, 2
inc ecx
cmp eax, edi
jne 0x1400b97e0
mov rax, qword [r13 + 0x40]
movsxd rcx, ecx
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x80], rcx
jmp 0x1400b981d
mov rsi, r11
jmp 0x1400b9853
mov byte [rsp + 0x88], r11b
mov qword [rsp + 0x80], r11
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x8c], r9d
mov dword [rsp + 0x90], r11d
mov dword [rsp + 0x94], r10d
mov dword [rsp + 0x98], edi
mov word [rsp + 0x89], 0x202
call fcn.1400b3ba0
mov rsi, rax
movzx eax, word [rbx + 0x1a]
xor ecx, ecx
movzx r9d, word [rbx + 0x18]
movzx r10d, word [rbx + 0x2c]
mov r11d, dword [rbx + 0x28]
mov word [rsp + 0x26], ax
mov rax, qword [rbx]
mov word [rbx + 0x12], cx
mov r8, qword [r13 + 0x10]
mov qword [rsp + 0x50], rax
movzx eax, word [rbx + 0x16]
mov word [rsp + 0x22], ax
movsx rax, word [r8]
mov word [rsp + 0x24], r9w
mov word [rsp + 0x28], r10w
mov dword [rsp + 0x30], r11d
mov word [rsp + 0x2c], ax
cmp eax, 0xa
jg 0x1400b98ab
mov word [rsp + 0x2a], cx
jmp 0x1400b98bc
mov rcx, rax
call fcn.140049810
sub ax, 0x21
mov word [rsp + 0x2a], ax
cmp r9w, word [rsp + 0x26]
jne 0x1400b998f
movzx ecx, word [r13 + 0x5e]
lea eax, [r9 + 1]
cmp eax, ecx
jae 0x1400b998f
cmp word [r8 + r9*2 + 2], 0x2a
mov rbp, r9
jl 0x1400b998a
mov rcx, qword [rsp + 0x48]
lea r8d, [r10 + 1]
mov rdx, rbx
call fcn.1400b8fd0
mov r15d, eax
test eax, eax
jne 0x1400b9de8
movzx edx, word [rbx + 0x2c]
mov r8, r13
inc word [rbx + 0x18]
inc word [rbx + 0x1a]
mov rcx, qword [rbx + 0x30]
mov qword [rcx + rdx*8], r12
inc word [rbx + 0x2c]
or dword [rbx + 0x28], 0x8000
mov rcx, qword [r13 + 0x10]
movzx edx, word [rcx + rbp*2]
sub dx, word [rcx + rbp*2 + 2]
mov rcx, r14
mov rbp, qword [rsp + 0x40]
test rsi, rsi
lea r9d, [rdx + 0xa]
cmove r9w, dx
mov rdx, rbp
sub word [rbx + 0x16], r9w
add r9w, 5
add r9w, word [rsp + 0x20]
call fcn.1400b96e0
movzx eax, word [rsp + 0x22]
movzx r9d, word [rsp + 0x24]
movzx r10d, word [rsp + 0x28]
mov r11d, dword [rsp + 0x30]
mov word [rbx + 0x16], ax
movzx eax, word [rsp + 0x26]
mov word [rbx + 0x1a], ax
mov word [rbx + 0x18], r9w
jmp 0x1400b998f
mov rbp, qword [rsp + 0x40]
mov qword [rsp + 0x60], rdi
mov ecx, 0x80
nop dword [rax]
test rsi, rsi
je 0x1400b9de8
movzx r14d, word [rsi + 0x1a]
cmp r14w, cx
jne 0x1400b99d7
test rdi, rdi
js 0x1400b9db7
mov rax, qword [rbp + 0x20]
lea rcx, [rdi + rdi*2]
add rcx, rcx
mov rax, qword [rax + 8]
cmp byte [rax + rcx*8 + 0x28], 0
jne 0x1400b9db7
mov rax, qword [rbx + 8]
test qword [rsi + 0x28], rax
jne 0x1400b9db7
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
movzx r8d, r10w
inc r8d
mov dword [rbx + 0x28], r11d
mov word [rbx + 0x18], r9w
mov word [rbx + 0x2c], r10w
call fcn.1400b8fd0
test eax, eax
jne 0x1400b9de8
movzx ecx, word [rbx + 0x2c]
mov rax, qword [rbx + 0x30]
mov qword [rax + rcx*8], rsi
movzx edx, word [rbx + 0x2c]
mov rcx, qword [rsp + 0x50]
inc dx
mov rax, qword [rbx + 8]
mov r8d, dword [rbx + 0x28]
not rax
mov word [rbx + 0x2c], dx
or rcx, qword [rsi + 0x28]
and rcx, rax
mov qword [rbx], rcx
test r14b, 1
je 0x1400b9a98
mov rax, qword [rsi]
or r8d, 4
mov dword [rbx + 0x28], r8d
test dword [rax + 4], 0x800
je 0x1400b9a6c
mov rcx, qword [rsp + 0x38]
mov ebp, 0x2e
xor r10d, r10d
jmp 0x1400b9b5d
mov rcx, qword [rax + 0x20]
xor edx, edx
mov ebp, edx
test rcx, rcx
je 0x1400b9a8b
movsxd rax, dword [rcx]
test eax, eax
je 0x1400b9a8b
mov rcx, rax
call fcn.140049810
movzx ebp, ax
mov rcx, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x1400b9b5d
test r14b, 2
je 0x1400b9af7
mov edx, r8d
or r8d, 1
mov dword [rbx + 0x28], r8d
test rdi, rdi
js 0x1400b9adf
cmp word [rsp + 0x20], 0
jne 0x1400b9aed
movzx ecx, word [r13 + 0x5e]
movzx eax, word [rbx + 0x18]
dec ecx
cmp eax, ecx
jne 0x1400b9aed
cmp byte [r13 + 0x62], 0
jne 0x1400b9adf
mov rcx, qword [rsp + 0x38]
bts r8d, 0x10
mov dword [rbx + 0x28], r8d
xor r10d, r10d
jmp 0x1400b9b59
mov r8d, edx
or r8d, 0x1001
mov dword [rbx + 0x28], r8d
mov rcx, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x1400b9b59
test r14b, r14b
jns 0x1400b9b0e
mov rcx, qword [rsp + 0x38]
or r8d, 8
mov dword [rbx + 0x28], r8d
xor r10d, r10d
jmp 0x1400b9b59
test r14b, 0x24
je 0x1400b9b2c
or r8d, 0x22
mov r12, rsi
xor r10d, r10d
mov dword [rbx + 0x28], r8d
mov ecx, r10d
mov qword [rsp + 0x38], rcx
jmp 0x1400b9b59
or r8d, 0x12
xor r10d, r10d
mov dword [rbx + 0x28], r8d
mov rcx, rsi
mov qword [rsp + 0x38], rcx
test r8b, 0x20
je 0x1400b9b56
mov rax, qword [rbx + 0x30]
movzx ecx, dx
mov r12, qword [rax + rcx*8 - 0x10]
mov rcx, rsi
jmp 0x1400b9b59
mov r12, r10
movzx ebp, r10w
test r8b, 2
je 0x1400b9be1
movsx edx, word [rbx + 0x16]
mov r9d, edx
test r12, r12
je 0x1400b9b83
movzx eax, word [r12 + 0x18]
test ax, ax
jg 0x1400b9b7f
add dx, ax
jmp 0x1400b9b83
add dx, 0xffec
test rcx, rcx
je 0x1400b9b9f
movzx eax, word [rcx + 0x18]
lea ecx, [rdx + rax]
sub dx, 0x14
test ax, ax
cmovle dx, cx
mov rcx, qword [rsp + 0x38]
test r12, r12
je 0x1400b9bad
test rcx, rcx
je 0x1400b9bad
sub dx, 0x14
test r12, r12
mov eax, r10d
setne al
sub r9d, eax
mov eax, r10d
test rcx, rcx
setne al
sub r9d, eax
cmp dx, 0xa
jge 0x1400b9bd0
mov edx, 0xa
movzx edi, dx
cmp edi, r9d
cmovge di, r9w
mov word [rbx + 0x16], di
jmp 0x1400b9c35
movzx ecx, word [rbx + 0x18]
inc cx
mov word [rbx + 0x18], cx
movzx eax, word [rsi + 0x18]
test ax, ax
jg 0x1400b9c07
test rdi, rdi
js 0x1400b9c07
sub ax, bp
add word [rbx + 0x16], ax
movzx edi, word [rbx + 0x16]
jmp 0x1400b9c35
mov rax, qword [r13 + 0x10]
movzx ecx, cx
movzx edx, word [rax + rcx*2]
sub dx, word [rax + rcx*2 - 2]
add dx, word [rbx + 0x16]
mov word [rbx + 0x16], dx
movzx eax, dx
movzx edi, dx
test r14b, r14b
jns 0x1400b9c35
add ax, 0xa
mov word [rbx + 0x16], ax
movzx edi, ax
mov rsi, qword [rsp + 0x40]
lea r10, [0x1401bf868]
movsx eax, word [r13 + 0x5c]
movsx r14d, word [rsp + 0x2a]
imul eax, eax, 0xf
mov rcx, qword [rsi + 0x20]
movsx r9d, word [rcx + 0x46]
cdq
idiv r9d
mov ecx, r14d
add ax, di
movsx r9d, ax
inc r9d
lea edx, [rax + 1]
cmp r14w, dx
jl 0x1400b9c9f
lea eax, [r9 + 0x31]
cmp ecx, eax
jle 0x1400b9c80
movzx edx, r14w
jmp 0x1400b9cc4
lea eax, [r9 + 0x1f]
cmp ecx, eax
jle 0x1400b9c8e
lea edx, [r14 + 1]
jmp 0x1400b9cc4
sub ecx, r9d
movsxd rax, ecx
movzx edx, byte [rax + r10]
add dx, r14w
jmp 0x1400b9cc4
lea eax, [r14 + 0x31]
cmp r9d, eax
jg 0x1400b9cc4
lea eax, [r14 + 0x1f]
cmp r9d, eax
jle 0x1400b9cb6
inc dx
jmp 0x1400b9cc4
sub r9d, ecx
movsxd rax, r9d
movzx ecx, byte [rax + r10]
add dx, cx
test r8d, 0x140
jne 0x1400b9d32
movsx r8d, di
lea r9d, [rdi + 0x10]
add r8d, 0x10
movsx ecx, dx
cmp dx, r9w
jl 0x1400b9d07
lea eax, [r8 + 0x31]
cmp ecx, eax
jg 0x1400b9d32
lea eax, [r8 + 0x1f]
cmp ecx, eax
jle 0x1400b9cf7
inc dx
jmp 0x1400b9d32
sub ecx, r8d
movsxd rax, ecx
movzx ecx, byte [rax + r10]
add dx, cx
jmp 0x1400b9d32
lea eax, [rcx + 0x31]
cmp r8d, eax
jle 0x1400b9d15
movzx edx, r9w
jmp 0x1400b9d32
lea eax, [rcx + 0x1f]
cmp r8d, eax
jle 0x1400b9d23
lea edx, [r9 + 1]
jmp 0x1400b9d32
sub r8d, ecx
movsxd rax, r8d
movzx edx, byte [rax + r10]
add dx, r9w
mov r14, qword [rsp + 0x58]
lea eax, [rdx + rbp]
add ax, word [rsp + 0x20]
mov rdx, rbx
movzx r8d, word [rsp + 0x2c]
mov word [rbx + 0x14], ax
lea eax, [rdi + rbp]
add ax, word [rsp + 0x20]
mov word [rbx + 0x16], ax
mov rcx, qword [r14 + 8]
call fcn.1400b95c0
mov rdx, rbx
mov rcx, r14
call fcn.1400b9350
mov ecx, dword [rbx + 0x28]
mov r15d, eax
movzx eax, word [rsp + 0x22]
test cl, 2
cmove ax, di
mov word [rbx + 0x16], ax
test cl, 0x10
jne 0x1400b9da9
movzx eax, word [r13 + 0x60]
cmp word [rbx + 0x18], ax
jae 0x1400b9da9
add bp, word [rsp + 0x20]
mov r8, r13
movzx r9d, bp
mov rdx, rsi
mov rcx, r14
call fcn.1400b96e0
movzx eax, word [rsp + 0x22]
mov rdi, qword [rsp + 0x60]
mov word [rbx + 0x16], ax
lea rcx, [rsp + 0x70]
call fcn.1400b3ba0
mov rbp, qword [rsp + 0x40]
mov rsi, rax
movzx r9d, word [rsp + 0x24]
mov ecx, 0x80
movzx r10d, word [rsp + 0x28]
mov r11d, dword [rsp + 0x30]
test r15d, r15d
je 0x1400b99a0
mov rax, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x110]
mov qword [rbx], rax
movzx eax, word [rsp + 0x24]
mov word [rbx + 0x18], ax
movzx eax, word [rsp + 0x26]
mov word [rbx + 0x1a], ax
mov eax, dword [rsp + 0x30]
mov dword [rbx + 0x28], eax
movzx eax, word [rsp + 0x22]
mov word [rbx + 0x16], ax
movzx eax, word [rsp + 0x28]
mov word [rbx + 0x2c], ax
mov eax, r15d
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.14014fd10
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rbp
pop rbx
ret