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

Disassembly:
push rbx
push rbp
push rsi
sub rsp, 0x120
mov rax, qword [0x1400e3008]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rax, qword [rcx]
mov rbp, rcx
mov qword [rsp + 0x70], rcx
mov r10, rdx
mov word [rsp + 0x34], r9w
mov qword [rsp + 0x38], r8
mov rax, qword [rax]
mov rbx, qword [rbp + 0x18]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x68], rdx
mov rcx, qword [rax]
xor eax, eax
mov qword [rsp + 0x78], rcx
mov esi, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
cmp byte [rcx + 0x55], al
je 0x14009145f
mov eax, 7
jmp 0x140091bca
movzx ecx, word [rbx + 0x1a]
mov edx, 0x18
mov eax, dword [rbx + 0x28]
test al, 0x20
movzx r9d, word [rbx + 0x2c]
mov word [rsp + 0x54], cx
movzx ecx, word [rbx + 0x1c]
mov word [rsp + 0x56], cx
movzx ecx, word [rbx + 0x2e]
mov word [rsp + 0x5a], cx
mov rcx, qword [rbx]
mov qword [rsp + 0x88], rcx
movzx ecx, word [rbx + 0x16]
mov dword [rsp + 0x64], eax
mov eax, 0x1bf
cmove edx, eax
mov word [rsp + 0x50], cx
movzx eax, word [rbx + 0x18]
mov ecx, edx
and ecx, 0xffffffc3
mov word [rsp + 0x32], ax
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x28], r8
mov word [rsp + 0x58], r9w
mov r9d, eax
mov eax, dword [r8 + 0x64]
mov r8d, dword [r10 + 0x48]
and al, 4
mov qword [rsp + 0x118], rdi
cmove ecx, edx
mov rdx, qword [rbp + 8]
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0x90]
call fcn.14008f290
mov r8, qword [rsp + 0x38]
xor edx, edx
mov rdi, rax
mov word [rbx + 0x12], dx
mov rax, qword [r8 + 0x10]
movzx eax, word [rax]
mov word [rsp + 0x5c], ax
cmp ax, 0xa
jg 0x140091526
mov word [rsp + 0x52], dx
mov r10d, 0x100
mov r11d, 0x180
jmp 0x140091552
movsx rcx, ax
call fcn.140016650
sub ax, 0x21
mov r10d, 0x100
mov word [rsp + 0x52], ax
xor edx, edx
mov r11d, 0x180
jmp 0x140091552
xor edx, edx
test rdi, rdi
je 0x140091aaa
movzx ecx, word [rdi + 0x14]
mov ebp, edx
mov word [rsp + 0x30], cx
cmp cx, r10w
jne 0x1400915b5
movzx r9d, word [rsp + 0x32]
mov rax, qword [r8 + 8]
mov ecx, r9d
movsx rdx, word [rax + r9*2]
test edx, edx
js 0x1400915a5
mov rax, qword [r8 + 0x18]
mov rcx, rdx
shl rcx, 5
mov rax, qword [rax + 8]
movzx ecx, byte [rax + rcx + 0x18]
test ecx, ecx
jne 0x140091a7a
movzx ecx, word [rsp + 0x30]
jmp 0x1400915bb
cmp edx, 0xffffffff
je 0x140091a7a
movzx ecx, word [rsp + 0x30]
jmp 0x1400915bb
movzx r9d, word [rsp + 0x32]
mov rax, qword [rbx + 8]
test qword [rdi + 0x30], rax
jne 0x140091a7a
test word [rdi + 0x12], r10w
je 0x1400915da
cmp cx, 0x10
je 0x140091a7a
mov rax, qword [rsp + 0x68]
test byte [rax + 0x3c], 8
je 0x1400915f8
mov rax, qword [rdi]
test byte [rax + 4], 1
jne 0x1400915f8
test r11w, cx
jne 0x140091a7a
cmp byte [r8 + 0x62], 0
je 0x140091619
movzx eax, word [r8 + 0x5e]
dec eax
movzx ecx, r9w
cmp ecx, eax
jne 0x140091619
mov rax, qword [rsp + 0x70]
or dword [rax + 0x28], 2
jmp 0x140091622
mov rax, qword [rsp + 0x70]
or dword [rax + 0x28], 1
mov eax, dword [rsp + 0x64]
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
mov dword [rbx + 0x28], eax
movzx eax, word [rsp + 0x54]
mov word [rbx + 0x1a], ax
movzx eax, word [rsp + 0x56]
mov word [rbx + 0x1c], ax
movzx eax, word [rsp + 0x58]
mov word [rbx + 0x18], r9w
mov word [rbx + 0x2c], ax
lea r8d, [rax + 1]
call fcn.140090930
test eax, eax
jne 0x140091aa5
movzx ecx, word [rbx + 0x2c]
mov rax, qword [rbx + 0x38]
movzx r9d, word [rsp + 0x30]
mov qword [rax + rcx*8], rdi
inc word [rbx + 0x2c]
mov rcx, qword [rsp + 0x88]
or rcx, qword [rdi + 0x30]
mov rax, qword [rbx + 8]
not rax
and rcx, rax
mov qword [rbx], rcx
test r9b, 1
je 0x140091763
mov r8, qword [rdi]
or dword [rbx + 0x28], 4
test dword [r8 + 4], 0x800
je 0x140091749
movzx eax, word [rbx + 0x2c]
mov ebp, 0x2e
lea ecx, [rax - 1]
test ecx, ecx
jle 0x1400916ef
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, ecx
nop dword [rax]
mov rcx, qword [rax]
test rcx, rcx
je 0x1400916df
cmp qword [rcx], r8
cmove ebp, r9d
add rax, 8
sub rdx, 1
jne 0x1400916d0
movzx r9d, word [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov r10d, dword [rbx + 0x28]
test r10b, 2
je 0x14009194b
movsx r8d, word [rbx + 0x16]
movzx edx, r8w
test rsi, rsi
je 0x14009172b
movzx eax, word [rsi + 0x10]
lea edx, [rax + r8]
test ax, ax
jle 0x14009172b
lea edx, [r8 - 0x14]
test rcx, rcx
je 0x1400918fe
movzx eax, word [rcx + 0x10]
test ax, ax
jg 0x1400918fa
add dx, ax
jmp 0x1400918fe
mov rax, qword [r8 + 0x20]
test rax, rax
je 0x1400916ef
movsxd rcx, dword [rax]
test ecx, ecx
je 0x1400916ef
call fcn.140016650
movsx ebp, ax
jmp 0x1400916ef
test r9b, 0x82
je 0x1400917cf
movzx ecx, word [rsp + 0x32]
mov r11, qword [rsp + 0x38]
mov rax, qword [r11 + 8]
movsx edx, word [rax + rcx*2]
or dword [rbx + 0x28], 1
mov ecx, dword [rbx + 0x28]
cmp edx, 0xffffffff
je 0x1400917ac
test edx, edx
jle 0x1400916f4
cmp word [rsp + 0x34], 0
jne 0x1400916f4
movzx eax, word [r11 + 0x5e]
dec eax
cmp dword [rsp + 0x60], eax
jne 0x1400916f4
test edx, edx
js 0x1400917c3
test byte [r11 + 0x64], 8
jne 0x1400917c3
bts ecx, 0x10
mov dword [rbx + 0x28], ecx
jmp 0x1400916f4
bts ecx, 0xc
mov dword [rbx + 0x28], ecx
jmp 0x1400916f4
mov eax, 0x100
test ax, r9w
je 0x1400917e3
or dword [rbx + 0x28], 8
jmp 0x1400916ef
mov r8, qword [rsp + 0x38]
test r9b, 0x24
mov r9d, dword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x20], rdi
je 0x140091891
or dword [rbx + 0x28], 0x22
mov edx, dword [rax + 0x48]
call fcn.140091190
mov word [rbx + 0x1a], ax
xor eax, eax
mov ecx, eax
mov qword [rsp + 0x40], rax
mov eax, 0x100
mov qword [rsp + 0x48], rdi
test word [rdi + 0x12], ax
je 0x1400918e7
movzx r8d, word [rbx + 0x2c]
lea rax, [rdi + 0x40]
mov rcx, qword [rsp + 0x78]
inc r8d
mov rdx, rbx
mov qword [rsp + 0x40], rax
call fcn.140090930
test eax, eax
jne 0x140091aa5
movzx ecx, word [rbx + 0x2c]
mov rsi, rdi
mov rax, qword [rbx + 0x38]
mov r9, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov qword [rax + rcx*8], r9
mov eax, 1
inc word [rbx + 0x2c]
or dword [rbx + 0x28], 0x10
movzx r9d, word [rsp + 0x30]
mov word [rbx + 0x1c], ax
jmp 0x1400916f9
or dword [rbx + 0x28], 0x12
mov edx, dword [rax + 0x48]
call fcn.140091190
test byte [rbx + 0x28], 0x20
mov rcx, rdi
movzx r9d, word [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov qword [rsp + 0x40], rcx
mov word [rbx + 0x1c], ax
je 0x1400918d9
movzx eax, word [rbx + 0x2c]
sub eax, 2
movsxd rcx, eax
mov rax, qword [rbx + 0x38]
mov rsi, qword [rax + rcx*8]
mov rcx, rdi
mov qword [rsp + 0x48], rsi
jmp 0x1400916fe
xor eax, eax
mov esi, eax
mov qword [rsp + 0x48], rax
jmp 0x1400916fe
movzx r9d, word [rsp + 0x30]
mov rsi, rdi
mov r11, qword [rsp + 0x38]
jmp 0x1400916fe
sub dx, 0x14
test rsi, rsi
je 0x14009191a
cmp word [rsi + 0x10], 0
jle 0x14009191a
test rcx, rcx
je 0x14009191a
cmp word [rcx + 0x10], 0
jle 0x14009191a
sub dx, 0x14
mov r9, qword [rsp + 0x40]
xor eax, eax
test rsi, rsi
mov ecx, eax
setne cl
test r9, r9
setne al
add ecx, eax
sub r8d, ecx
cmp dx, 0xa
jge 0x14009193f
mov edx, 0xa
movsx eax, dx
cmp eax, r8d
cmovl r8d, eax
jmp 0x1400919a5
inc word [rbx + 0x18]
movzx edx, word [rdi + 0x10]
movzx r8d, word [rbx + 0x18]
test dx, dx
jg 0x140091976
movzx ecx, word [rsp + 0x32]
mov rax, qword [r11 + 8]
cmp word [rax + rcx*2], 0
jl 0x140091976
sub dx, bp
add word [rbx + 0x16], dx
jmp 0x1400919aa
mov rdx, qword [r11 + 0x10]
lea eax, [r8 - 1]
movsxd rcx, eax
mov eax, 0x100
movzx r8d, word [rdx + r8*2]
sub r8w, word [rdx + rcx*2]
add r8w, word [rbx + 0x16]
mov word [rbx + 0x16], r8w
test ax, r9w
je 0x1400919aa
add r8w, 0xa
mov word [rbx + 0x16], r8w
movsx eax, word [r11 + 0x5c]
mov rcx, qword [rsp + 0x68]
imul eax, eax, 0xf
mov rcx, qword [rcx + 0x20]
cdq
movsx r8d, word [rcx + 0x4a]
movzx ecx, word [rsp + 0x52]
idiv r8d
add ax, word [rbx + 0x16]
lea edx, [rax + 1]
call fcn.1400165e0
mov word [rbx + 0x14], ax
test r10d, 0x140
jne 0x1400919f6
movzx edx, word [rbx + 0x16]
movzx ecx, ax
add dx, 0x10
call fcn.1400165e0
mov word [rbx + 0x14], ax
movzx ecx, word [rsp + 0x34]
mov rdx, rbx
movzx edi, word [rbx + 0x16]
mov rsi, qword [rsp + 0x70]
movzx r8d, word [rsp + 0x5c]
lea eax, [rcx + rbp]
add word [rbx + 0x14], ax
lea eax, [rcx + rbp]
add word [rbx + 0x16], ax
mov rcx, qword [rsi + 8]
call fcn.140091010
mov rdx, rbx
mov rcx, rsi
call fcn.140090e00
mov ecx, dword [rbx + 0x28]
mov esi, eax
movzx eax, word [rsp + 0x50]
test cl, 2
cmovne di, ax
mov word [rbx + 0x16], di
test cl, 0x10
jne 0x140091a76
mov r8, qword [rsp + 0x38]
movzx ecx, word [r8 + 0x60]
cmp word [rbx + 0x18], cx
jae 0x140091a76
add bp, word [rsp + 0x34]
mov rdx, qword [rsp + 0x68]
movzx r9d, bp
mov rcx, qword [rsp + 0x70]
call fcn.1400913f0
movzx eax, word [rsp + 0x50]
mov word [rbx + 0x16], ax
lea rcx, [rsp + 0x90]
call fcn.14008ef50
mov r8, qword [rsp + 0x38]
mov rdi, rax
mov r10d, 0x100
mov r11d, 0x180
test esi, esi
je 0x140091550
jmp 0x140091aaa
mov r8, qword [rsp + 0x38]
mov rax, qword [rsp + 0x88]
movzx edi, word [rsp + 0x32]
movzx ecx, word [rsp + 0x5a]
movzx ebp, word [rsp + 0x50]
movzx r9d, word [rsp + 0x58]
mov qword [rbx], rax
movzx eax, word [rsp + 0x54]
mov word [rbx + 0x1a], ax
movzx eax, word [rsp + 0x56]
mov word [rbx + 0x1c], ax
mov eax, dword [rsp + 0x64]
mov dword [rbx + 0x28], eax
mov word [rbx + 0x18], di
mov word [rbx + 0x2e], cx
mov word [rbx + 0x16], bp
mov word [rbx + 0x2c], r9w
cmp di, cx
jne 0x140091bc0
movzx ecx, word [r8 + 0x5e]
movzx eax, di
inc eax
cmp eax, ecx
jae 0x140091bc0
test byte [r8 + 0x64], 0x40
jne 0x140091bc0
mov rax, qword [r8 + 0x10]
movzx ecx, di
cmp word [rax + rcx*2 + 2], 0x2a
jl 0x140091bc0
mov rcx, qword [rsp + 0x78]
mov rdx, rbx
movzx r8d, r9w
inc r8d
call fcn.140090930
mov esi, eax
test eax, eax
jne 0x140091bc0
inc word [rbx + 0x18]
inc word [rbx + 0x2e]
movzx ecx, word [rbx + 0x2c]
mov rax, qword [rbx + 0x38]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x68]
movzx r9d, di
mov qword [rax + rcx*8], 0
inc word [rbx + 0x2c]
or dword [rbx + 0x28], 0x8000
mov r10, qword [r8 + 0x10]
mov rcx, qword [rsp + 0x70]
movzx eax, di
movzx r11d, word [r10 + r9*2]
movzx r9d, word [rsp + 0x34]
sub r11w, word [r10 + rax*2 + 2]
add r9w, 5
sub word [rbx + 0x16], r11w
add r9w, r11w
call fcn.1400913f0
movzx ecx, word [rsp + 0x5a]
mov eax, dword [rsp + 0x64]
mov word [rbx + 0x2e], cx
mov word [rbx + 0x16], bp
mov word [rbx + 0x18], di
mov dword [rbx + 0x28], eax
mov rdi, qword [rsp + 0x118]
mov eax, esi
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400a02d0
add rsp, 0x120
pop rsi
pop rbp
pop rbx
ret