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

Disassembly:
mov rax, rsp
mov dword [rax + 0x10], edx
push rbp
push rsi
push rdi
sub rsp, 0x60
mov edi, r8d
mov rsi, rcx
test rcx, rcx
je 0x1401a8de7
cmp qword [rcx + 0x80], 0
je 0x1401a8de7
mov rbp, qword [rcx + 0x78]
test rbp, rbp
je 0x1401a8de7
mov qword [rax + 0x18], rbx
mov rcx, rbp
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
call fcn.1401ae300
xor r15d, r15d
lea r14, [rbp + 0x98]
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov ecx, edi
movups xmmword [rbp + 0x40], xmm0
or ecx, 0x801
xorps xmm1, xmm1
movups xmmword [r14], xmm1
movups xmmword [r14 + 0x10], xmm1
mov qword [r14 + 0x20], rax
mov byte [rbp + 0x82], al
mov qword [rbp + 0x68], r15
mov dword [rbp + 0x70], r15d
mov qword [rbp + 0x90], r15
mov dword [rbp + 0xc0], r15d
mov qword [rbp + 0xc8], r15
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd8], r15
mov qword [rbp + 0xe8], r15
mov dword [rbp + 0x60], r15d
mov qword [rbp + 0x50], r15
mov dword [rbp + 0xe0], r15d
mov rbx, qword [rsi + 0x90]
mov rax, qword [rbx + 8]
mov r12, qword [rax + 0x130]
mov eax, edi
and eax, 0x400
cmove ecx, edi
test cl, 1
je 0x1401a85c0
and ecx, 0xfffffffb
or ecx, 0xa
mov r13d, ecx
mov eax, ecx
and r13d, 0xfffffffb
and eax, 0x400000
cmove r13d, ecx
test r12, r12
je 0x1401a8607
test r13d, 0x8002
jne 0x1401a8607
mov eax, dword [rsi + 8]
and eax, 0x2001
cmp eax, 1
jne 0x1401a8607
bt r13d, 0xb
jb 0x1401a866d
mov rax, qword [rsi + 0xd0]
mov ecx, dword [rax]
cmp dword [rax + 8], r15d
jne 0x1401a8669
test ecx, ecx
jne 0x1401a866d
mov rax, qword [rbx + 0x18]
mov r9d, r13d
mov r8d, dword [rsp + 0x88]
mov rcx, rbp
mov rdx, qword [rsi + 0x80]
mov rax, qword [rax + 0x78]
call qword [case.0x1401289aa.0]
mov dword [rsp + 0x80], eax
test eax, eax
jne 0x1401a8dad
cmp dword [rbp + 0x60], 0x6f75746c
jne 0x1401a88be
test r14, r14
je 0x1401a8b7f
movsx r9d, word [r14 + 2]
movsx rax, word [r14]
test r9d, r9d
jne 0x1401a87b4
test ax, ax
jmp 0x1401a87fd
test ecx, ecx
jne 0x1401a8607
test r13b, 0x20
jne 0x1401a871f
mov rax, qword [rbx]
test dword [rax], 0x400
je 0x1401a871f
mov rax, qword [rax + 0x30]
mov rcx, r15
test rax, rax
je 0x1401a86a5
lea rdx, str.font_format
mov rcx, rbx
call qword [case.0x1401289aa.0]
mov rcx, rax
lea rdx, str.Type_1
call fcn.14015b484
test rax, rax
je 0x1401a86c0
cmp dword [rbx + 0x38], 1
jne 0x1401a86c0
mov cl, 1
jmp 0x1401a86c2
xor cl, cl
mov eax, r13d
and eax, 0xf0000
cmp eax, 0x10000
jne 0x1401a86e0
mov rax, qword [rbx]
test dword [rax], 0x800
jne 0x1401a86e0
test cl, cl
je 0x1401a871f
test byte [rsi + 8], 8
je 0x1401a8607
cmp dword [rsi + 0x434], r15d
je 0x1401a8607
cmp word [rsi + 0x18a], r15w
jne 0x1401a8607
cmp dword [rsi + 0x3b0], r15d
jne 0x1401a8607
cmp dword [rsi + 0x3c0], r15d
jne 0x1401a8607
test byte [rsi + 8], 2
je 0x1401a876b
test r13b, 8
jne 0x1401a876b
mov rax, qword [rbx + 0x18]
mov r9d, r13d
mov r8d, dword [rsp + 0x88]
bts r9d, 0xe
mov rdx, qword [rsi + 0x80]
mov rcx, rbp
mov rax, qword [rax + 0x78]
call qword [case.0x1401289aa.0]
mov dword [rsp + 0x80], eax
test eax, eax
jne 0x1401a876b
cmp dword [rbp + 0x60], 0x62697473
je 0x1401a88be
mov rdi, qword [rsi + 0xd0]
mov rcx, r12
mov r9d, dword [rsp + 0x88]
mov dword [rsp + 0x20], r13d
mov ebx, dword [rdi + 0x18]
mov dword [rdi + 0x18], r15d
mov rax, qword [r12]
mov r8, qword [rsi + 0x80]
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x18]
mov rdx, rbp
call qword [case.0x1401289aa.0]
mov dword [rsp + 0x80], eax
mov dword [rdi + 0x18], ebx
jmp 0x1401a88be
jle 0x1401a8b7f
test ax, ax
jle 0x1401a8b7f
mov r10, rax
mov r8d, 0xffffffff
mov rax, qword [r14 + 0x18]
mov rdx, r15
movsx ecx, word [rax]
cmp ecx, r8d
jle 0x1401a8b7f
cmp ecx, r9d
jge 0x1401a8b7f
inc rdx
add rax, 2
mov r8d, ecx
cmp rdx, r10
jl 0x1401a87d3
lea eax, [r9 - 1]
cmp ecx, eax
jne 0x1401a8b7f
mov dword [rsp + 0x80], r15d
test r13b, 2
jne 0x1401a88be
mov ecx, dword [rbp + 0x38]
mov eax, r13d
mov edi, dword [rbp + 0x44]
mov ebx, ecx
mov edx, dword [rbp + 0x3c]
and ebx, 0xffffffc0
mov r8d, dword [rbp + 0x30]
mov r10d, edi
and r10d, 0xffffffc0
mov dword [rsp + 0x80], ecx
mov dword [rbp + 0x44], r10d
mov r12d, dword [rbp + 0x48]
lea ecx, [rdx + 0x3f]
mov r9d, dword [rbp + 0x34]
and ecx, 0xffffffc0
mov dword [rbp + 0x38], ebx
mov r11d, r12d
and r11d, 0xffffffc0
shr eax, 4
mov dword [rbp + 0x3c], ecx
mov dword [rbp + 0x48], r11d
and al, 1
je 0x1401a887e
lea ecx, [r12 + 0x3f]
add ecx, r9d
lea eax, [r8 + 0x3f]
and ecx, 0xffffffc0
add eax, edi
sub ecx, r11d
and eax, 0xffffffc0
sub eax, r10d
jmp 0x1401a8898
mov eax, dword [rsp + 0x80]
sub edx, r9d
add eax, 0x3f
and edx, 0xffffffc0
add eax, r8d
sub ecx, edx
and eax, 0xffffffc0
sub eax, ebx
mov dword [rbp + 0x30], eax
mov dword [rbp + 0x34], ecx
mov eax, dword [rbp + 0x40]
add eax, 0x20
mov dword [rsp + 0x80], r15d
and eax, 0xffffffc0
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x4c]
add eax, 0x20
and eax, 0xffffffc0
mov dword [rbp + 0x4c], eax
lea rdi, [rbp + 0x58]
test r13b, 0x10
je 0x1401a88d0
mov eax, dword [rbp + 0x4c]
mov ecx, r15d
jmp 0x1401a88d6
mov ecx, dword [rbp + 0x40]
mov eax, r15d
mov dword [rdi], ecx
mov dword [rbp + 0x5c], eax
bt r13d, 0xd
jb 0x1401a8917
test byte [rsi + 8], 1
je 0x1401a8917
mov rbx, qword [rsi + 0x80]
mov r8d, 0x40
mov ecx, dword [rbp + 0x50]
mov edx, dword [rbx + 0x1c]
call fcn.1401a9320
mov ecx, dword [rbp + 0x54]
mov r8d, 0x40
mov dword [rbp + 0x50], eax
mov edx, dword [rbx + 0x20]
call fcn.1401a9320
mov dword [rbp + 0x54], eax
bt r13d, 0xb
jb 0x1401a8af3
mov r12, qword [rsi + 0xd0]
mov edx, dword [r12 + 0x18]
test edx, edx
je 0x1401a8af3
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 0x90]
mov r9, qword [rcx + 8]
mov r10, qword [r9 + 0x128]
test r10, r10
je 0x1401a895a
mov eax, dword [rbp + 0x60]
cmp dword [r10 + 0x20], eax
je 0x1401a898d
mov rax, qword [r9 + 0x118]
mov r10, r15
mov r8d, dword [rbp + 0x60]
test rax, rax
je 0x1401a8988
nop dword [rax]
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x20], r8d
je 0x1401a8985
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401a8970
jmp 0x1401a8988
mov r10, rcx
test r10, r10
je 0x1401a89b5
mov rax, qword [r10 + 0x18]
lea r9, [r12 + 0x10]
mov r8, r12
mov rdx, rbp
mov rcx, r10
mov rax, qword [rax + 0x48]
call qword [case.0x1401289aa.0]
mov dword [rsp + 0x80], eax
jmp 0x1401a8aac
cmp r8d, 0x6f75746c
jne 0x1401a8aac
mov eax, edx
test dl, 1
je 0x1401a8a6a
test r14, r14
je 0x1401a8a6a
mov r14, qword [r14 + 8]
test r14, r14
je 0x1401a8a63
movsx rax, word [rbp + 0x9a]
lea rcx, [r14 + rax*8]
mov eax, edx
mov qword [rsp + 0x98], rcx
cmp r14, rcx
jae 0x1401a8a63
nop
test r14, r14
je 0x1401a8a51
mov edx, dword [r12 + 8]
mov ecx, dword [r14]
call fcn.1401a9530
mov edx, dword [r12 + 0xc]
mov esi, eax
mov ecx, dword [r14 + 4]
call fcn.1401a9530
mov edx, dword [r12 + 4]
add esi, eax
mov ecx, dword [r14 + 4]
call fcn.1401a9530
mov edx, dword [r12]
mov ebx, eax
mov ecx, dword [r14]
call fcn.1401a9530
mov rcx, qword [rsp + 0x98]
add ebx, eax
mov dword [r14], ebx
mov dword [r14 + 4], esi
add r14, 8
cmp r14, rcx
jb 0x1401a8a00
mov eax, dword [r12 + 0x18]
lea rdi, [rbp + 0x58]
lea r14, [rbp + 0x98]
test al, 2
je 0x1401a8aac
mov r9d, dword [r12 + 0x14]
mov r10d, dword [r12 + 0x10]
test r14, r14
je 0x1401a8aac
movzx r8d, r15w
mov rdx, qword [r14 + 8]
cmp r15w, word [r14 + 2]
jge 0x1401a8aac
nop dword [rax]
add dword [rdx], r10d
inc r8w
add dword [rdx + 4], r9d
lea rdx, [rdx + 8]
movsx eax, word [r14 + 2]
movzx ecx, r8w
cmp ecx, eax
jl 0x1401a8a90
test rdi, rdi
je 0x1401a8af3
mov ebx, dword [rdi + 4]
mov edi, dword [rdi]
mov ecx, edi
mov edx, dword [r12 + 8]
call fcn.1401a9530
mov edx, dword [r12 + 0xc]
mov ecx, ebx
mov esi, eax
call fcn.1401a9530
mov edx, dword [r12 + 4]
mov ecx, ebx
add esi, eax
call fcn.1401a9530
mov edx, dword [r12]
mov ecx, edi
mov ebx, eax
call fcn.1401a9530
add ebx, eax
mov dword [rbp + 0x5c], esi
mov dword [rbp + 0x58], ebx
mov eax, dword [rsp + 0x88]
mov dword [rbp + 0x18], eax
mov rax, qword [rbp + 0xf0]
mov dword [rax + 0x30], r13d
mov eax, dword [rsp + 0x80]
test eax, eax
jne 0x1401a8dad
test r13b, 1
jne 0x1401a8dad
mov ecx, dword [rbp + 0x60]
cmp ecx, 0x62697473
je 0x1401a8dad
cmp ecx, 0x636f6d70
je 0x1401a8dad
mov r10d, r13d
lea ebx, [rax + 2]
sar r10d, 0x10
and r10d, 0xf
jne 0x1401a8b55
bt r13d, 0xc
cmovb r10d, ebx
test r13b, 4
je 0x1401a8b89
mov rax, qword [rbp + 8]
test rax, rax
je 0x1401a8b7f
mov rax, qword [rax + 0x90]
mov r8d, r10d
mov rdx, rbp
mov rcx, qword [rax + 8]
call fcn.1401ab1c0
jmp 0x1401a8dad
mov eax, 6
jmp 0x1401a8dad
cmp ecx, 0x6f75746c
jne 0x1401a8dad
test r14, r14
je 0x1401a8c0c
movsx rax, word [r14 + 2]
test ax, ax
jne 0x1401a8baf
mov r11d, r15d
mov r8d, r15d
mov r9d, r15d
jmp 0x1401a8c20
mov rdx, qword [r14 + 8]
mov r8d, dword [rdx]
lea rsi, [rdx + rax*8]
mov r9d, dword [rdx + 4]
mov r15d, r8d
add rdx, 8
mov r11d, r9d
cmp rdx, rsi
jae 0x1401a8c20
nop dword [rax]
mov eax, dword [rdx]
mov edi, eax
mov ecx, dword [rdx + 4]
cmp eax, r15d
cmovge edi, r15d
cmp eax, r8d
mov r15d, edi
cmovle eax, r8d
cmp ecx, r11d
mov r8d, eax
mov eax, ecx
cmovge eax, r11d
cmp ecx, r9d
mov r11d, eax
cmovle ecx, r9d
add rdx, 8
mov r9d, ecx
cmp rdx, rsi
jb 0x1401a8bd0
jmp 0x1401a8c20
mov r9d, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x38]
mov r11d, dword [rsp + 0x34]
mov r15d, dword [rsp + 0x30]
mov edi, r15d
mov r14d, r11d
mov esi, r8d
sar edi, 6
mov r12d, r9d
sar r14d, 6
and r15d, 0x3f
sar esi, 6
and r11d, 0x3f
sar r12d, 6
and r8d, 0x3f
mov dword [rsp + 0x30], r15d
and r9d, 0x3f
mov dword [rsp + 0x34], r11d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], r9d
sub r10d, ebx
je 0x1401a8cf7
sub r10d, 1
je 0x1401a8c7d
cmp r10d, 1
jne 0x1401a8c93
lea ebx, [r10 + 5]
lea r8d, [r10 + 3]
jmp 0x1401a8c86
mov ebx, 5
lea r8d, [rbx - 2]
mov rdx, rbp
lea rcx, [rsp + 0x30]
call fcn.1401ae8d0
mov ecx, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x30]
add ecx, 0x3f
mov r11d, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x3c]
sar ecx, 6
add r8d, 0x3f
sar r10d, 6
add ecx, esi
sar r11d, 6
add r10d, edi
add r11d, r14d
sar r8d, 6
add r8d, r12d
mov edx, r8d
sub ecx, r10d
sub edx, r11d
mov r9d, ebx
sub r9d, 1
je 0x1401a8d72
sub r9d, 4
je 0x1401a8ddc
cmp r9d, 1
jne 0x1401a8cf0
lea edx, [rdx + rdx*2]
mov eax, ecx
jmp 0x1401a8d7b
add r8d, 0x20
lea edx, [r15 + 0x1f]
mov r10d, edx
mov ecx, r8d
shr r10d, 6
mov ebx, 1
shr ecx, 6
add r10d, edi
add ecx, esi
cmp r10d, ecx
jne 0x1401a8d32
and r8d, 0x3f
and edx, 0x3f
add r8d, edx
cmp r8d, 0x3f
jae 0x1401a8d30
dec r10d
jmp 0x1401a8d32
inc ecx
lea edx, [r11 + 0x1f]
add r9d, 0x20
mov r11d, edx
mov r8d, r9d
shr r11d, 6
shr r8d, 6
add r11d, r14d
add r8d, r12d
cmp r11d, r8d
jne 0x1401a8cc7
and r9d, 0x3f
and edx, 0x3f
add r9d, edx
sub ecx, r10d
cmp r9d, 0x3f
jae 0x1401a8dd1
mov edx, r8d
sub edx, r11d
inc edx
lea eax, [rcx + 0xf]
sar eax, 3
and eax, 0xfffffffe
mov dword [rbp + 0x94], r8d
mov r8d, 0x100
mov dword [rbp + 0x90], r10d
mov dword [rbp + 0x70], eax
mov eax, dword [rsp + 0x80]
mov word [rbp + 0x80], r8w
mov byte [rbp + 0x82], bl
mov dword [rbp + 0x6c], ecx
mov dword [rbp + 0x68], edx
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
inc r8d
mov edx, r8d
sub edx, r11d
jmp 0x1401a8d72
lea ecx, [rcx + rcx*2]
lea eax, [rcx + 3]
and eax, 0xfffffffc
jmp 0x1401a8d7b
mov eax, 0x23
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret