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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor ebp, ebp
mov rdi, rcx
mov ecx, dword [rdx + 0x30]
mov rsi, rdx
mov edx, 0x1f000000
mov ebx, 0x8000
movabs r14, 0x7fffffffffff
lea r13d, [rbp + 0xe]
and ecx, edx
cmp ecx, 0xb000000
je 0x14003471f
cmp dword [rsi + 0x38], ebp
mov r8d, ebp
mov rdx, rsi
mov rcx, rdi
setne r8b
call fcn.140036424
test eax, eax
je 0x140034e63
jmp 0x1400349c4
mov rax, qword [rsi + 8]
cmp rax, 0xffffffffffffffff
je 0x14003473d
sar rax, 0x2f
cmp eax, 0xfffffff2
jae 0x140034781
movsd xmm0, qword [rsi + 8]
ucomisd xmm0, xmm0
jnp 0x140034781
cmp dword [rsi + 0x38], ebp
jne 0x140034e55
cmp word [rsi + 0x34], bx
jae 0x140034781
cmp dword [rsi + 0x44], ebp
je 0x140034767
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.140036424
test eax, eax
jne 0x1400349c4
mov eax, 0x7fff
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r9, [rsp + 0x80]
mov rdx, rsi
lea r8, [rsp + 0x24]
mov rcx, rdi
call fcn.140038530
mov r15, qword [rdi + 0x20]
movzx r12d, ax
mov dword [rsp + 0x20], eax
mov bl, byte [r15 + r12*8 + 5]
mov byte [rsp + 0x78], bl
cmp bl, 0x1a
jne 0x1400347ba
mov r15, qword [r15 + r12*8 + 8]
jmp 0x1400347be
mov r15, qword [rsi + 0x28]
cmp dword [rsi + 0x38], ebp
jne 0x1400348a1
mov r14, qword [r15]
sar r14, 0x2f
cmp r14d, 0xfffffff2
jae 0x1400347d9
mov r14d, r13d
jmp 0x1400347dc
not r14d
lea r8, [rdi - 0x1e0]
cmp r15, r8
jne 0x14003481f
mov edx, 0x1a
mov rcx, rdi
call fcn.1400476f0
mov ecx, 0x889
mov word [rdi + 0xb8], r12w
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xba], ax
call fcn.14004f50c
mov ebx, 0x7fff
jmp 0x140034854
cmp bl, 0x38
mov word [rdi + 0xb8], r12w
mov eax, 0x4380
mov word [rdi + 0xba], bp
mov ecx, 0x4280
cmove ax, cx
mov rcx, rdi
or ax, r14w
mov word [rdi + 0xbc], ax
call fcn.14004f50c
mov ebx, eax
mov edx, dword [rsp + 0x24]
movzx ecx, bx
cmp ecx, edx
jae 0x140034874
mov rcx, rdi
call fcn.1400479e8
mov cl, byte [rsp + 0x80]
mov byte [rdi + 0xb6], cl
test r14d, r14d
jne 0x140034a61
cmp dword [rsi + 0x44], ebp
je 0x140034a67
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.140036424
test eax, eax
je 0x140034a67
jmp 0x1400349b5
mov rax, qword [rsi]
and rax, r14
mov r13, qword [rax + 0x20]
movzx eax, byte [rsi + 0x37]
and eax, 0x1f
sub eax, 4
cmp eax, 8
ja 0x1400348ce
test dword [rsi + 0x38], 0x1f000000
mov dword [rsp + 0x88], 1
jne 0x1400348d5
mov dword [rsp + 0x88], ebp
mov edx, dword [rsp + 0x24]
cmp r12d, edx
jae 0x1400348f3
mov rcx, rdi
call fcn.1400479e8
mov al, byte [rsp + 0x80]
mov byte [rdi + 0xb6], al
cmp qword [r15], 0xffffffffffffffff
jne 0x140034bcc
cmp dword [rsi + 0x44], ebp
je 0x140034942
test r13, r13
je 0x140034942
mov rdx, qword [rdi - 0x128]
mov rcx, r13
call fcn.1400129a8
test rax, rax
je 0x140034942
cmp qword [rax], 0xffffffffffffffff
je 0x140034942
cmp bl, 0x38
mov word [rdi + 0xba], bp
mov eax, 0x4380
mov ecx, 0x4280
cmove ax, cx
mov word [rdi + 0xbc], ax
jmp 0x14003497d
cmp bl, 0x3a
jne 0x14003498d
lea rbx, [rdi - 0x1e0]
mov edx, 0x1a
mov r8, rbx
mov rcx, rdi
call fcn.1400476f0
cmp r15, 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], r12w
call fcn.14004f50c
cmp dword [rsi + 0x44], ebp
je 0x140034b24
mov r8d, 1
mov rdx, rsi
mov rcx, rdi
call fcn.140036424
test eax, eax
je 0x140034b24
mov r13d, 0xe
movabs r14, 0x7fffffffffff
mov ebx, 0x8000
mov ecx, dword [rsi + 0x40]
mov edx, 0x1f000000
and ecx, edx
cmp ecx, 0x8000000
je 0x140034a7d
cmp dword [rsi + 0x3c], 0x7fff
jne 0x140034a45
cmp dword [rsi + 0x38], ebp
jne 0x140034a45
mov eax, dword [rsi + 0x30]
and eax, edx
cmp eax, 0xc000000
jne 0x140034a45
mov rax, qword [rsi]
and rax, r14
cmp byte [rax + 0xa], 3
jne 0x140034a45
cmp ecx, 0xb000000
jne 0x140034a45
mov eax, dword [rsi + 0x34]
and eax, edx
cmp eax, 0x4000000
jne 0x140034a45
cmp word [rsi + 0x34], bx
jae 0x140034a45
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi + 0x18]
and rdx, r14
and rcx, r14
call fcn.1400129a8
mov rdx, rax
mov rcx, rdi
call fcn.14003464c
test eax, eax
jne 0x14003476c
mov edx, 0x1f000000
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 0x140034e71
jmp 0x1400346f3
cmp r14d, 2
ja 0x140034a76
mov ebx, r14d
shl ebx, 0x18
sub ebx, r14d
add ebx, 0x7fff
mov eax, ebx
jmp 0x14003476c
cmp dword [rsi + 0x38], ebp
lea rax, [0x140003297]
lea rdx, [0x1400031a0]
mov rcx, rdi
cmovne rdx, rax
call fcn.140039378
mov rcx, qword [rdi + 0x80]
mov r10, qword [rdi + 0xa0]
mov r9d, eax
mov edx, r9d
mov r11, qword [rcx + 0x20]
mov ecx, dword [rsi + 0x40]
mov dword [r10 + r9*4], ecx
mov ecx, dword [rsi + 0x30]
mov dword [r10 + r9*4 + 8], ecx
movabs rcx, 0xfffb800000000000
mov eax, dword [rsi + 0x34]
mov dword [r10 + r9*4 + 0xc], eax
mov rax, qword [rsi + 0x18]
and rax, r14
or rax, rcx
mov rcx, rdi
mov qword [r11 + r9*8], rax
mov rax, qword [rsi]
mov qword [r11 + r9*8 + 0x10], rax
mov rax, qword [rsi + 8]
mov qword [r11 + r9*8 + 0x18], rax
mov eax, dword [rsi + 0x38]
test eax, eax
je 0x140034b1c
mov dword [r10 + r9*4 + 0x10], eax
mov r8d, 3
mov rax, qword [rsi + 0x10]
mov qword [r11 + r9*8 + 0x20], rax
call fcn.1400345ec
xor eax, eax
jmp 0x14003476c
mov r8d, 2
jmp 0x140034b10
lea rax, [rdi - 0x1e0]
cmp r15, rax
jne 0x140034cfb
mov edx, dword [rsi + 0x34]
mov ecx, edx
shr ecx, 0x18
and ecx, 0x1f
lea eax, [rcx - 0xf]
cmp eax, 4
ja 0x140034b68
mov rcx, rdi
mov dword [rdi + 0xba], 0x5b0e01d3
mov word [rdi + 0xb8], dx
call fcn.14004f50c
mov r12d, 5
jmp 0x140034b9a
lea eax, [rcx - 0xe]
mov r12d, 5
cmp eax, r12d
ja 0x140034b9c
mov eax, 0x8000
cmp dx, ax
jae 0x140034b9c
movabs rax, 0x8000000000000000
cmp qword [rsi + 8], rax
jne 0x140034b9c
xor edx, edx
mov rcx, rdi
call fcn.140047698
mov edx, eax
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], dx
call fcn.14004f50c
mov r15d, eax
mov ebx, ebp
jmp 0x140034d0d
cmp byte [rsp + 0x78], 0x38
mov ebx, ebp
mov r8d, r12d
mov rcx, rdi
setne bl
add bx, 0x42
movzx edx, bx
call fcn.14005099c
mov r14b, byte [rsp + 0x78]
test eax, eax
jne 0x140034cf7
cmp r14b, 0x3a
jne 0x140034c30
lea r8, [rdi - 0x1e0]
mov rcx, rdi
lea edx, [rax + 0x1a]
call fcn.1400476f0
mov ecx, 0x989
mov word [rdi + 0xb8], r12w
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xba], ax
call fcn.14004f50c
cmp dword [rsi + 0x44], ebp
je 0x140034ce3
test r13, r13
jne 0x140034c9d
movzx eax, word [rsi + 0x30]
lea r12d, [r13 + 5]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x450b0005
call fcn.14004f50c
lea edx, [r13 + 0xb]
mov rcx, rdi
mov ebx, eax
call fcn.140047610
mov ecx, 0x88b
mov word [rdi + 0xb8], bx
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xba], ax
call fcn.14004f50c
mov ebx, dword [rsp + 0x88]
mov r15d, dword [rsp + 0x20]
jmp 0x140034d12
mov rax, qword [r15]
sar rax, 0x2f
cmp eax, 0xfffffff2
jae 0x140034cb0
mov ecx, 0xe
jmp 0x140034cb6
not ax
movzx ecx, ax
shl bx, 8
mov eax, 0x80
or bx, cx
mov word [rdi + 0xb8], r12w
or bx, ax
mov word [rdi + 0xba], bp
mov rcx, rdi
mov word [rdi + 0xbc], bx
call fcn.14004f50c
mov ebx, dword [rsp + 0x88]
mov r15d, dword [rsp + 0x20]
mov r12d, 5
jmp 0x140034d12
mov ebx, ebp
jmp 0x140034cea
mov ebx, dword [rsp + 0x88]
mov r12d, 5
mov r15d, dword [rsp + 0x20]
mov r14b, byte [rsp + 0x78]
mov r8d, dword [rsi + 0x38]
mov eax, r8d
shr eax, 0x18
and eax, 0x1f
sub eax, 0xf
cmp eax, 4
ja 0x140034d47
mov rcx, rdi
mov dword [rdi + 0xba], 0x5b0e01d3
mov word [rdi + 0xb8], r8w
call fcn.14004f50c
mov r8d, eax
mov dword [rsi + 0x38], eax
movzx edx, word [rsi + 0x38]
mov ecx, 0x4b00
shr r8d, 0x18
mov eax, 0x4a00
mov r13d, 0x1f
mov word [rdi + 0xb8], r15w
and r8w, r13w
mov word [rdi + 0xba], dx
cmp r14b, 0x38
cmove cx, ax
or r8w, cx
mov rcx, rdi
mov word [rdi + 0xbc], r8w
call fcn.14004f50c
test ebx, ebx
jne 0x140034da1
movzx eax, byte [rsi + 0x3b]
and eax, r13d
sub eax, 4
cmp eax, 8
ja 0x140034dbe
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x58000000
call fcn.14004f50c
mov eax, dword [rsi + 0x34]
and eax, 0x1f000000
cmp eax, 0x4000000
jne 0x140034e49
mov eax, 0x8000
cmp word [rsi + 0x34], ax
jae 0x140034dfe
mov rax, qword [rdi + 0x20]
movzx ecx, word [rsi + 0x34]
mov rdx, qword [rax + rcx*8 + 8]
lea rax, [rdi - 0x130]
cmp qword [rax], rdx
je 0x140034dfe
inc ebp
add rax, 8
cmp ebp, r12d
jbe 0x140034dec
jmp 0x140034e49
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x3e09000a
call fcn.14004f50c
xor edx, edx
mov rcx, rdi
mov ebx, eax
call fcn.140047580
mov ecx, 0x4d10
mov word [rdi + 0xb8], bx
mov word [rdi + 0xbc], cx
mov rcx, rdi
mov word [rdi + 0xba], ax
call fcn.14004f50c
mov byte [rdi + 0xb5], 1
jmp 0x140034b15
mov edx, 0x11
mov rcx, rdi
call fcn.140015bcc
int3
mov edx, 0x12
mov rcx, rdi
call fcn.140015bcc
int3
mov edx, 0x13
mov rcx, rdi
call fcn.140015bcc
int3