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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x38
xor r13d, r13d
mov qword [rsp + 0x70], r14
mov rdi, rcx
mov qword [rsp + 0x30], r15
mov ecx, dword [rdx + 0x30]
mov rsi, rdx
mov ebx, 0x8000
movabs r12, 0x7fffffffffff
lea ebp, [r13 + 0xe]
nop word [rax + rax]
and ecx, 0x1f000000
cmp ecx, 0xb000000
je 0x14003c411
cmp dword [rsi + 0x38], r13d
mov r8d, r13d
mov rdx, rsi
mov rcx, rdi
setne r8b
call fcn.14003e4e0
test eax, eax
je 0x14003cb84
jmp 0x14003c6ae
mov rax, qword [rsi + 8]
cmp rax, 0xffffffffffffffff
je 0x14003c42f
sar rax, 0x2f
cmp eax, 0xfffffff2
jae 0x14003c465
movsd xmm0, qword [rsi + 8]
ucomisd xmm0, xmm0
jnp 0x14003c465
cmp dword [rsi + 0x38], r13d
jne 0x14003cb76
cmp word [rsi + 0x34], bx
jae 0x14003c465
cmp dword [rsi + 0x44], r13d
je 0x14003c45b
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.14003e4e0
test eax, eax
jne 0x14003c6ae
mov eax, 0x7fff
jmp 0x14003c801
lea r9, [rsp + 0x80]
mov rdx, rsi
lea r8, [rsp + 0x24]
mov rcx, rdi
call fcn.140040c80
mov rcx, qword [rdi + 0x20]
movzx r15d, ax
mov dword [rsp + 0x20], eax
movzx ebx, byte [rcx + r15*8 + 5]
mov byte [rsp + 0x78], bl
cmp bl, 0x1a
jne 0x14003c49f
mov r14, qword [rcx + r15*8 + 8]
jmp 0x14003c4a3
mov r14, qword [rsi + 0x28]
mov ecx, dword [rsi + 0x38]
test ecx, ecx
jne 0x14003c588
mov rbx, qword [r14]
sar rbx, 0x2f
cmp ebx, 0xfffffff2
jae 0x14003c4be
mov ebx, ebp
jmp 0x14003c4c0
not ebx
lea r8, [rdi - 0x1e0]
cmp r14, r8
jne 0x14003c503
mov edx, 0x1a
mov rcx, rdi
call fcn.140062730
mov ecx, 0x889
mov word [rdi + 0xb8], r15w
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xba], ax
call fcn.14006f880
mov ebp, 0x7fff
jmp 0x14003c53a
cmp byte [rsp + 0x78], 0x38
mov eax, 0x4380
mov ecx, 0x4280
mov word [rdi + 0xb8], r15w
cmove ax, cx
mov word [rdi + 0xba], r13w
or ax, bx
mov rcx, rdi
mov word [rdi + 0xbc], ax
call fcn.14006f880
mov ebp, eax
mov edx, dword [rsp + 0x24]
movzx ecx, bp
cmp ecx, edx
jae 0x14003c55b
mov rcx, rdi
call fcn.140062af0
movzx ecx, byte [rsp + 0x80]
mov byte [rdi + 0xb6], cl
test ebx, ebx
jne 0x14003c74d
cmp dword [rsi + 0x44], r13d
je 0x14003c752
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.14003e4e0
test eax, eax
je 0x14003c752
jmp 0x14003c6a4
mov rax, qword [rsi]
and rax, r12
mov r12, qword [rax + 0x20]
movzx eax, byte [rsi + 0x37]
and eax, 0x1f
sub eax, 4
cmp eax, 8
ja 0x14003c5b4
mov dword [rsp + 0x88], 1
test ecx, 0x1f000000
jne 0x14003c5bc
mov dword [rsp + 0x88], r13d
mov edx, dword [rsp + 0x24]
cmp r15d, edx
jae 0x14003c5db
mov rcx, rdi
call fcn.140062af0
movzx eax, byte [rsp + 0x80]
mov byte [rdi + 0xb6], al
cmp qword [r14], 0xffffffffffffffff
jne 0x14003c8e9
cmp dword [rsi + 0x44], r13d
je 0x14003c62c
test r12, r12
je 0x14003c62c
mov rdx, qword [rdi - 0x128]
mov rcx, r12
call fcn.140015f90
test rax, rax
je 0x14003c62c
cmp qword [rax], 0xffffffffffffffff
je 0x14003c62c
cmp bl, 0x38
mov word [rdi + 0xba], r13w
mov eax, 0x4380
mov ecx, 0x4280
cmove ax, cx
mov word [rdi + 0xbc], ax
jmp 0x14003c667
cmp bl, 0x3a
jne 0x14003c677
lea rbx, [rdi - 0x1e0]
mov edx, 0x1a
mov r8, rbx
mov rcx, rdi
call fcn.140062730
cmp r14, rbx
mov word [rdi + 0xba], ax
mov ecx, 0x989
mov edx, 0x889
cmove cx, dx
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xb8], r15w
call fcn.14006f880
cmp dword [rsi + 0x44], r13d
je 0x14003c820
mov r8d, 1
mov rdx, rsi
mov rcx, rdi
call fcn.14003e4e0
test eax, eax
je 0x14003c820
movabs r12, 0x7fffffffffff
mov ebx, 0x8000
mov ebp, 0xe
mov ecx, dword [rsi + 0x40]
and ecx, 0x1f000000
cmp ecx, 0x8000000
je 0x14003c766
cmp dword [rsi + 0x3c], 0x7fff
jne 0x14003c731
cmp dword [rsi + 0x38], r13d
jne 0x14003c731
mov eax, dword [rsi + 0x30]
and eax, 0x1f000000
cmp eax, 0xc000000
jne 0x14003c731
mov rax, qword [rsi]
and rax, r12
cmp byte [rax + 0xa], 3
jne 0x14003c731
cmp ecx, 0xb000000
jne 0x14003c731
mov ecx, dword [rsi + 0x34]
mov eax, ecx
and eax, 0x1f000000
cmp eax, 0x4000000
jne 0x14003c731
cmp cx, bx
jae 0x14003c731
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi + 0x18]
and rdx, r12
and rcx, r12
call fcn.140015f90
mov rdx, rax
mov rcx, rdi
call fcn.14003c330
test eax, eax
jne 0x14003c801
sub dword [rsi + 0x44], 1
mov rax, qword [rsi + 0x18]
mov ecx, dword [rsi + 0x40]
mov qword [rsi], rax
mov dword [rsi + 0x30], ecx
je 0x14003cb92
jmp 0x14003c3e0
cmp ebx, 2
ja 0x14003c75f
mov ebp, ebx
shl ebp, 0x18
sub ebp, ebx
add ebp, 0x7fff
mov eax, ebp
jmp 0x14003c801
cmp dword [rsi + 0x38], r13d
lea rax, [0x140003297]
lea rdx, [0x1400031a0]
mov rcx, rdi
cmovne rdx, rax
call fcn.140041c80
mov rcx, qword [rdi + 0x80]
mov r8, qword [rdi + 0xa0]
mov r9d, eax
mov edx, r9d
mov r10, qword [rcx + 0x20]
mov ecx, dword [rsi + 0x40]
mov dword [r8 + r9*4], ecx
mov ecx, dword [rsi + 0x30]
mov dword [r8 + r9*4 + 8], ecx
movabs rcx, 0xfffb800000000000
mov eax, dword [rsi + 0x34]
mov dword [r8 + r9*4 + 0xc], eax
mov rax, qword [rsi + 0x18]
and rax, r12
or rax, rcx
mov rcx, rdi
mov qword [r10 + r9*8], rax
mov rax, qword [rsi]
mov qword [r10 + r9*8 + 0x10], rax
mov rax, qword [rsi + 8]
mov qword [r10 + r9*8 + 0x18], rax
mov eax, dword [rsi + 0x38]
test eax, eax
je 0x14003c818
mov dword [r8 + r9*4 + 0x10], eax
mov r8d, 3
mov rax, qword [rsi + 0x10]
mov qword [r10 + r9*8 + 0x20], rax
call fcn.14003c2d0
xor eax, eax
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x70]
add rsp, 0x38
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov r8d, 2
jmp 0x14003c7fa
lea rax, [rdi - 0x1e0]
cmp r14, rax
jne 0x14003ca18
mov ebx, dword [rsi + 0x34]
mov eax, ebx
shr eax, 0x18
and eax, 0x1f
sub eax, 0xf
cmp eax, 4
ja 0x14003c860
mov rcx, rdi
mov dword [rdi + 0xba], 0x5b0e01d3
mov word [rdi + 0xb8], bx
call fcn.14006f880
mov ebx, eax
jmp 0x14003c8b8
mov eax, ebx
and eax, 0x1f000000
cmp eax, 0xe000000
jne 0x14003c8b8
mov eax, 0x8000
cmp bx, ax
jae 0x14003c896
movabs rax, 0x8000000000000000
cmp qword [rsi + 8], rax
jne 0x14003c8b8
xor edx, edx
mov rcx, rdi
call fcn.140062650
mov ebx, eax
jmp 0x14003c8b8
mov eax, 0x88e
mov word [rdi + 0xb8], bx
mov rcx, rdi
mov word [rdi + 0xbc], ax
mov word [rdi + 0xba], bx
call fcn.14006f880
movzx eax, word [rsi + 0x30]
mov ecx, 0x3b09
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov word [rdi + 0xba], bx
call fcn.14006f880
mov r14d, eax
mov ebx, r13d
jmp 0x14003ca24
cmp byte [rsp + 0x78], 0x38
mov ebx, r13d
mov r8d, r15d
mov rcx, rdi
setne bl
add bx, 0x42
movzx edx, bx
call fcn.140071310
movzx ebp, byte [rsp + 0x78]
test eax, eax
jne 0x14003ca0e
cmp bpl, 0x3a
jne 0x14003c94e
lea r8, [rdi - 0x1e0]
mov rcx, rdi
lea edx, [rax + 0x1a]
call fcn.140062730
mov ecx, 0x989
mov word [rdi + 0xb8], r15w
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xba], ax
call fcn.14006f880
cmp dword [rsi + 0x44], r13d
je 0x14003ca00
test r12, r12
jne 0x14003c9b9
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x450b0005
call fcn.14006f880
lea edx, [r12 + 0xb]
mov rcx, rdi
mov ebx, eax
call fcn.1400625a0
mov ecx, 0x88b
mov word [rdi + 0xb8], bx
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xba], ax
call fcn.14006f880
mov ebx, dword [rsp + 0x88]
mov r14d, dword [rsp + 0x20]
jmp 0x14003ca29
mov rax, qword [r14]
sar rax, 0x2f
cmp eax, 0xfffffff2
jae 0x14003c9cc
mov ecx, 0xe
jmp 0x14003c9d2
not ax
movzx ecx, ax
shl bx, 8
mov eax, 0x80
or bx, cx
mov word [rdi + 0xb8], r15w
or bx, ax
mov word [rdi + 0xba], r13w
mov rcx, rdi
mov word [rdi + 0xbc], bx
call fcn.14006f880
mov ebx, dword [rsp + 0x88]
mov r14d, dword [rsp + 0x20]
jmp 0x14003ca29
mov r14d, dword [rsp + 0x20]
mov ebx, r13d
jmp 0x14003ca29
mov ebx, dword [rsp + 0x88]
mov r14d, dword [rsp + 0x20]
movzx ebp, byte [rsp + 0x78]
mov r8d, dword [rsi + 0x38]
mov eax, r8d
shr eax, 0x18
mov edx, r8d
and eax, 0x1f
sub eax, 0xf
cmp eax, 4
ja 0x14003ca64
mov rcx, rdi
mov dword [rdi + 0xba], 0x5b0e01d3
mov word [rdi + 0xb8], r8w
call fcn.14006f880
mov edx, eax
mov dword [rsi + 0x38], eax
movzx r8d, ax
shr edx, 0x18
mov ecx, 0x4b00
and dx, 0x1f
mov word [rdi + 0xb8], r14w
mov eax, 0x4a00
mov word [rdi + 0xba], r8w
cmp bpl, 0x38
cmove cx, ax
or dx, cx
mov rcx, rdi
mov word [rdi + 0xbc], dx
call fcn.14006f880
test ebx, ebx
jne 0x14003cab2
movzx eax, byte [rsi + 0x3b]
and eax, 0x1f
sub eax, 4
cmp eax, 8
ja 0x14003cacf
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x58000000
call fcn.14006f880
mov ecx, dword [rsi + 0x34]
mov eax, ecx
and eax, 0x1f000000
cmp eax, 0x4000000
jne 0x14003cb6a
mov eax, 0x8000
cmp cx, ax
jae 0x14003cb1f
mov rax, qword [rdi + 0x20]
movzx ecx, cx
mov rdx, qword [rax + rcx*8 + 8]
lea rax, [rdi - 0x130]
cmp qword [rax], rdx
je 0x14003cb1f
inc r13d
add rax, 8
cmp r13d, 5
jbe 0x14003cb01
mov byte [rdi + 0xb5], 1
jmp 0x14003c7ff
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x3e09000a
call fcn.14006f880
xor edx, edx
mov rcx, rdi
mov ebx, eax
call fcn.1400624f0
mov ecx, 0x4d10
mov word [rdi + 0xb8], bx
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xba], ax
call fcn.14006f880
mov byte [rdi + 0xb5], 1
jmp 0x14003c7ff
mov edx, 0x11
mov rcx, rdi
call fcn.140018fc0
int3
mov edx, 0x12
mov rcx, rdi
call fcn.140018fc0
int3
mov edx, 0x13
mov rcx, rdi
call fcn.140018fc0
int3