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

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x140
mov rax, qword [0x140176810]
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 + 0x60], r8
mov r11, rdx
mov qword [rsp + 0x70], rdx
mov ebp, ecx
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x58], ecx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x40], rcx
cmp byte [rax + 0x50], cl
je 0x1400b103c
lea eax, [rcx + 7]
jmp 0x1400b15be
test byte [rbx + 0x28], 0x20
mov qword [rsp + 0x138], rsi
je 0x1400b1051
mov edx, 0x18
jmp 0x1400b1067
cmp dword [r8 + 0x58], ecx
jle 0x1400b1062
test byte [rdx + 0x3c], 8
mov edx, 0xbf
je 0x1400b1067
mov edx, 0x3f
test byte [r8 + 0x64], 4
je 0x1400b1071
and edx, 0xffffffc3
movzx eax, word [rbx + 0x18]
cmp ax, word [r8 + 0x5e]
jae 0x1400b1089
movzx ecx, ax
mov rax, qword [r8 + 8]
movsx esi, word [rax + rcx*2]
jmp 0x1400b108c
or esi, 0xffffffff
mov qword [rsp + 0x28], r8
mov r8d, dword [r11 + 0x48]
mov dword [rsp + 0x20], edx
mov rdx, qword [rdi + 8]
lea rcx, [rsp + 0xa0]
mov r9d, esi
call fcn.1400ab480
mov r9, qword [rsp + 0x60]
movzx r10d, word [rbx + 0x18]
movzx r11d, word [rbx + 0x2c]
mov rdi, rax
movzx eax, word [rbx + 0x1a]
mov word [rsp + 0x48], ax
mov eax, dword [rbx + 0x28]
mov word [rsp + 0x38], r10w
mov dword [rsp + 0x5c], eax
mov rax, qword [rbx]
mov word [rsp + 0x3a], r11w
mov qword [rsp + 0x90], rax
movzx eax, word [rbx + 0x16]
mov word [rsp + 0x34], ax
xor eax, eax
mov word [rbx + 0x12], ax
mov r8, qword [r9 + 0x10]
movsx rcx, word [r8]
call fcn.1400447f0
cmp ax, 0x21
jle 0x1400b110e
sub ax, 0x21
jmp 0x1400b1110
xor eax, eax
mov dword [rsp + 0x68], eax
test rdi, rdi
jne 0x1400b11dd
cmp r10w, word [rsp + 0x48]
jne 0x1400b11dd
movzx eax, word [r9 + 0x5e]
movzx ecx, r10w
inc ecx
cmp ecx, eax
jge 0x1400b11dd
movzx ebp, r10w
cmp word [r8 + rbp*2 + 2], 0x2a
jl 0x1400b11d9
movzx r8d, word [rbx + 0x2c]
mov rcx, qword [rsp + 0x88]
mov rdx, rbx
inc r8d
call fcn.1400b0970
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x1400b1580
movzx edx, word [rbx + 0x2c]
inc word [rbx + 0x18]
inc word [rbx + 0x1a]
mov rcx, qword [rbx + 0x30]
movzx r9d, word [rsp + 0x36]
xor eax, eax
mov qword [rcx + rdx*8], rax
inc word [rbx + 0x2c]
or dword [rbx + 0x28], 0x8000
mov rax, qword [rsp + 0x60]
mov r8, rax
mov rcx, qword [rax + 0x10]
movzx edx, word [rcx + rbp*2]
sub dx, word [rcx + rbp*2 + 2]
mov rcx, qword [rsp + 0x78]
sub word [rbx + 0x16], dx
add r9w, dx
mov rdx, qword [rsp + 0x70]
call fcn.1400b0fd0
movzx eax, word [rsp + 0x34]
movzx r10d, word [rsp + 0x38]
movzx r11d, word [rsp + 0x3a]
mov word [rbx + 0x16], ax
mov ebp, dword [rsp + 0x58]
movsxd rcx, esi
mov edx, 0x80
mov qword [rsp + 0x80], rcx
nop dword [rax]
test rdi, rdi
je 0x1400b157c
movzx esi, word [rdi + 0x1a]
xor eax, eax
mov dword [rsp + 0x30], eax
cmp si, dx
jne 0x1400b1230
test rcx, rcx
js 0x1400b154b
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 0x1400b154b
mov rax, qword [rbx + 8]
test qword [rdi + 0x28], rax
jne 0x1400b154b
mov eax, dword [rsp + 0x5c]
mov rcx, qword [rsp + 0x88]
movzx r8d, r11w
inc r8d
mov rdx, rbx
mov word [rbx + 0x18], r10w
mov dword [rbx + 0x28], eax
mov word [rbx + 0x2c], r11w
call fcn.1400b0970
test eax, eax
jne 0x1400b157c
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 sil, 1
je 0x1400b12dd
mov rax, qword [rdi]
or dword [rbx + 0x28], 4
test dword [rax + 4], 0x800
je 0x1400b12ba
mov r11d, 0x2e
mov dword [rsp + 0x30], r11d
jmp 0x1400b1324
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1400b131f
movsxd rax, dword [rcx]
test eax, eax
je 0x1400b131f
mov rcx, rax
call fcn.1400447f0
movsx r11d, ax
mov dword [rsp + 0x30], r11d
jmp 0x1400b1324
test sil, 2
je 0x1400b1360
or dword [rbx + 0x28], 1
cmp qword [rsp + 0x80], 0
mov edx, dword [rbx + 0x28]
jl 0x1400b135a
cmp word [rsp + 0x36], 0
jne 0x1400b131f
mov r8, qword [rsp + 0x60]
movzx eax, word [rbx + 0x18]
movzx ecx, word [r8 + 0x5e]
dec ecx
cmp eax, ecx
jne 0x1400b131f
cmp byte [r8 + 0x62], 0
jne 0x1400b135a
bts edx, 0x10
mov dword [rbx + 0x28], edx
mov r11d, dword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
mov r10d, dword [rbx + 0x28]
test r10b, 2
je 0x1400b141f
movsx r8d, word [rbx + 0x16]
movzx edx, r8w
test r9, r9
je 0x1400b13c9
movzx edx, word [r9 + 0x18]
test dx, dx
jg 0x1400b13c5
add dx, r8w
jmp 0x1400b13c9
bts edx, 0xc
jmp 0x1400b131c
test sil, sil
jns 0x1400b136b
or dword [rbx + 0x28], 8
jmp 0x1400b131f
mov r11d, dword [rsp + 0x30]
test sil, 0x24
je 0x1400b138d
or dword [rbx + 0x28], 0x22
xor eax, eax
mov r9, rdi
mov ebp, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rdi
jmp 0x1400b132e
or dword [rbx + 0x28], 0x12
test byte [rbx + 0x28], 0x20
mov rbp, rdi
mov qword [rsp + 0x50], rdi
je 0x1400b13b6
movzx ecx, word [rbx + 0x2c]
mov rax, qword [rbx + 0x30]
mov r9, qword [rax + rcx*8 - 0x10]
mov qword [rsp + 0x40], r9
jmp 0x1400b132e
xor eax, eax
mov r9d, eax
mov qword [rsp + 0x40], rax
jmp 0x1400b132e
lea edx, [r8 - 0x14]
test rbp, rbp
je 0x1400b13e0
movzx eax, word [rbp + 0x18]
test ax, ax
jg 0x1400b13dc
add dx, ax
jmp 0x1400b13e0
sub dx, 0x14
test r9, r9
je 0x1400b13ee
test rbp, rbp
je 0x1400b13ee
sub dx, 0x14
xor eax, eax
test r9, r9
mov ecx, eax
setne cl
test rbp, rbp
setne al
add ecx, eax
sub r8d, ecx
cmp dx, 0xa
jge 0x1400b140e
mov edx, 0xa
movsx eax, dx
cmp eax, r8d
cmovl r8d, eax
mov word [rbx + 0x16], r8w
jmp 0x1400b146f
inc word [rbx + 0x18]
movzx eax, word [rdi + 0x18]
movzx ecx, word [rbx + 0x18]
test ax, ax
jg 0x1400b1445
cmp qword [rsp + 0x80], 0
jl 0x1400b1445
sub ax, r11w
add word [rbx + 0x16], ax
jmp 0x1400b146f
mov rax, qword [rsp + 0x60]
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 sil, sil
jns 0x1400b146f
add ax, 0xa
mov word [rbx + 0x16], ax
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
movsx eax, word [rsi + 0x5c]
mov rcx, qword [rcx + 0x20]
movsx r8d, word [rcx + 0x46]
movzx ecx, word [rsp + 0x68]
imul eax, eax, 0xf
cdq
idiv r8d
add ax, word [rbx + 0x16]
lea edx, [rax + 1]
call fcn.140044770
mov word [rbx + 0x14], ax
test r10d, 0x140
jne 0x1400b14bf
movzx edx, word [rbx + 0x16]
movzx ecx, ax
add dx, 0x10
call fcn.140044770
mov word [rbx + 0x14], ax
movzx ecx, word [rsp + 0x36]
movzx edi, word [rbx + 0x16]
mov rbp, qword [rsp + 0x78]
lea eax, [rcx + r11]
mov rdx, rbx
add word [rbx + 0x14], ax
lea eax, [rcx + r11]
add word [rbx + 0x16], ax
mov rcx, qword [rbp + 8]
call fcn.1400b0ee0
mov rdx, rbx
mov rcx, rbp
call fcn.1400b0d60
mov ebp, eax
mov dword [rsp + 0x58], eax
mov eax, dword [rbx + 0x28]
test al, 2
cmovne di, word [rsp + 0x34]
mov word [rbx + 0x16], di
test al, 0x10
jne 0x1400b1542
xor eax, eax
cmp qword [rsi], rax
mov ecx, eax
movzx eax, word [rsi + 0x5e]
setne cl
add ecx, eax
movzx eax, word [rbx + 0x18]
cmp eax, ecx
jge 0x1400b1542
mov r9d, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
add r9w, word [rsp + 0x36]
mov r8, rsi
call fcn.1400b0fd0
movzx eax, word [rsp + 0x34]
mov word [rbx + 0x16], ax
lea rcx, [rsp + 0xa0]
call fcn.1400ab1a0
mov rcx, qword [rsp + 0x80]
movzx r10d, word [rsp + 0x38]
movzx r11d, word [rsp + 0x3a]
mov rdi, rax
mov edx, 0x80
test ebp, ebp
je 0x1400b11f0
mov eax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x138]
mov qword [rbx], rcx
movzx ecx, word [rsp + 0x38]
mov word [rbx + 0x18], cx
movzx ecx, word [rsp + 0x48]
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 + 0x3a]
mov word [rbx + 0x2c], cx
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.1400dc400
add rsp, 0x140
pop rdi
pop rbp
pop rbx
ret