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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x128
mov rax, qword [0x140157100]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov rax, qword [rcx]
mov r10, rcx
movzx r13d, r9w
mov word [rsp + 0x46], r9w
xor r9d, r9d
mov qword [rsp + 0x60], rcx
mov rsi, r8
mov qword [rsp + 0x58], rdx
mov rax, qword [rax]
mov r8, rdx
mov rbx, qword [r10 + 0x10]
mov ebp, r9d
mov qword [rsp + 0x80], rax
mov r15d, r9d
mov dword [rsp + 0x4c], r9d
mov r12d, r9d
mov rcx, qword [rax]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x98], rbx
cmp dword [rax + 0x30], r9d
je 0x1400a813c
mov eax, dword [rax + 0x18]
jmp 0x1400a8b2b
mov eax, dword [rbx + 0x38]
mov edi, 0x100
mov dword [rsp + 0x50], eax
mov r11d, 2
and al, 0x20
neg al
sbb ecx, ecx
and ecx, 0xfffffe59
add ecx, 0x1bf
test dword [rsi + 0x64], 0x104
je 0x1400a8188
mov edx, ecx
and edx, 0xffffffc3
test byte [rsi + 0x64], 4
cmove edx, ecx
mov ecx, edx
test dword [rsi + 0x64], edi
je 0x1400a8188
test byte [r8 + 0x40], r11b
jne 0x1400a8188
and ecx, 0xffffff7c
movzx eax, word [rbx + 0x1a]
movzx edx, word [rbx + 0x3c]
movzx r14d, word [rbx + 0x18]
mov r8d, dword [r8 + 0x44]
mov r9d, r14d
mov word [rsp + 0x3a], ax
movzx eax, word [rbx + 0x1c]
mov word [rsp + 0x3c], ax
movzx eax, word [rbx + 0x3e]
mov word [rsp + 0x4a], ax
mov rax, qword [rbx]
mov qword [rsp + 0x88], rax
movzx eax, word [rbx + 0x16]
mov word [rsp + 0x3e], dx
mov rdx, qword [r10 + 8]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0xa0]
mov word [rsp + 0x36], ax
mov word [rsp + 0x44], r14w
call fcn.1400a62e4
xor r9d, r9d
mov qword [rsp + 0x70], rax
mov word [rbx + 0x12], r9w
mov rdi, rax
mov rcx, qword [rsi + 0x10]
movsx rax, word [rcx]
lea ecx, [r9 + 0xa]
mov word [rsp + 0x48], ax
cmp ax, cx
jg 0x1400a821a
mov word [rsp + 0x34], r9w
jmp 0x1400a822b
mov rcx, rax
call fcn.14003cf40
sub ax, 0x21
mov word [rsp + 0x34], ax
mov edx, 3
lea r8d, [rdx + 0xd]
lea r10d, [rdx - 2]
test rdi, rdi
je 0x1400a8a06
movzx r11d, word [rdi + 0x14]
mov ecx, 0x100
mov word [rsp + 0x38], r11w
mov dword [rsp + 0x30], r9d
cmp r11w, cx
je 0x1400a8262
test byte [rdi + 0x12], 0x80
je 0x1400a82aa
mov rax, qword [rsi + 8]
movzx ecx, r14w
movsx r8, word [rax + rcx*2]
test r8d, r8d
js 0x1400a8295
mov rdx, qword [rsi + 0x18]
lea rcx, [r8 + r8*2]
mov rax, qword [rdx + 8]
test dword [rax + rcx*8 + 8], 0xf
jne 0x1400a89da
mov edx, 3
jmp 0x1400a829f
cmp r8d, 0xffffffff
je 0x1400a89da
mov r8d, 0x10
mov ecx, 0x100
mov rax, qword [rdi + 0x28]
test qword [rbx + 8], rax
jne 0x1400a89da
test word [rdi + 0x12], cx
je 0x1400a82c8
cmp r11w, r8w
je 0x1400a89da
mov r8, qword [rsp + 0x58]
test byte [r8 + 0x3c], 0x58
je 0x1400a8304
mov rcx, qword [rdi]
test byte [rcx + 4], dl
je 0x1400a89da
mov eax, dword [r8 + 0x44]
cmp dword [rcx + 0x34], eax
jne 0x1400a89da
test byte [r8 + 0x3c], 0x18
mov edx, 2
je 0x1400a8309
test byte [rcx + 4], dl
jne 0x1400a89da
jmp 0x1400a8309
mov edx, 2
cmp byte [rsi + 0x62], r9b
je 0x1400a8328
movzx eax, word [rsi + 0x5e]
sub eax, r10d
movzx ecx, r14w
cmp ecx, eax
jne 0x1400a8328
mov rax, qword [rsp + 0x60]
or byte [rax + 0x20], dl
jmp 0x1400a8331
mov rax, qword [rsp + 0x60]
or byte [rax + 0x20], r10b
mov eax, dword [rsp + 0x50]
mov dword [rbx + 0x38], eax
movzx eax, word [rsp + 0x3a]
mov word [rbx + 0x1a], ax
movzx eax, word [rsp + 0x3c]
mov word [rbx + 0x1c], ax
movzx eax, word [rsp + 0x3e]
mov word [rbx + 0x18], r14w
mov word [rbx + 0x3c], ax
cmp ax, word [rbx + 0x40]
jb 0x1400a8389
mov rcx, qword [rsp + 0x68]
lea r8d, [r10 + rax]
mov rdx, rbx
call fcn.1400a7900
xor r9d, r9d
lea r10d, [r9 + 1]
test eax, eax
jne 0x1400a8a06
movzx r11d, word [rsp + 0x38]
mov r8, qword [rsp + 0x58]
movzx ecx, word [rbx + 0x3c]
mov rax, qword [rbx + 0x48]
mov qword [rax + rcx*8], rdi
movzx edx, word [rbx + 0x3c]
mov rcx, qword [rsp + 0x88]
add dx, r10w
mov rax, qword [rbx + 8]
mov word [rbx + 0x3c], dx
not rax
or rcx, qword [rdi + 0x28]
and rcx, rax
mov qword [rbx], rcx
test r10b, r11b
je 0x1400a84ac
mov r8, qword [rdi]
test dword [r8 + 4], 0x1000
je 0x1400a840a
movzx ecx, dx
mov r10d, 0x2e
dec ecx
mov dword [rsp + 0x30], r10d
test ecx, ecx
jle 0x1400a842b
mov rax, qword [rbx + 0x48]
mov edx, ecx
mov rcx, qword [rax]
test rcx, rcx
je 0x1400a83f9
cmp qword [rcx], r8
cmove r10d, r9d
add rax, 8
sub rdx, 1
jne 0x1400a83ea
mov dword [rsp + 0x30], r10d
jmp 0x1400a842b
mov rax, qword [r8 + 0x20]
test rax, rax
je 0x1400a8426
cmp dword [rax], r9d
je 0x1400a8426
movsxd rcx, dword [rax]
call fcn.14003cf40
movsx r10d, ax
jmp 0x1400a8403
mov r10d, dword [rsp + 0x30]
test byte [rsi + 0x64], 0x80
je 0x1400a849d
mov edx, 0xa
cmp word [rsp + 0x34], dx
jl 0x1400a849d
mov rax, qword [rsi + 0x10]
movzx ecx, r14w
movzx r9d, word [rax + rcx*2]
cmp r10w, dx
jg 0x1400a8457
xor edx, edx
movzx eax, dx
jmp 0x1400a8464
movsx rcx, r10w
call fcn.14003cf40
sub ax, 0x21
sub ax, r10w
sub ax, word [rsp + 0x34]
add ax, r9w
add ax, 0xa
jns 0x1400a849d
mov eax, 2
cmp r13w, ax
jge 0x1400a89da
mov rax, qword [rsp + 0x68]
test dword [rax + 0x60], 0x20000
jne 0x1400a89da
bts dword [rbx + 0x38], 0x14
or dword [rbx + 0x38], 4
mov edx, dword [rbx + 0x38]
xor r9d, r9d
jmp 0x1400a879d
test r11b, 0x82
je 0x1400a8539
mov rax, qword [rsi + 8]
movzx ecx, r14w
movsx r8d, word [rax + rcx*2]
mov ecx, dword [rbx + 0x38]
or ecx, r10d
mov dword [rbx + 0x38], ecx
cmp r8d, 0xffffffff
je 0x1400a8517
mov edx, ecx
test r8d, r8d
js 0x1400a8520
test r13w, r13w
jne 0x1400a8520
movzx r8d, word [rsi + 0x5e]
mov eax, r8d
movzx r9d, r14w
sub eax, r10d
cmp r9d, eax
jne 0x1400a8520
test byte [rsi + 0x64], 8
jne 0x1400a8517
cmp r8w, r10w
jne 0x1400a850f
xor edx, edx
cmp byte [rsi + 0x62], dl
je 0x1400a850f
lea eax, [rdx + 2]
cmp r11w, ax
je 0x1400a8517
mov edx, ecx
bts edx, 0x10
jmp 0x1400a851d
mov edx, ecx
bts edx, 0xc
mov dword [rbx + 0x38], edx
cmp byte [rsp + 0xc9], r10b
jbe 0x1400a8531
bts edx, 0x15
mov dword [rbx + 0x38], edx
xor r9d, r9d
jmp 0x1400a87a3
bt r11w, 8
jae 0x1400a854a
or dword [rbx + 0x38], 8
mov edx, dword [rbx + 0x38]
jmp 0x1400a8531
mov rcx, qword [rdi]
mov r10d, dword [r8 + 0x44]
mov dword [rsp + 0x54], r10d
mov rcx, qword [rcx + 0x10]
call fcn.1400691f4
movzx ecx, word [rsi + 0x60]
mov r8d, 1
movzx edx, r14w
mov r9d, r8d
sub ecx, edx
mov dword [rsp + 0x40], r8d
cmp eax, ecx
mov r15d, r8d
cmovl ecx, eax
movsxd rax, ecx
mov ecx, r8d
cmp rax, r8
jle 0x1400a86f1
lea ebp, [r8 + 0x1f]
mov r12d, edx
lea r8, [rdx*2 + 2]
mov rbx, rax
mov qword [rsp + 0x78], r8
lea r13, [rdx*8 + 8]
mov rdx, qword [rdi]
mov rax, qword [rdx + 0x10]
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + 0x18]
mov rdi, qword [rcx + rbp + 8]
test dword [rax + 4], 0x1000
mov rcx, qword [rax + 0x20]
je 0x1400a85d9
mov rax, qword [rcx + 0x20]
mov r14, qword [rax + rbp + 8]
jmp 0x1400a85de
mov r14, qword [rcx + rbp + 8]
cmp byte [rdi], 0xa7
jne 0x1400a86c9
cmp dword [rdi + 0x2c], r10d
jne 0x1400a86c9
mov rax, qword [rsi + 8]
movzx ecx, word [r8 + rax]
cmp word [rdi + 0x30], cx
jne 0x1400a86c9
mov rax, qword [rsi + 0x38]
lea rcx, [rax + r12]
mov al, byte [rax + r12]
cmp byte [rcx + r15], al
jne 0x1400a86c9
mov rcx, rdi
call fcn.140068b80
mov dl, al
mov rcx, r14
call fcn.140068ffc
movsx rcx, word [rdi + 0x30]
test cx, cx
js 0x1400a8650
mov r8, qword [rsi + 0x18]
cmp cx, word [r8 + 0x36]
jge 0x1400a8650
lea rdx, [rcx + rcx*2]
mov rcx, qword [r8 + 8]
mov r8b, byte [rcx + rdx*8 + 0xc]
jmp 0x1400a8653
mov r8b, 0x44
cmp al, r8b
jne 0x1400a86c4
mov rcx, qword [rsp + 0x80]
mov r8, r14
mov rdx, rdi
call fcn.1400690c4
test rax, rax
je 0x1400a86c4
mov rdx, qword [rsi + 0x40]
mov rcx, qword [rax]
mov rdx, qword [rdx + r13]
call fcn.14003b650
mov r9d, dword [rsp + 0x40]
mov ecx, 1
test eax, eax
jne 0x1400a86ce
mov r8, qword [rsp + 0x78]
add r9d, ecx
mov r10d, dword [rsp + 0x54]
add r8, 2
mov rdi, qword [rsp + 0x70]
add r15, rcx
add r13, 8
mov dword [rsp + 0x40], r9d
add rbp, 0x20
mov qword [rsp + 0x78], r8
cmp r15, rbx
jl 0x1400a85ad
jmp 0x1400a86ce
mov r9d, dword [rsp + 0x40]
mov ecx, 1
mov rbx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x4c]
movzx r11d, word [rsp + 0x38]
movzx r14d, word [rsp + 0x44]
movzx r13d, word [rsp + 0x46]
mov edx, dword [rbx + 0x38]
test r11b, 0x24
je 0x1400a8775
xor eax, eax
mov word [rbx + 0x1a], r9w
or edx, 0x22
mov r15d, eax
mov eax, 0x100
mov dword [rbx + 0x38], edx
mov r12, rdi
test word [rdi + 0x12], ax
je 0x1400a8767
movzx r8d, word [rbx + 0x3c]
lea r15, [rdi + 0x38]
add r8d, ecx
mov rdx, rbx
mov rcx, qword [rsp + 0x68]
call fcn.1400a7900
mov r10d, 1
test eax, eax
jne 0x1400a8a06
movzx ecx, word [rbx + 0x3c]
lea ebp, [r10 + 0xf]
mov rax, qword [rbx + 0x48]
movzx r11d, word [rsp + 0x38]
mov qword [rax + rcx*8], r15
add word [rbx + 0x3c], r10w
or dword [rbx + 0x38], ebp
mov edx, dword [rbx + 0x38]
mov word [rbx + 0x1c], r10w
jmp 0x1400a8770
mov ebp, 0x10
lea r10d, [rbp - 0xf]
xor r9d, r9d
jmp 0x1400a87a8
or edx, 0x12
mov word [rbx + 0x1c], r9w
xor r9d, r9d
mov dword [rbx + 0x38], edx
mov r15, rdi
test dl, 0x20
je 0x1400a879a
movzx ecx, word [rbx + 0x3c]
mov rax, qword [rbx + 0x48]
mov r12, qword [rax + rcx*8 - 0x10]
jmp 0x1400a879d
mov r12, r9
mov r10d, 1
mov ebp, 0x10
mov eax, 2
test al, dl
je 0x1400a8848
movsx edx, word [rbx + 0x16]
mov edi, edx
test r12, r12
je 0x1400a87dc
cmp word [r12 + 0x10], r9w
jg 0x1400a87d0
add dx, word [r12 + 0x10]
jmp 0x1400a87dc
test byte [r12 + 0x12], 0x80
jne 0x1400a87dc
add dx, 0xffec
test r15, r15
je 0x1400a87fb
movzx eax, word [r15 + 0x10]
test ax, ax
jg 0x1400a87f0
add dx, ax
jmp 0x1400a87fb
test byte [r15 + 0x12], 0x80
jne 0x1400a87fb
sub dx, 0x14
test r12, r12
je 0x1400a8818
cmp word [r12 + 0x10], r9w
jle 0x1400a8818
test r15, r15
je 0x1400a8818
cmp word [r15 + 0x10], r9w
jle 0x1400a8818
sub dx, 0x14
test r12, r12
mov eax, r9d
mov ecx, r9d
setne cl
test r15, r15
setne al
add ecx, eax
mov eax, 0xa
sub edi, ecx
cmp dx, ax
jge 0x1400a883a
mov edx, eax
movzx eax, dx
cmp eax, edi
cmovl edi, eax
mov word [rbx + 0x16], di
jmp 0x1400a88b6
movzx r8d, word [rbx + 0x18]
add r8w, r10w
mov word [rbx + 0x18], r8w
movzx edx, word [rdi + 0x10]
test dx, dx
jg 0x1400a8884
mov rax, qword [rsi + 8]
movzx ecx, r14w
cmp word [rax + rcx*2], r9w
jl 0x1400a8884
mov r11d, dword [rsp + 0x30]
sub dx, r11w
add dx, word [rbx + 0x16]
mov word [rbx + 0x16], dx
movzx edi, dx
jmp 0x1400a88bb
mov rax, qword [rsi + 0x10]
movzx ecx, r8w
movzx edx, word [rax + rcx*2]
sub dx, word [rax + rcx*2 - 2]
add dx, word [rbx + 0x16]
bt r11w, 8
mov word [rbx + 0x16], dx
movzx eax, dx
movzx edi, dx
jae 0x1400a88b6
add ax, 0xa
mov word [rbx + 0x16], ax
movzx edi, ax
mov r11d, dword [rsp + 0x30]
mov eax, dword [rsi + 0x64]
lea r10d, [rdi + rbp]
mov ecx, 3
and eax, ecx
cmp al, cl
jne 0x1400a88d3
movzx eax, r10w
jmp 0x1400a88f2
mov rcx, qword [rsp + 0x58]
movsx eax, word [rsi + 0x5c]
imul eax, eax, 0xf
mov rcx, qword [rcx + 0x20]
cdq
movsx r8d, word [rcx + 0x3c]
idiv r8d
inc ax
add ax, di
movzx ecx, word [rsp + 0x34]
movzx edx, ax
call fcn.14003ced0
test dword [rbx + 0x38], 0x4000140
jne 0x1400a8914
movzx edx, r10w
movzx ecx, ax
call fcn.14003ced0
mov rbp, qword [rsp + 0x60]
lea ecx, [rax + r11]
movzx r8d, word [rsp + 0x48]
lea eax, [rdi + r11]
add cx, r13w
add ax, r13w
mov word [rbx + 0x16], ax
mov rdx, rbx
mov word [rbx + 0x14], cx
mov rcx, qword [rbp + 8]
call fcn.1400a7ee4
mov rdx, rbx
mov rcx, rbp
call fcn.1400a7bb0
mov ecx, dword [rbx + 0x38]
mov edx, 2
test dl, cl
mov dword [rsp + 0x4c], eax
mov ebp, eax
cmovne di, word [rsp + 0x36]
lea eax, [rdx + 0xe]
mov word [rbx + 0x16], di
test al, cl
jne 0x1400a89d1
movzx ecx, word [rbx + 0x18]
cmp cx, word [rsi + 0x60]
jae 0x1400a89d1
lea r8d, [rdx + 1]
cmp cx, word [rsi + 0x5e]
jb 0x1400a898d
mov eax, dword [rsi + 0x64]
and al, r8b
cmp al, dl
je 0x1400a89d1
cmp cx, r8w
jbe 0x1400a89b7
mov rdx, qword [rsp + 0x80]
mov rax, qword [rdx]
mov ecx, dword [rax + 0x188]
test ecx, ecx
je 0x1400a89b7
mov eax, 1
mov dword [rdx + 0x18], 9
add dword [rdx + 0x30], eax
mov r9d, dword [rsp + 0x30]
mov r8, rsi
mov rdx, qword [rsp + 0x58]
add r9d, r13d
mov rcx, qword [rsp + 0x60]
call fcn.1400a80b8
movzx ecx, word [rsp + 0x36]
mov word [rbx + 0x16], cx
lea rcx, [rsp + 0xa0]
call fcn.1400a604c
xor r9d, r9d
mov qword [rsp + 0x70], rax
mov rdi, rax
lea edx, [r9 + 3]
lea r10d, [r9 + 1]
lea r8d, [r9 + 0x10]
test ebp, ebp
je 0x1400a8238
mov rax, qword [rsp + 0x88]
movzx r12d, word [rsp + 0x4a]
movzx edx, word [rsp + 0x3e]
mov r15d, dword [rsp + 0x50]
mov qword [rbx], rax
movzx eax, word [rsp + 0x3a]
mov word [rbx + 0x1a], ax
movzx eax, word [rsp + 0x3c]
mov word [rbx + 0x1c], ax
movzx eax, word [rsp + 0x36]
mov word [rbx + 0x16], ax
mov word [rbx + 0x18], r14w
mov word [rbx + 0x3e], r12w
mov dword [rbx + 0x38], r15d
mov word [rbx + 0x3c], dx
cmp r14w, r12w
jne 0x1400a8b29
movzx ecx, word [rsi + 0x5e]
movzx eax, r14w
add eax, r10d
cmp eax, ecx
jae 0x1400a8b29
cmp r14w, dx
jne 0x1400a8b29
test byte [rsi + 0x64], 0x40
jne 0x1400a8b29
test byte [rsi + 0x64], 0x80
je 0x1400a8b29
mov rcx, qword [rsp + 0x68]
test dword [rcx + 0x60], 0x4000
jne 0x1400a8b29
mov rax, qword [rsi + 0x10]
movzx edi, r14w
cmp word [rax + rdi*2 + 2], 0x2a
jl 0x1400a8b29
lea r8d, [r10 + rdx]
mov rdx, rbx
call fcn.1400a7900
xor edx, edx
mov ebp, eax
test eax, eax
jne 0x1400a8b29
movzx ecx, word [rbx + 0x3c]
lea r8d, [rax + 1]
add word [rbx + 0x18], r8w
add word [rbx + 0x3e], r8w
mov rax, qword [rbx + 0x48]
mov qword [rax + rcx*8], rdx
add word [rbx + 0x3c], r8w
mov r8, rsi
bts dword [rbx + 0x38], 0xf
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
movzx r9d, word [rax + rdi*2]
sub r9w, word [rax + rdi*2 + 2]
sub word [rbx + 0x16], r9w
add r9w, 5
add r9w, r13w
call fcn.1400a80b8
movzx eax, word [rsp + 0x36]
mov word [rbx + 0x16], ax
mov word [rbx + 0x18], r14w
mov word [rbx + 0x3e], r12w
mov dword [rbx + 0x38], r15d
mov eax, ebp
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.1400f16a0
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret