Function at 0x1400c5120
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 0x1400c5a2e
cmp qword [rcx + 0x80], 0
je 0x1400c5a2e
mov rbp, qword [rcx + 0x78]
test rbp, rbp
je 0x1400c5a2e
mov qword [rax + 0x18], rbx
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
mov rax, qword [rbp + 0xf0]
test rax, rax
je 0x1400c51ac
test byte [rax + 8], 1
je 0x1400c51ac
mov rax, qword [rbp + 8]
mov rdx, qword [rbp + 0x78]
mov r8, qword [rax + 0x98]
test rdx, rdx
je 0x1400c5198
mov rcx, r8
call qword [r8 + reloc.WS2_32.dll_recv]
mov rax, qword [rbp + 0xf0]
xor r14d, r14d
mov qword [rbp + 0x78], r14
and dword [rax + 8], 0xfffffffe
jmp 0x1400c51b3
xor r14d, r14d
mov qword [rbp + 0x78], r14
xor eax, eax
lea r15, [rbp + 0x98]
xorps xmm0, xmm0
mov ecx, edi
movups xmmword [rbp + 0x30], xmm0
or ecx, 0x801
movups xmmword [rbp + 0x40], xmm0
bt edi, 0xa
movups xmmword [r15], xmm0
cmovae ecx, edi
movups xmmword [r15 + 0x10], xmm0
mov qword [r15 + 0x20], rax
mov qword [rbp + 0x68], rax
mov dword [rbp + 0x70], r14d
mov byte [rbp + 0x82], al
mov qword [rbp + 0x90], rax
mov dword [rbp + 0xc0], r14d
mov qword [rbp + 0xc8], r14
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe8], r14
mov dword [rbp + 0x60], r14d
mov qword [rbp + 0x50], rax
mov dword [rbp + 0xe0], r14d
mov rbx, qword [rsi + 0x90]
mov rax, qword [rbx + 8]
mov r12, qword [rax + 0x130]
test cl, 1
je 0x1400c5247
and ecx, 0xfffffffb
or ecx, 0xa
mov r13d, ecx
and r13d, 0xfffffffb
bt ecx, 0x16
cmovae r13d, ecx
test r12, r12
je 0x1400c528a
test r13d, 0x8002
jne 0x1400c528a
mov eax, dword [rsi + 8]
and eax, 0x2001
cmp eax, 1
jne 0x1400c528a
bt r13d, 0xb
jb 0x1400c52ea
mov rax, qword [rsi + 0xd0]
cmp dword [rax + 8], 0
jne 0x1400c52e5
cmp dword [rax], 0
jne 0x1400c52ea
mov rax, qword [rbx + 0x18]
mov r9d, r13d
mov r8d, dword [rsp + 0x88]
mov rcx, rbp
mov rdx, qword [rsi + 0x80]
call qword [rax + 0x78]
mov dword [rsp + 0x80], eax
test eax, eax
jne 0x1400c59ff
cmp dword [rbp + 0x60], 0x6f75746c
jne 0x1400c5523
test r15, r15
je 0x1400c57c9
movsx r9d, word [r15 + 2]
movsx rax, word [r15]
test r9d, r9d
jne 0x1400c5421
test ax, ax
jmp 0x1400c546a
cmp dword [rax], 0
jne 0x1400c528a
test r13b, 0x20
jne 0x1400c5399
mov rax, qword [rbx]
test dword [rax], 0x400
je 0x1400c5399
mov r8, qword [rax + 0x30]
mov rcx, r14
test r8, r8
je 0x1400c531f
lea rdx, str.font_format
mov rcx, rbx
call r8
mov rcx, rax
lea rdx, str.Type_1
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x1400c533a
cmp dword [rbx + 0x38], 1
jne 0x1400c533a
mov cl, 1
jmp 0x1400c533c
xor cl, cl
mov eax, r13d
and eax, 0xf0000
cmp eax, 0x10000
jne 0x1400c535a
mov rax, qword [rbx]
test dword [rax], 0x800
jne 0x1400c535a
test cl, cl
je 0x1400c5399
test byte [rsi + 8], 8
je 0x1400c528a
cmp dword [rsi + 0x434], 0
je 0x1400c528a
cmp word [rsi + 0x18a], 0
jne 0x1400c528a
cmp dword [rsi + 0x3b0], 0
jne 0x1400c528a
cmp dword [rsi + 0x3c0], 0
jne 0x1400c528a
test byte [rsi + 8], 2
je 0x1400c53de
test r13b, 8
jne 0x1400c53de
mov rax, qword [rbx + 0x18]
mov r9d, r13d
mov r8d, dword [rsp + 0x88]
bts r9d, 0xe
mov rdx, qword [rsi + 0x80]
mov rcx, rbp
call qword [rax + 0x78]
mov dword [rsp + 0x80], eax
test eax, eax
jne 0x1400c53de
cmp dword [rbp + 0x60], 0x62697473
je 0x1400c5523
mov rdi, qword [rsi + 0xd0]
mov rdx, rbp
mov r9d, dword [rsp + 0x88]
mov rcx, r12
mov dword [rsp + 0x20], r13d
mov ebx, dword [rdi + 0x18]
mov dword [rdi + 0x18], r14d
mov rax, qword [r12]
mov r8, qword [rsi + 0x80]
mov r10, qword [rax + 0x18]
call qword [r10 + Ordinal_27]
mov dword [rsp + 0x80], eax
mov dword [rdi + 0x18], ebx
jmp 0x1400c5523
jle 0x1400c57c9
test ax, ax
jle 0x1400c57c9
mov r10, rax
mov r8d, 0xffffffff
mov rax, qword [r15 + 0x18]
mov rdx, r14
movsx ecx, word [rax]
cmp ecx, r8d
jle 0x1400c57c9
cmp ecx, r9d
jge 0x1400c57c9
inc rdx
add rax, 2
mov r8d, ecx
cmp rdx, r10
jl 0x1400c5440
lea eax, [r9 - 1]
cmp ecx, eax
jne 0x1400c57c9
mov dword [rsp + 0x80], r14d
test r13b, 2
jne 0x1400c5523
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 + 0x98], 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
test al, 1
je 0x1400c54eb
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 0x1400c5505
mov eax, dword [rsp + 0x98]
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
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 0x1400c5535
mov eax, dword [rbp + 0x4c]
mov ecx, r14d
jmp 0x1400c553b
mov ecx, dword [rbp + 0x40]
mov eax, r14d
mov dword [rdi], ecx
mov dword [rbp + 0x5c], eax
bt r13d, 0xd
jb 0x1400c557c
test byte [rsi + 8], 1
je 0x1400c557c
mov rbx, qword [rsi + 0x80]
mov r8d, 0x40
mov ecx, dword [rbp + 0x50]
mov edx, dword [rbx + 0x1c]
call fcn.1400c5ef0
mov ecx, dword [rbp + 0x54]
mov r8d, 0x40
mov dword [rbp + 0x50], eax
mov edx, dword [rbx + 0x20]
call fcn.1400c5ef0
mov dword [rbp + 0x54], eax
bt r13d, 0xb
jb 0x1400c5740
mov r12, qword [rsi + 0xd0]
mov r9d, dword [r12 + 0x18]
test r9d, r9d
je 0x1400c5740
mov rax, qword [rbp + 8]
mov rcx, qword [rax + 0x90]
mov r8, qword [rcx + 8]
mov r10, qword [r8 + 0x128]
test r10, r10
je 0x1400c55c0
mov eax, dword [rbp + 0x60]
cmp dword [r10 + 0x20], eax
je 0x1400c55ee
mov rax, qword [r8 + 0x118]
mov r10, r14
mov edx, dword [rbp + 0x60]
test rax, rax
je 0x1400c55e9
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x20], edx
je 0x1400c55e6
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400c55d2
jmp 0x1400c55e9
mov r10, rcx
test r10, r10
je 0x1400c560f
mov rax, qword [r10 + 0x18]
lea r9, [r12 + 0x10]
mov r8, r12
mov rdx, rbp
mov rcx, r10
call qword [rax + 0x48]
mov dword [rsp + 0x80], eax
jmp 0x1400c56fc
cmp dword [rbp + 0x60], 0x6f75746c
jne 0x1400c56fc
test r9b, 1
je 0x1400c56b5
test r15, r15
je 0x1400c56b5
mov r15, qword [r15 + 8]
movsx rax, word [rbp + 0x9a]
lea rax, [r15 + rax*8]
mov qword [rsp + 0x98], rax
cmp r15, rax
jae 0x1400c56ae
nop dword [rax]
test r15, r15
je 0x1400c56a1
mov edx, dword [r12 + 8]
mov ecx, dword [r15]
call fcn.1400c6100
mov edx, dword [r12 + 0xc]
mov esi, eax
mov ecx, dword [r15 + 4]
call fcn.1400c6100
mov edx, dword [r12 + 4]
add esi, eax
mov ecx, dword [r15 + 4]
call fcn.1400c6100
mov edx, dword [r12]
mov ebx, eax
mov ecx, dword [r15]
call fcn.1400c6100
add ebx, eax
mov dword [r15 + 4], esi
mov rax, qword [rsp + 0x98]
mov dword [r15], ebx
add r15, 8
cmp r15, rax
jb 0x1400c5650
lea rdi, [rbp + 0x58]
lea r15, [rbp + 0x98]
test byte [r12 + 0x18], 2
je 0x1400c56fc
mov r9d, dword [r12 + 0x14]
mov r10d, dword [r12 + 0x10]
test r15, r15
je 0x1400c56fc
movzx r8d, r14w
mov rdx, qword [r15 + 8]
cmp r14w, word [r15 + 2]
jge 0x1400c56fc
nop dword [rax + rax]
add dword [rdx], r10d
inc r8w
add dword [rdx + 4], r9d
lea rdx, [rdx + 8]
movsx ecx, word [r15 + 2]
movzx eax, r8w
cmp eax, ecx
jl 0x1400c56e0
test rdi, rdi
je 0x1400c5740
mov edx, dword [r12 + 8]
mov ecx, dword [rdi]
call fcn.1400c6100
mov edx, dword [r12 + 0xc]
mov esi, eax
mov ecx, dword [rdi + 4]
call fcn.1400c6100
mov edx, dword [r12 + 4]
add esi, eax
mov ecx, dword [rdi + 4]
call fcn.1400c6100
mov edx, dword [r12]
mov ebx, eax
mov ecx, dword [rdi]
call fcn.1400c6100
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 0x1400c59ff
test r13b, 1
jne 0x1400c59ff
mov ecx, dword [rbp + 0x60]
cmp ecx, 0x62697473
je 0x1400c59ff
cmp ecx, 0x636f6d70
je 0x1400c59ff
mov r8d, r13d
lea ebx, [rax + 2]
sar r8d, 0x10
and r8d, 0xf
jne 0x1400c57a2
bt r13d, 0xc
cmovb r8d, ebx
test r13b, 4
je 0x1400c57d3
mov rax, qword [rbp + 8]
test rax, rax
je 0x1400c57c9
mov rax, qword [rax + 0x90]
mov rdx, rbp
mov rcx, qword [rax + 8]
call fcn.1400c7b90
jmp 0x1400c59ff
mov eax, 6
jmp 0x1400c59ff
cmp ecx, 0x6f75746c
jne 0x1400c59ff
test r15, r15
je 0x1400c585c
movsx rax, word [r15 + 2]
test ax, ax
jne 0x1400c57f9
mov r11d, r14d
mov r9d, r14d
mov r10d, r14d
jmp 0x1400c5870
mov rdx, qword [r15 + 8]
mov r9d, dword [rdx]
lea rsi, [rdx + rax*8]
mov r10d, dword [rdx + 4]
mov r14d, r9d
add rdx, 8
mov r11d, r10d
cmp rdx, rsi
jae 0x1400c5870
nop word [rax + rax]
mov eax, dword [rdx]
mov edi, eax
mov ecx, dword [rdx + 4]
cmp eax, r14d
cmovge edi, r14d
cmp eax, r9d
mov r14d, edi
cmovle eax, r9d
cmp ecx, r11d
mov r9d, eax
mov eax, ecx
cmovge eax, r11d
cmp ecx, r10d
mov r11d, eax
cmovle ecx, r10d
add rdx, 8
mov r10d, ecx
cmp rdx, rsi
jb 0x1400c5820
jmp 0x1400c5870
mov r10d, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x38]
mov r11d, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x30]
mov esi, r14d
mov r12d, r11d
mov r15d, r9d
sar esi, 6
mov r13d, r10d
sar r12d, 6
and r14d, 0x3f
sar r15d, 6
and r11d, 0x3f
sar r13d, 6
and r9d, 0x3f
mov dword [rsp + 0x30], r14d
and r10d, 0x3f
mov dword [rsp + 0x34], r11d
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x3c], r10d
test r8d, r8d
je 0x1400c58e5
sub r8d, 1
je 0x1400c58e5
sub r8d, 1
je 0x1400c5951
sub r8d, 1
je 0x1400c5946
cmp r8d, 1
jne 0x1400c58e5
lea ebx, [r8 + 5]
lea r8d, [rbx - 2]
mov rdx, rbp
lea rcx, [rsp + 0x30]
call fcn.1400cae20
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x38]
add r8d, 0x3f
mov ecx, dword [rsp + 0x34]
add edx, 0x3f
mov edi, dword [rsp + 0x30]
sar ecx, 6
sar edx, 6
add ecx, r12d
sar r8d, 6
add edx, r15d
add r8d, r13d
sar edi, 6
add edi, esi
mov r9d, r8d
sub r9d, ecx
sub edx, edi
mov ecx, ebx
sub ecx, 1
je 0x1400c59c6
sub ecx, 1
je 0x1400c593f
sub ecx, 3
je 0x1400c5a23
cmp ecx, 1
jne 0x1400c593f
lea r9d, [r9 + r9*2]
mov eax, edx
jmp 0x1400c59cf
mov ebx, 5
lea r8d, [rbx - 2]
jmp 0x1400c58d8
lea edi, [r14 + 0x1f]
mov ebx, 1
shr edi, 6
lea edx, [r9 + 0x20]
shr edx, 6
add edi, esi
add edx, r15d
cmp edi, edx
jne 0x1400c5988
lea ecx, [r14 + 0x1f]
and ecx, 0x3f
lea eax, [r9 - 0x20]
and eax, 0x3f
add ecx, eax
cmp ecx, 0x3f
jae 0x1400c5986
dec edi
jmp 0x1400c5988
inc edx
lea esi, [r11 + 0x1f]
shr esi, 6
lea r8d, [r10 + 0x20]
shr r8d, 6
add esi, r12d
add r8d, r13d
cmp esi, r8d
jne 0x1400c59be
lea ecx, [r11 + 0x1f]
and ecx, 0x3f
lea eax, [r10 - 0x20]
and eax, 0x3f
add ecx, eax
cmp ecx, 0x3f
jae 0x1400c59bb
dec esi
jmp 0x1400c59be
inc r8d
sub edx, edi
mov r9d, r8d
sub r9d, esi
lea eax, [rdx + 0xf]
sar eax, 3
and eax, 0xfffffffe
mov dword [rbp + 0x90], edi
mov ecx, 0x100
mov dword [rbp + 0x94], r8d
mov dword [rbp + 0x70], eax
mov eax, dword [rsp + 0x80]
mov word [rbp + 0x80], cx
mov byte [rbp + 0x82], bl
mov dword [rbp + 0x6c], edx
mov dword [rbp + 0x68], r9d
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
lea edx, [rdx + rdx*2]
lea eax, [rdx + 3]
and eax, 0xfffffffc
jmp 0x1400c59cf
mov eax, reloc.WLDAP32.dll_Ordinal_35
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret