Function at 0x140132fa0
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, 0x148
mov rax, qword [0x14017d2d8]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rax, qword [rcx]
xor r10d, r10d
mov rbx, qword [rcx + 0x10]
mov rsi, r8
mov qword [rsp + 0xb8], r8
movzx ebp, r9w
mov word [rsp + 0x32], r9w
mov r8, rdx
mov rax, qword [rax]
mov r13, rcx
mov qword [rsp + 0x80], rdx
mov r14d, r10d
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x60], rax
mov rdi, qword [rax]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x68], r10
mov qword [rsp + 0xb0], rbx
cmp byte [rdi + 0x67], r10b
je 0x14013302f
lea eax, [r10 + 7]
jmp 0x140133a8e
mov eax, dword [rbx + 0x38]
movzx r15d, word [rbx + 0x18]
mov r8d, dword [r8 + 0x44]
mov r9d, r15d
mov dword [rsp + 0x74], eax
and al, 0x20
neg al
mov qword [rsp + 0x28], rsi
movzx eax, word [rbx + 0x1a]
sbb edx, edx
mov word [rsp + 0x4a], ax
movzx eax, word [rbx + 0x1c]
and edx, 0xfffffe59
add edx, 0x1bf
mov word [rsp + 0x4c], ax
movzx eax, word [rbx + 0x3e]
mov ecx, edx
and ecx, 0xffffffc3
mov word [rsp + 0x50], ax
movzx eax, word [rbx + 0x3c]
test byte [rsi + 0x64], 4
mov word [rsp + 0x4e], ax
mov rax, qword [rbx]
cmove ecx, edx
mov rdx, qword [r13 + 8]
mov qword [rsp + 0xa8], rax
movzx eax, word [rbx + 0x16]
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0xc0]
mov word [rsp + 0x30], r15w
mov word [rsp + 0x38], ax
mov dword [rsp + 0x78], r15d
call fcn.140136a38
xor r9d, r9d
mov qword [rsp + 0xa0], rax
mov word [rbx + 0x12], r9w
mov r12, rax
mov rax, qword [rsi + 0x10]
lea ecx, [r9 + 0xa]
movsx rax, word [rax]
mov word [rsp + 0x70], ax
cmp ax, cx
jg 0x1401330ee
mov word [rsp + 0x3a], r9w
jmp 0x1401330ff
mov rcx, rax
call fcn.140104c90
sub ax, 0x21
mov word [rsp + 0x3a], ax
mov edx, 2
mov ecx, pe_nt_image_headers64
lea r8d, [rdx + 0xe]
lea r10d, [rdx - 1]
test r12, r12
je 0x140133962
movzx edi, word [r12 + 0x14]
mov eax, dword [r13 + 0x28]
mov word [rsp + 0x48], di
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x90], eax
cmp di, cx
je 0x140133142
test byte [r12 + 0x12], 0x80
je 0x14013318a
mov rax, qword [rsi + 8]
movzx ecx, r15w
movsx r8, word [rax + rcx*2]
test r8d, r8d
js 0x140133175
mov rdx, qword [rsi + 0x18]
lea rcx, [r8 + r8*2]
mov rax, qword [rdx + 8]
test dword [rax + rcx*8 + 8], 0xf
jne 0x14013390e
mov edx, 2
jmp 0x14013317f
cmp r8d, 0xffffffff
je 0x14013390e
mov ecx, pe_nt_image_headers64
mov r8d, 0x10
mov rax, qword [rbx + 8]
test qword [r12 + 0x28], rax
jne 0x14013390e
test word [r12 + 0x12], cx
je 0x1401331ab
cmp di, r8w
je 0x14013390e
mov rax, qword [rsp + 0x80]
test byte [rax + 0x3c], 0x58
je 0x1401331d3
mov rcx, qword [r12]
test byte [rcx + 4], 3
je 0x14013390e
mov eax, dword [rax + 0x44]
cmp dword [rcx + 0x34], eax
jne 0x14013390e
cmp byte [rsi + 0x62], r9b
je 0x1401331ee
movzx eax, word [rsi + 0x5e]
sub eax, r10d
movzx ecx, r15w
cmp ecx, eax
jne 0x1401331ee
or byte [r13 + 0x2c], dl
jmp 0x1401331f2
or byte [r13 + 0x2c], r10b
mov eax, dword [rsp + 0x74]
mov rdx, rbx
mov rcx, qword [rsp + 0x40]
mov dword [rbx + 0x38], eax
movzx eax, word [rsp + 0x4a]
mov word [rbx + 0x1a], ax
movzx eax, word [rsp + 0x4c]
mov word [rbx + 0x1c], ax
movzx eax, word [rsp + 0x4e]
mov word [rbx + 0x18], r15w
mov word [rbx + 0x3c], ax
lea r8d, [r10 + rax]
call fcn.140134d9c
xor r9d, r9d
test eax, eax
jne 0x140133957
movzx ecx, word [rbx + 0x3c]
lea r11d, [r9 + 1]
mov rax, qword [rbx + 0x48]
movzx r15d, di
mov qword [rax + rcx*8], r12
movzx edx, word [rbx + 0x3c]
mov rcx, qword [rsp + 0xa8]
add dx, r11w
mov rax, qword [rbx + 8]
mov word [rbx + 0x3c], dx
not rax
or rcx, qword [r12 + 0x28]
and rcx, rax
mov qword [rbx], rcx
and r15w, r11w
je 0x1401333ae
mov r8, qword [r12]
test dword [r8 + 4], 0x1000
je 0x1401332c2
movzx ecx, dx
lea r11d, [r9 + 0x2e]
dec ecx
mov dword [rsp + 0x34], r11d
test ecx, ecx
jle 0x1401332e3
mov rax, qword [rbx + 0x48]
lea r10d, [r9 + 1]
mov edx, ecx
mov rcx, qword [rax]
test rcx, rcx
je 0x1401332b2
cmp qword [rcx], r8
cmove r11d, r9d
add rax, 8
sub rdx, r10
jne 0x1401332a3
mov dword [rsp + 0x34], r11d
jmp 0x1401332e3
mov rax, qword [r8 + 0x20]
test rax, rax
je 0x1401332de
cmp dword [rax], r9d
je 0x1401332de
movsxd rcx, dword [rax]
call fcn.140104c90
movsx r11d, ax
jmp 0x1401332bb
mov r11d, dword [rsp + 0x34]
test byte [rsi + 0x64], 0x80
je 0x1401333a6
movzx edi, word [rsp + 0x3a]
mov edx, 0xa
cmp di, dx
jl 0x1401333a6
movzx r10d, word [rsp + 0x30]
mov rax, qword [rsi + 0x10]
movzx r9d, word [rax + r10*2]
cmp r11w, dx
jg 0x14013331e
xor r8d, r8d
movzx eax, r8w
jmp 0x140133330
movsx rcx, r11w
call fcn.140104c90
sub ax, 0x21
mov edx, 0xa
sub ax, r11w
sub ax, di
add ax, r9w
add ax, dx
jns 0x140133365
mov rdi, qword [rsp + 0x40]
mov eax, 2
cmp bp, ax
jge 0x14013394a
test dword [rdi + 0x60], 0x20000
jne 0x14013394a
bts dword [rbx + 0x38], 0x14
xor r9d, r9d
or dword [rbx + 0x38], 4
mov r11d, 1
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
test byte [rbx + 0x38], 2
je 0x140133587
mov r8, rcx
mov qword [rsp + 0x20], rbx
mov rcx, r14
mov r9, rax
mov rdx, r13
call fcn.140136130
jmp 0x140133823
movzx r10d, word [rsp + 0x30]
jmp 0x140133368
test dil, 0x82
je 0x140133439
mov rax, qword [rsi + 8]
mov edx, dword [rbx + 0x38]
movzx r10d, word [rsp + 0x30]
or edx, r11d
movsx r8d, word [rax + r10*2]
mov dword [rbx + 0x38], edx
cmp r8d, 0xffffffff
je 0x140133416
mov ecx, edx
test r8d, r8d
js 0x14013341f
test bp, bp
jne 0x14013341f
movzx r8d, word [rsi + 0x5e]
mov eax, r8d
sub eax, r11d
cmp r10d, eax
jne 0x14013341f
test byte [rsi + 0x64], 8
jne 0x140133416
cmp r8w, r11w
jne 0x140133410
xor r8d, r8d
cmp byte [rsi + 0x62], r8b
je 0x140133410
lea eax, [r8 + 2]
cmp di, ax
je 0x140133416
bts ecx, 0x10
jmp 0x14013341c
mov ecx, edx
bts ecx, 0xc
mov dword [rbx + 0x38], ecx
cmp byte [rsp + 0xe9], r11b
jbe 0x140133372
bts ecx, 0x15
mov dword [rbx + 0x38], ecx
jmp 0x140133372
bt di, 8
mov eax, dword [rbx + 0x38]
jae 0x140133454
movzx r10d, word [rsp + 0x30]
or eax, 8
mov dword [rbx + 0x38], eax
jmp 0x140133372
mov r9d, dword [rsp + 0x78]
mov r8, rsi
mov qword [rsp + 0x20], r12
test dil, 0x24
je 0x140133512
mov rcx, qword [rsp + 0x60]
or eax, 0x22
mov dword [rbx + 0x38], eax
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x44]
call fcn.140136894
xor r9d, r9d
mov word [rbx + 0x1a], ax
mov edx, pe_nt_image_headers64
mov eax, r9d
mov rcx, r12
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rcx
test word [r12 + 0x12], dx
je 0x140133576
movzx r8d, word [rbx + 0x3c]
lea rax, [r12 + 0x38]
mov rdi, qword [rsp + 0x40]
inc r8d
mov rcx, rdi
mov qword [rsp + 0x58], rax
mov rdx, rbx
call fcn.140134d9c
xor r9d, r9d
test eax, eax
jne 0x14013395c
movzx ecx, word [rbx + 0x3c]
lea r11d, [r9 + 1]
mov rax, qword [rbx + 0x48]
mov rdx, qword [rsp + 0x58]
movzx r10d, word [rsp + 0x30]
mov qword [rax + rcx*8], rdx
lea eax, [r9 + 0x10]
add word [rbx + 0x3c], r11w
mov rcx, r12
or dword [rbx + 0x38], eax
mov rax, rdx
mov word [rbx + 0x1c], r11w
jmp 0x14013337c
mov r14, qword [rsp + 0x60]
or eax, 0x12
mov dword [rbx + 0x38], eax
mov rcx, r14
mov rax, qword [rsp + 0x80]
mov edx, dword [rax + 0x44]
call fcn.140136894
movzx r10d, word [rsp + 0x30]
xor r9d, r9d
test byte [rbx + 0x38], 0x20
mov word [rbx + 0x1c], ax
mov rax, r12
mov qword [rsp + 0x58], rax
lea r11d, [r9 + 1]
je 0x140133569
mov rax, qword [rbx + 0x48]
movzx ecx, word [rbx + 0x3c]
mov rcx, qword [rax + rcx*8 - 0x10]
mov rax, r12
mov qword [rsp + 0x68], rcx
jmp 0x140133381
mov rcx, r9
mov qword [rsp + 0x68], rcx
jmp 0x140133381
movzx r10d, word [rsp + 0x30]
mov r11d, 1
jmp 0x14013337c
movzx eax, word [rbx + 0x18]
add ax, r11w
movzx edi, ax
mov word [rbx + 0x18], di
movzx edx, word [r12 + 0x10]
mov dword [rsp + 0x7c], edi
test dx, dx
jg 0x1401335c6
mov rax, qword [rsi + 8]
movzx ecx, r10w
cmp word [rax + rcx*2], r9w
jl 0x1401335c6
mov r15d, dword [rsp + 0x34]
sub dx, r15w
add word [rbx + 0x16], dx
jmp 0x140133828
mov dword [rsp + 0x8c], r9d
mov dword [rsp + 0x54], r9d
cmp word [rsp + 0x32], r9w
jne 0x1401337ef
cmp dword [rsi + 0x68], r9d
je 0x1401337ef
cmp edi, dword [rsi + 0x6c]
jg 0x1401337ef
test r15w, r15w
je 0x140133609
mov rax, qword [r12]
test dword [rax + 4], 0x1000
jne 0x1401337ef
mov rax, qword [rsp + 0x40]
test dword [rax + 0x60], 0x800
jne 0x1401337ef
mov rax, qword [r12]
mov ecx, 0x182
test word [rsp + 0x48], cx
je 0x14013364d
mov r8, qword [rax + 0x18]
lea r9, [rsp + 0x54]
mov rdx, r13
mov rcx, r14
call fcn.1401321ac
mov ebp, dword [rsp + 0x54]
mov ecx, eax
xor r9d, r9d
jmp 0x14013370d
mov r15, qword [rax + 0x20]
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 0x10]
movzx ecx, word [rax]
call fcn.140104e08
mov rbx, qword [rsp + 0x98]
xor r9d, r9d
mov rbp, qword [rsp + 0x60]
mov r12, rax
mov eax, dword [r13 + 0x28]
mov ecx, r9d
mov dword [rsp + 0x88], eax
lea r13, [r15 + 8]
mov r14d, r9d
mov esi, r9d
mov edi, r12d
cmp esi, dword [r15]
jge 0x1401336d2
mov r8, qword [r13]
lea r9, [rsp + 0x54]
mov rdx, rbx
mov dword [rsp + 0x54], r12d
mov rcx, rbp
mov edi, r12d
call fcn.1401321ac
add r14d, dword [rsp + 0x54]
mov ecx, eax
mov eax, dword [rsp + 0x88]
xor r9d, r9d
inc esi
mov dword [rbx + 0x28], eax
add r13, 0x20
test ecx, ecx
je 0x140133693
mov rbx, qword [rsp + 0xb0]
mov ebp, dword [rsp + 0x8c]
test ecx, ecx
jne 0x1401336f1
mov eax, r14d
mov ebp, edi
cmp rax, r12
cmovle ebp, r14d
mov rsi, qword [rsp + 0xb8]
mov edi, dword [rsp + 0x7c]
mov r12, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x98]
cmp ecx, 0xc
mov r14d, r9d
cmovne r14d, ecx
test r14d, r14d
jne 0x140133952
test ebp, ebp
je 0x1401337ef
mov eax, ebp
lea r8d, [r14 + 0x28]
movzx ecx, r8w
cmp rax, 8
jae 0x140133753
cmp rax, 2
jae 0x140133744
movzx ecx, r9w
jmp 0x140133790
add cx, 0xfff6
add rax, rax
cmp rax, 8
jb 0x140133744
jmp 0x14013377e
mov edx, 0xff
jmp 0x140133762
add cx, r8w
shr rax, 4
cmp rax, rdx
ja 0x14013375a
cmp rax, 0xf
jbe 0x14013377e
mov edx, 0xa
add cx, dx
shr rax, 1
cmp rax, 0xf
ja 0x140133772
and eax, 7
lea rdx, [0x140178950]
sub cx, 0xa
add cx, word [rdx + rax*2]
mov eax, 1
mov word [rbx + 0x16], cx
cmp di, ax
jne 0x1401337cc
mov rax, qword [rsi + 0x10]
movsx edx, cx
add edx, 0xa
movsx ecx, word [rax]
cmp edx, ecx
jle 0x1401337cc
mov eax, 0x4000
or word [r12 + 0x12], ax
mov eax, 0x2000
test word [r12 + 0x12], ax
je 0x1401337cc
or byte [r13 + 0x2d], 4
movzx eax, word [rbx + 0x16]
cmp ax, word [rsp + 0x38]
mov r15d, dword [rsp + 0x34]
cmovg ax, word [rsp + 0x38]
movzx ebp, word [rsp + 0x32]
sub ax, r15w
mov word [rbx + 0x16], ax
jmp 0x140133828
mov rax, qword [rsi + 0x10]
movzx ebp, word [rsp + 0x32]
movzx ecx, di
movzx edx, word [rax + rcx*2]
sub dx, word [rax + rcx*2 - 2]
mov ecx, pe_nt_image_headers64
add dx, word [rbx + 0x16]
movzx eax, dx
mov word [rbx + 0x16], dx
test word [rsp + 0x48], cx
je 0x140133823
add ax, 0xa
mov word [rbx + 0x16], ax
mov r15d, dword [rsp + 0x34]
movsx eax, word [rsi + 0x5c]
mov r12, qword [rsp + 0x80]
movzx edi, word [rbx + 0x16]
imul eax, eax, 0xf
mov rcx, qword [r12 + 0x20]
cdq
movsx r8d, word [rcx + 0x3c]
movzx ecx, word [rsp + 0x3a]
idiv r8d
lea edx, [rdi + rax]
inc dx
call fcn.140104cf0
test dword [rbx + 0x38], 0x140
jne 0x140133871
mov edx, 0x10
movzx ecx, ax
add edx, edi
call fcn.140104cf0
movzx r8d, word [rsp + 0x70]
add ax, r15w
add ax, bp
mov rdx, rbx
mov word [rbx + 0x14], ax
lea eax, [r15 + rdi]
add ax, bp
mov word [rbx + 0x16], ax
mov rcx, qword [r13 + 8]
call fcn.140134be8
mov rdx, rbx
mov rcx, r13
call fcn.140134a10
mov edx, dword [rbx + 0x38]
mov r8d, 2
movzx ecx, word [rsp + 0x38]
test r8b, dl
mov r14d, eax
cmove cx, di
lea eax, [r8 + 0xe]
mov word [rbx + 0x16], cx
test al, dl
jne 0x1401338f4
movzx ecx, word [rbx + 0x18]
cmp cx, word [rsi + 0x60]
jae 0x1401338f4
cmp cx, word [rsi + 0x5e]
jb 0x1401338e2
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, r8b
je 0x1401338f4
lea r9d, [r15 + rbp]
mov r8, rsi
mov rdx, r12
mov rcx, r13
call fcn.140132fa0
movzx ecx, word [rsp + 0x38]
mov eax, dword [rsp + 0x90]
movzx r15d, word [rsp + 0x30]
mov word [rbx + 0x16], cx
mov dword [r13 + 0x28], eax
mov rdi, qword [rsp + 0x40]
lea rcx, [rsp + 0xc0]
call fcn.140136b2c
xor r9d, r9d
mov qword [rsp + 0xa0], rax
mov r12, rax
mov ecx, pe_nt_image_headers64
lea edx, [r9 + 2]
lea r10d, [r9 + 1]
lea r8d, [r9 + 0x10]
test r14d, r14d
je 0x140133111
jmp 0x140133962
movzx r15d, word [rsp + 0x30]
jmp 0x140133913
movzx ebp, word [rsp + 0x32]
mov rdi, qword [rsp + 0x40]
mov r10d, 1
mov rax, qword [rsp + 0xa8]
movzx r15d, word [rsp + 0x30]
movzx r12d, word [rsp + 0x38]
movzx r8d, word [rsp + 0x4e]
mov ecx, dword [rsp + 0x74]
mov qword [rbx], rax
movzx eax, word [rsp + 0x4a]
mov word [rbx + 0x1a], ax
movzx eax, word [rsp + 0x4c]
mov word [rbx + 0x1c], ax
movzx eax, word [rsp + 0x50]
mov word [rbx + 0x18], r15w
mov word [rbx + 0x3e], ax
mov dword [rbx + 0x38], ecx
mov word [rbx + 0x16], r12w
mov word [rbx + 0x3c], r8w
cmp r15w, ax
jne 0x140133a8b
movzx ecx, word [rsi + 0x5e]
lea eax, [r15 + 1]
cmp eax, ecx
jae 0x140133a8b
cmp r15w, r8w
jne 0x140133a8b
test byte [rsi + 0x64], 0x40
jne 0x140133a8b
test byte [rsi + 0x64], 0x80
je 0x140133a8b
mov eax, 0x4000
test dword [rdi + 0x60], eax
jne 0x140133a8b
mov rax, qword [rsi + 0x10]
cmp word [rax + r15*2 + 2], 0x2a
jl 0x140133a8b
mov rcx, qword [rsp + 0x40]
add r8d, r10d
mov rdx, rbx
call fcn.140134d9c
xor r8d, r8d
mov r14d, eax
test eax, eax
jne 0x140133a8b
movzx ecx, word [rbx + 0x3c]
lea edx, [rax + 1]
add word [rbx + 0x18], dx
add word [rbx + 0x3e], dx
mov rax, qword [rbx + 0x48]
mov qword [rax + rcx*8], r8
mov r8, rsi
add word [rbx + 0x3c], dx
mov rcx, r13
bts dword [rbx + 0x38], 0xf
mov r9, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x80]
movzx r10d, word [r9 + r15*2]
sub r10w, word [r9 + r15*2 + 2]
sub word [rbx + 0x16], r10w
lea r9d, [r10 + rbp]
add r9w, 5
call fcn.140132fa0
movzx eax, word [rsp + 0x50]
mov word [rbx + 0x3e], ax
mov eax, dword [rsp + 0x74]
mov dword [rbx + 0x38], eax
mov word [rbx + 0x16], r12w
mov word [rbx + 0x18], r15w
mov eax, r14d
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.14013dfe0
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret