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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1b38
call fcn.14008e240
sub rsp, rax
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffc0
mov dword [rsp + 0x44], r9d
mov edi, r8d
mov rsi, rdx
mov r15, rcx
mov eax, dword [rcx + 0x264]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x520]
mov qword [rdx + 0x40], rax
mov rax, qword [rdx]
mov dword [rax], 0
mov rax, qword [rcx + 0x250]
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 0x258]
mov rcx, qword [rax + 0x30]
or rcx, qword [rax + 0x38]
setne byte [rdx + 0x30]
mov r8d, dword [rdx + 0x10]
lea rdx, [rsp + 0x74]
mov rcx, r15
call fcn.140003fc0
test al, al
jne 0x140027ce6
cmp dword [rsi + 0x10], 0xf6
movzx eax, byte [rsi + 0x30]
jge 0x140027d0f
mov dword [rsp + 0x34], edi
mov ecx, dword [rbp + 0x1b20]
test al, al
sete r12b
test ecx, ecx
sets r13b
mov rax, qword [r15 + 0x258]
mov rdi, qword [rax + 0x20]
mov eax, dword [rax + 0x14]
cmp eax, 0xe
jge 0x140027c59
lea r14, [rsi + 0x32]
mov rcx, rdi
mov rdx, r14
mov qword [rsp + 0x48], rsi
call fcn.140003d60
mov r9, qword [rsp + 0x48]
mov rbx, rax
cmp byte [r9 + 0x32], 0
mov byte [rsp + 0x38], r12b
je 0x140027930
movsx r12d, word [rbx + 6]
cmp r12d, 0x7d02
je 0x140027925
mov eax, dword [r9 + 0x10]
mov rcx, qword [r15 + 0x258]
mov ecx, dword [rcx + 0x14]
cmp r12d, 0x7c0a
jge 0x140027c2a
cmp r12d, 0xffff83f6
jle 0x140027c9d
movzx esi, word [rbx + 4]
movzx eax, byte [rbx + 3]
and al, 4
shr al, 2
mov dword [rsp + 0x40], eax
cmp byte [r9 + 0x30], 0
jne 0x140027b7e
movsx eax, word [rbx + 8]
mov dword [r9 + 0x24], eax
cmp eax, 0x7d02
je 0x140027d2a
cmp r12d, 0x7d02
je 0x140027b16
movzx edx, byte [rbx + 3]
xor ecx, ecx
cmp r12d, eax
setg cl
inc ecx
test edx, ecx
cmove r12d, eax
cmp r12d, dword [rsp + 0x44]
jge 0x1400278ae
mov ecx, dword [rsp + 0x34]
cmp r12d, ecx
cmovg ecx, r12d
mov dword [rsp + 0x34], ecx
add eax, 0x68
mov dword [rsp + 0x58], eax
and r13b, byte [rsp + 0x38]
mov rax, qword [r9 - 0x38]
mov qword [rsp + 0x90], rax
mov rax, qword [r9 - 0x78]
mov qword [rsp + 0x98], rax
mov eax, dword [r9 - 0x2c]
mov dword [rsp + 0x38], 0x5a
test eax, eax
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x60], rbx
je 0x1400273bb
cmp eax, 0x81
je 0x1400273bb
and eax, 0x7f
mov dword [rsp + 0x38], eax
movzx r14d, r13b
mov rdx, qword [rsp + 0x88]
lea rax, [rdx + 0x6ce8]
lea rcx, [rdx + 0x16ce8]
add rdx, 0xfee6e8
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rcx
lea rax, [rsp + 0x90]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rdx
mov dword [rsp + 0xd8], esi
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x114], eax
mov eax, dword [rbp + 0x1b20]
mov dword [rsp + 0x11c], eax
mov rax, qword [r15 + 0x258]
mov rdi, qword [rax + 0x30]
mov rbx, qword [rax + 0x38]
mov eax, 1
test esi, esi
jne 0x140027be3
lea rcx, [r9 + 0x40]
mov qword [rsp + 0xa0], rcx
neg r14d
mov qword [rsp + 0x80], r14
lea ecx, [rax + 7]
add eax, 0xd
or rdi, rbx
cmovne eax, ecx
mov dword [rsp + 0x110], eax
xor edi, edi
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x5c], 0
mov esi, r12d
lea rcx, [rsp + 0xb0]
xor edx, edx
call fcn.140008df0
test eax, eax
je 0x1400277ea
mov r14d, eax
mov rcx, r15
mov edx, eax
call fcn.140003970
mov r12d, esi
test al, al
je 0x140027483
mov rcx, r15
mov edx, r14d
call fcn.1400035d0
mov r11d, eax
mov r13d, r14d
and r13d, 0x7f
mov r9d, dword [r15 + r13*4]
lea r10d, [rdi + 1]
mov rbx, qword [r15 + 0x258]
cmp esi, 0xffff83f7
jl 0x1400275e6
mov rax, qword [rsp + 0xa8]
cmp dword [rbx + rax*4 + 8], 0
je 0x1400275e6
cmp r13d, dword [rsp + 0x38]
je 0x14002758a
mov eax, r11d
xor al, 1
je 0x14002758a
cmp dword [rsp + 0x58], 0xffff83f7
jl 0x14002758a
mov r12d, esi
cmp edi, 1
mov edi, r10d
jg 0x140027483
lea rax, [0x1400d2090]
mov r12d, dword [rax + r9*4]
mov eax, dword [rsp + 0x58]
add r12d, eax
mov edi, dword [rsp + 0x34]
cmp r12d, edi
jle 0x140027b8e
mov qword [rsp + 0x78], r9
mov byte [rsp + 0x33], r11b
mov dword [rsp + 0x3c], r10d
mov r8d, edi
sub r8d, eax
jge 0x140027b1e
shl r8d, 2
mov rcx, r15
mov edx, r14d
call fcn.14000f280
mov r12d, edi
mov r10d, dword [rsp + 0x3c]
mov edi, r10d
test al, al
movzx r11d, byte [rsp + 0x33]
mov r9, qword [rsp + 0x78]
je 0x140027483
cmp dword [rsp + 0x5c], 1
jg 0x140027c4f
test r9, r9
je 0x14002776c
mov rcx, r15
mov edx, r14d
mov r8d, 0xffffff81
mov edi, r10d
mov r12d, r11d
mov dword [rsp + 0x3c], esi
mov rsi, r13
mov r13, rbx
mov rbx, r15
mov r15, r9
call fcn.14000f280
mov r9, r15
mov r15, rbx
mov rbx, r13
mov r13, rsi
mov esi, dword [rsp + 0x3c]
mov r11d, r12d
mov r10d, edi
mov r12d, esi
test al, al
je 0x140027483
mov eax, r14d
sar eax, 7
movsxd r8, eax
mov ecx, dword [r15 + r8*4]
mov rdx, qword [0x142224e40]
xor rdx, qword [rbx + 0x20]
test r9, r9
jne 0x1400277b5
mov rdi, r9
imul r9, rcx, 0x2d0
lea rax, [0x142222140]
add r9, rax
mov rax, qword [r9 + r13*8]
xor rax, qword [r9 + r8*8]
xor rax, rdx
mov edx, dword [rbx + 0x14]
mov ebx, r10d
cmp edx, 0xd
jge 0x140027cc0
xor r9d, r9d
test rdi, rdi
sete r8b
setne r9b
mul qword [0x142202578]
mov rax, qword [0x142202580]
shl rdx, 5
prefetcht0 byte [rax + rdx]
mov r12d, dword [rsp + 0x44]
neg r12d
mov r10, qword [rsp + 0x48]
mov dword [r10 + 0x14], r14d
movzx eax, byte [r10 + 0x30]
test rax, rax
setne dl
imul rax, rax, 0x7e9000
add rax, qword [rsp + 0x88]
imul rcx, rcx, 0x3f480
add rcx, rax
imul rax, r9, 0x3f4800
add rcx, rax
imul rax, r13, 0xb40
add rax, rcx
add rax, 0x1c6e8
mov qword [r10 + 8], rax
and dl, r8b
movzx eax, dl
add dword [rsp + 0x5c], eax
mov eax, dword [rbp + 0x1b20]
lea edi, [rax - 1]
mov rcx, r15
mov edx, r14d
lea r8, [rsp + 0x900]
mov r9d, r11d
call fcn.140004a20
mov r9d, dword [rsp + 0x34]
neg r9d
mov dword [rsp + 0x20], edi
mov rcx, r15
mov rdx, qword [rsp + 0xa0]
mov r8d, r12d
call fcn.1400271d0
mov r13d, eax
neg r13d
mov rcx, r15
mov edx, r14d
call fcn.140003e80
mov r12d, esi
mov edi, ebx
cmp esi, r13d
jge 0x140027483
mov r12d, r13d
mov edi, ebx
cmp dword [rsp + 0x34], r13d
jge 0x140027483
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax]
mov rax, qword [rax + 0x40]
mov dword [rdx], r14d
lea rcx, [rdx + 4]
test rax, rax
je 0x140027747
mov r8d, dword [rax]
test r8d, r8d
jne 0x140027b5b
mov dword [rcx], 0
mov r12d, r13d
mov edi, ebx
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x34], r13d
cmp r13d, dword [rsp + 0x44]
jge 0x1400277f2
jmp 0x140027483
mov eax, r14d
sar eax, 7
cdqe
mov eax, dword [r15 + rax*4]
imul rax, rax, 0xb4
mov rcx, qword [rsp + 0x90]
add rcx, rax
cmp word [rcx + r13*2], 0
jns 0x14002759e
add rax, qword [rsp + 0x98]
cmp word [rax + r13*2], 0
mov r12d, esi
mov edi, r10d
js 0x140027483
jmp 0x14002759e
mov ebx, r10d
imul rax, r9, 0x2d0
mov rdi, r9
lea r10, [0x142222140]
add rax, r10
mov rax, qword [rax + r13*8]
imul r9, rcx, 0x2d0
add r9, r10
xor rax, qword [r9 + r13*8]
xor rax, qword [r9 + r8*8]
xor rax, rdx
jmp 0x140027635
mov r13d, esi
mov r14d, dword [rsp + 0x54]
mov esi, r13d
cmp r13d, 0xffff82ff
je 0x140027c82
mov r8, qword [rsp + 0x48]
mov ecx, dword [r8 + 0x10]
cmp esi, 0x7c0a
jge 0x140027c0b
mov eax, esi
cmp esi, 0xffff83f6
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov edi, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x80]
jle 0x140027c94
cmp esi, dword [rsp + 0x44]
setl dl
mov ecx, dword [r8 + 0x24]
movzx r8d, word [r11]
test r14d, r14d
jne 0x140027855
cmp r8w, r10w
je 0x14002785a
mov word [r11 + 4], r14w
cmp r8w, r10w
je 0x140027902
mov r8b, 2
sub r8b, dl
mov word [r11], r10w
and bl, 1
xor bl, 7
mov byte [r11 + 2], bl
shl dil, 2
or dil, byte [0x142202588]
or dil, r8b
mov byte [r11 + 3], dil
mov word [r11 + 6], ax
mov word [r11 + 8], cx
mov r12d, esi
mov eax, r12d
lea rsp, [rbp + 0x1ab8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [r14], 0
jne 0x140027897
mov ecx, dword [r9 + 0x10]
cmp r12d, 0x7c0a
jge 0x140027cf0
mov edx, r12d
cmp r12d, 0xffff83f6
jle 0x140027cfa
cmp word [rbx], di
je 0x140027bfc
mov word [rbx + 4], 0
mov word [rbx], di
mov byte [rbx + 2], 1
movzx ecx, byte [0x142202588]
or cl, 2
mov byte [rbx + 3], cl
mov word [rbx + 6], dx
mov word [rbx + 8], ax
jmp 0x140027897
movzx r8d, dil
lea r8d, [rbx + r8*2]
add r8d, 7
movzx r9d, byte [r11 + 2]
add r9d, 0xfffffffc
cmp r8d, r9d
jg 0x140027864
jmp 0x140027894
mov r12d, 0x7d02
jmp 0x140027305
cmp byte [r9 + 0x30], 0
jne 0x140027ba9
cmp dword [r9 - 0x2c], 0x81
je 0x140027d04
mov qword [rsp + 0x68], rdi
mov edi, dword [r15 + 0x264]
lea eax, [rdi*8 + 4]
mov edx, dword [r15 + rax*4 + 0x210]
mov rax, rdi
xor rax, 1
lea ecx, [rax*8 + 4]
sub edx, dword [r15 + rcx*4 + 0x210]
mov rcx, qword [r15 + 0x258]
lea r8d, [rdi*8 + 2]
mov r8d, dword [r15 + r8*4 + 0x210]
lea r9d, [rax*8 + 2]
sub r8d, dword [r15 + r9*4 + 0x210]
mov r9d, edx
shl r9d, 7
sub r9d, edx
mov qword [rsp + 0x60], rbx
imul ebx, r8d, 0xf5
add ebx, r9d
lea edx, [rdi*8 + 6]
mov edx, dword [r15 + rdx*4 + 0x210]
lea r8d, [rax*8 + 6]
sub edx, dword [r15 + r8*4 + 0x210]
imul edx, edx, 0xcc
mov r12d, dword [rcx + rax*4 + 8]
add ebx, dword [rcx + rdi*4 + 8]
add ebx, edx
mov esi, 0x107
sub esi, dword [rcx + 0x14]
lea r8, [rsp + 0x900]
mov rcx, r15
mov dl, 1
call fcn.140006560
mov rcx, qword [r15 + 0x250]
mov rdx, qword [r15 + 0x258]
add r12d, eax
sub ebx, r12d
mov r8d, ebx
neg r8d
cmovs r8d, ebx
mov rbx, qword [rsp + 0x60]
mov r9d, dword [rcx + rdi*4 + 0x64]
mov rdi, qword [rsp + 0x68]
add r8d, dword [rsp + 0x900]
mov ecx, r8d
imul ecx, r9d
movsxd rcx, ecx
imul r10, rcx, 0xffffffffb92143fb
shr r10, 0x20
add ecx, r10d
mov r10d, ecx
shr r10d, 0x1f
sar ecx, 9
add ecx, r10d
add ecx, r9d
imul r8d, eax
movsxd r8, r8d
imul r8, r8, 0xffffffffe0167039
mov r9, r8
shr r9, 0x3f
sar r8, 0x2c
add r8d, r9d
mov r9d, dword [rdx + 0xc]
add r9d, dword [rdx + 8]
add r8d, eax
movsxd rax, r9d
imul rax, rax, 0x30c30c31
mov rdx, rax
sar rdx, 0x23
shr rax, 0x3f
lea r9d, [rdx + rax]
add r9d, 0x221
imul r9d, r8d
add eax, edx
add eax, 0x80
imul eax, ecx
add eax, r9d
mov r9, qword [rsp + 0x48]
cdqe
imul rax, rax, 0x63e7063f
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x29
add eax, ecx
imul eax, esi
cdqe
imul rcx, rax, 0x2aaaaaab
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x25
add ecx, edx
cmp ecx, 0x7c09
mov edx, 0x7c09
cmovl edx, ecx
cmp eax, 0xffa2f881
mov eax, 0xffff83f7
cmovge eax, edx
mov dword [r9 + 0x24], eax
xor esi, esi
mov dword [rsp + 0x40], 0
mov r12d, eax
jmp 0x140027355
mov rcx, r15
mov edx, r14d
mov r8d, 1
call fcn.14000f280
test al, al
mov r10d, dword [rsp + 0x3c]
movzx r11d, byte [rsp + 0x33]
mov r9, qword [rsp + 0x78]
jne 0x14002758a
mov eax, dword [rsp + 0x58]
cmp esi, eax
cmovle esi, eax
mov r12d, esi
mov edi, r10d
jmp 0x140027483
mov dword [rdx + 4], r8d
mov ecx, dword [rax + 4]
test ecx, ecx
je 0x140027b9d
mov dword [rdx + 8], ecx
add rdx, 0xc
mov r8d, dword [rax + 8]
test r8d, r8d
jne 0x140027bc3
mov rcx, rdx
jmp 0x140027747
mov r12d, 0xffff82ff
mov eax, 0xffff82ff
jmp 0x140027372
cmp esi, r12d
cmovg r12d, esi
mov edi, r10d
jmp 0x140027483
add rdx, 8
mov rcx, rdx
jmp 0x140027747
mov r12d, 0xffff82ff
mov dword [rsp + 0x40], 0
xor esi, esi
mov eax, 0xffff82ff
jmp 0x140027372
add rax, 0xc
mov rcx, rdx
mov dword [rcx], r8d
add rcx, 4
mov r8d, dword [rax]
add rax, 4
test r8d, r8d
je 0x140027747
jmp 0x140027bca
mov rcx, r15
mov edx, esi
call fcn.14000f0f0
mov r9, qword [rsp + 0x48]
xor al, 1
movzx eax, al
jmp 0x140027447
cmp byte [rbx + 2], 4
jbe 0x1400278e4
jmp 0x140027897
add ecx, esi
mov eax, ecx
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov edi, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x80]
jmp 0x14002783b
mov edx, 0x7d00
sub edx, r12d
mov r8d, 0x77
sub r8d, ecx
sub r12d, eax
cmp edx, r8d
mov eax, 0x7c09
cmovg r12d, eax
jmp 0x140027305
mov r14d, dword [rsp + 0x54]
jmp 0x140027802
add eax, 0xfffffff2
shr eax, 3
movabs rcx, 0x5851f42d4c957f2d
imul rcx, rax
movabs rax, 0x14057b7ef767814f
add rax, rcx
xor rdi, rax
jmp 0x14002729f
mov esi, 0xffff8300
mov rax, qword [rsp + 0x48]
add esi, dword [rax + 0x10]
jmp 0x140027894
mov eax, esi
sub eax, ecx
jmp 0x14002783b
mov edx, 0x77
sub edx, ecx
add eax, r12d
add r12d, 0x7d00
cmp r12d, edx
mov r12d, 0xffff83f7
cmovle r12d, eax
jmp 0x140027305
add edx, 0xfffffff3
shr edx, 3
movabs r8, 0x5851f42d4c957f2d
imul r8, rdx
movabs rdx, 0x14057b7ef767814f
add rdx, r8
jmp 0x1400277e2
mov r12d, dword [rsp + 0x74]
jmp 0x140027897
add ecx, r12d
mov edx, ecx
jmp 0x1400278d5
mov edx, r12d
sub edx, ecx
jmp 0x1400278d5
xor eax, eax
sub eax, dword [r9 - 0x1c]
jmp 0x140027b08
xor r12d, r12d
test al, al
jne 0x140027897
mov rcx, r15
call fcn.14001def0
mov r12d, eax
jmp 0x140027897
mov rcx, r15
call fcn.14001def0
mov r9, qword [rsp + 0x48]
mov dword [r9 + 0x24], eax
jmp 0x140027334