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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x38
lea rbx, [rdx + 0x44]
mov qword [rsp + 0x70], r14
xor r13d, r13d
mov qword [rsp + 0x30], r15
mov rsi, rdx
mov rdi, rcx
mov rcx, rbx
mov edx, 0x8000
movabs r12, 0x7fffffffffff
lea ebp, [r13 + 0xe]
nop word [rax + rax]
mov eax, dword [rsi + 0x30]
and eax, 0x1f000000
cmp eax, 0xb000000
je 0x140045d4a
cmp dword [rsi + 0x38], 0
lea r14, [rsi + 0x38]
mov r8d, r13d
mov rdx, rsi
setne r8b
mov rcx, rdi
call fcn.140047f40
test eax, eax
je 0x14004659e
lea r15, [rsi + 8]
jmp 0x14004602a
mov rax, qword [rsi + 8]
lea r15, [rsi + 8]
cmp rax, 0xffffffffffffffff
je 0x140045d6f
sar rax, 0x2f
cmp eax, 0xfffffff2
jae 0x140045da8
movsd xmm0, qword [r15]
mov rcx, rbx
ucomisd xmm0, xmm0
jnp 0x140045da8
cmp dword [rsi + 0x38], 0
lea r14, [rsi + 0x38]
jne 0x140046582
cmp word [rsi + 0x34], dx
jae 0x140045da8
cmp dword [rcx], 0
je 0x140045d9e
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.140047f40
test eax, eax
jne 0x14004602a
mov eax, 0x7fff
jmp 0x1400461f2
lea r9, [rsp + 0x78]
mov rdx, rsi
lea r8, [rsp + 0x24]
mov rcx, rdi
call fcn.14004a460
mov rcx, qword [rdi + 0x20]
movzx r13d, ax
mov dword [rsp + 0x20], eax
movzx ebp, byte [rcx + r13*8 + 5]
mov byte [rsp + 0x80], bpl
cmp bpl, 0x1a
jne 0x140045de4
mov r12, qword [rcx + r13*8 + 8]
jmp 0x140045de8
mov r12, qword [rsi + 0x28]
mov ecx, dword [rsi + 0x38]
lea r14, [rsi + 0x38]
test ecx, ecx
jne 0x140045ed5
mov rbx, qword [r12]
sar rbx, 0x2f
cmp ebx, 0xfffffff2
jae 0x140045e09
lea ebx, [rcx + 0xe]
jmp 0x140045e0b
not ebx
lea r8, [rdi - 0x1e0]
cmp r12, r8
jne 0x140045e4e
mov edx, 0x1a
mov rcx, rdi
call fcn.14005c7a0
mov rcx, rdi
mov word [rdi + 0xbc], 0x889
mov word [rdi + 0xb8], r13w
mov word [rdi + 0xba], ax
call fcn.140065bb0
xor r13d, r13d
mov ebp, 0x7fff
jmp 0x140045e87
cmp bpl, 0x38
mov word [rdi + 0xb8], r13w
mov eax, 0x4380
mov ecx, 0x4280
cmove ax, cx
xor r13d, r13d
or ax, bx
mov word [rdi + 0xba], r13w
mov rcx, rdi
mov word [rdi + 0xbc], ax
call fcn.140065bb0
mov ebp, eax
mov edx, dword [rsp + 0x24]
movzx ecx, bp
cmp ecx, edx
jae 0x140045ea5
mov rcx, rdi
call fcn.14005cb30
movzx ecx, byte [rsp + 0x78]
mov byte [rdi + 0xb6], cl
test ebx, ebx
jne 0x140046138
cmp dword [rsi + 0x44], ebx
je 0x14004613d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.140047f40
test eax, eax
je 0x14004613d
lea rbx, [rsi + 0x44]
jmp 0x14004601b
mov rax, qword [rsi]
movabs rdx, 0x7fffffffffff
and rax, rdx
mov r8, qword [rax + 0x20]
movzx eax, byte [rsi + 0x37]
and eax, 0x1f
mov qword [rsp + 0x28], r8
sub eax, 4
cmp eax, 8
ja 0x140045f10
mov dword [rsp + 0x88], 1
test ecx, 0x1f000000
jne 0x140045f1b
mov dword [rsp + 0x88], 0
mov edx, dword [rsp + 0x24]
cmp r13d, edx
jae 0x140045f3c
mov rcx, rdi
call fcn.14005cb30
movzx eax, byte [rsp + 0x78]
mov r8, qword [rsp + 0x28]
mov byte [rdi + 0xb6], al
cmp qword [r12], 0xffffffffffffffff
jne 0x14004630a
cmp dword [rsi + 0x44], 0
lea rbx, [rsi + 0x44]
je 0x140045fa6
test r8, r8
je 0x140045fa6
mov rdx, qword [rdi - 0x128]
mov rcx, r8
call fcn.14001abb0
test rax, rax
je 0x140045fa6
cmp qword [rax], 0xffffffffffffffff
je 0x140045fa6
cmp bpl, 0x38
mov word [rdi + 0xb8], r13w
mov eax, 0x4380
mov ecx, 0x4280
cmove ax, cx
xor r13d, r13d
mov rcx, rdi
mov word [rdi + 0xba], r13w
mov word [rdi + 0xbc], ax
call fcn.140065bb0
jmp 0x140045ff9
cmp bpl, 0x3a
jne 0x140045ff6
lea rbx, [rdi - 0x1e0]
mov edx, 0x1a
mov r8, rbx
mov rcx, rdi
call fcn.14005c7a0
cmp r12, rbx
mov word [rdi + 0xb8], r13w
mov ecx, 0x989
mov word [rdi + 0xba], ax
mov edx, 0x889
cmove cx, dx
mov word [rdi + 0xbc], cx
mov rcx, rdi
call fcn.140065bb0
lea rbx, [rsi + 0x44]
xor r13d, r13d
cmp dword [rbx], 0
je 0x140046211
mov r8d, 1
mov rdx, rsi
mov rcx, rdi
call fcn.140047f40
test eax, eax
je 0x140046211
movabs r12, 0x7fffffffffff
mov ebp, 0xe
mov ecx, dword [rsi + 0x40]
and ecx, 0x1f000000
cmp ecx, 0x8000000
je 0x140046158
cmp dword [rsi + 0x3c], 0x7fff
jne 0x140046115
cmp dword [r14], 0
jne 0x140046115
mov eax, dword [rsi + 0x30]
and eax, 0x1f000000
cmp eax, 0xc000000
jne 0x140046115
mov rax, qword [rsi]
and rax, r12
cmp byte [rax + 0xa], 3
jne 0x140046115
mov edx, 0x8000
cmp ecx, 0xb000000
jne 0x14004611a
mov ecx, dword [rsi + 0x34]
mov eax, ecx
and eax, 0x1f000000
cmp eax, 0x4000000
jne 0x14004611a
cmp cx, dx
jae 0x14004611a
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi + 0x18]
and rdx, r12
and rcx, r12
call fcn.14001abb0
mov r9, qword [rax]
mov rdx, r9
sar rdx, 0x2f
lea ecx, [rdx + 4]
cmp ecx, 0xfffffff6
jbe 0x1400460e5
cmp edx, 0xfffffff2
jae 0x1400460ce
mov edx, ebp
jmp 0x1400460d0
not edx
and r9, r12
mov r8d, edx
mov rdx, r9
mov rcx, rdi
call fcn.14005c4d0
mov edx, eax
jmp 0x140046111
cmp edx, 0xfffffff2
jae 0x1400460fa
movsd xmm1, qword [rax]
mov rcx, rdi
call fcn.14005c6d0
mov edx, eax
jmp 0x140046111
lea eax, [rdx + 3]
cmp eax, 1
ja 0x140046115
not edx
mov eax, edx
shl edx, 0x18
sub edx, eax
add edx, 0x7fff
test edx, edx
jne 0x140046151
mov edx, 0x8000
sub dword [rbx], 1
mov rcx, rbx
mov eax, dword [rsi + 0x40]
mov dword [rsi + 0x30], eax
mov rax, qword [rsi + 0x18]
mov qword [rsi], rax
je 0x140046590
jmp 0x140045d10
cmp ebx, 2
ja 0x14004614a
mov ebp, ebx
shl ebp, 0x18
sub ebp, ebx
add ebp, 0x7fff
mov eax, ebp
jmp 0x1400461f2
mov eax, edx
jmp 0x1400461f2
cmp dword [r14], 0
lea rax, [0x140003297]
lea rdx, [0x1400031a0]
mov rcx, rdi
cmovne rdx, rax
call fcn.14004b010
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 [r15]
mov qword [r10 + r9*8 + 0x18], rax
mov eax, dword [r14]
test eax, eax
je 0x140046209
mov dword [r8 + r9*4 + 0x10], eax
mov r8d, 3
mov rax, qword [rsi + 0x10]
mov qword [r10 + r9*8 + 0x20], rax
call fcn.140045c00
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 0x1400461eb
lea rax, [rdi - 0x1e0]
cmp r12, rax
jne 0x1400462e6
mov ebx, dword [rsi + 0x34]
mov eax, ebx
shr eax, 0x18
and eax, 0x1f
sub eax, 0xf
cmp eax, 4
ja 0x140046251
mov rcx, rdi
mov dword [rdi + 0xba], 0x5b0e01d3
mov word [rdi + 0xb8], bx
call fcn.140065bb0
mov ebx, eax
jmp 0x1400462a5
mov eax, ebx
and eax, 0x1f000000
cmp eax, 0xe000000
jne 0x1400462a5
mov eax, 0x8000
cmp bx, ax
jae 0x140046286
movabs rax, 0x8000000000000000
cmp qword [r15], rax
jne 0x1400462a5
xor edx, edx
mov rcx, rdi
call fcn.14005c6c0
mov ebx, eax
jmp 0x1400462a5
mov rcx, rdi
mov word [rdi + 0xbc], 0x88e
mov word [rdi + 0xb8], bx
mov word [rdi + 0xba], bx
call fcn.140065bb0
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov word [rdi + 0xbc], 0x3b09
mov word [rdi + 0xba], bx
call fcn.140065bb0
cmp byte [rsp + 0x80], 0x38
mov ebp, r13d
mov r15d, eax
mov ebx, r13d
setne bpl
add bp, 0x42
jmp 0x140046431
cmp byte [rsp + 0x80], 0x38
mov ebp, r13d
mov ebx, dword [rsp + 0x88]
mov r15d, dword [rsp + 0x20]
setne bpl
add bp, 0x42
jmp 0x140046431
xor eax, eax
mov r8d, r13d
cmp bpl, 0x38
mov rcx, rdi
setne al
add ax, 0x42
movzx edx, ax
movzx ebp, ax
call fcn.140067400
test eax, eax
jne 0x140046426
cmp byte [rsp + 0x80], 0x3a
jne 0x14004636c
lea r8, [rdi - 0x1e0]
mov rcx, rdi
lea edx, [rax + 0x1a]
call fcn.14005c7a0
mov rcx, rdi
mov word [rdi + 0xbc], 0x989
mov word [rdi + 0xb8], r13w
mov word [rdi + 0xba], ax
call fcn.140065bb0
cmp dword [rsi + 0x44], 0
je 0x1400463c5
cmp qword [rsp + 0x28], 0
jne 0x1400463d1
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x450b0005
call fcn.140065bb0
mov edx, 0xb
mov rcx, rdi
mov ebx, eax
call fcn.14005c630
mov rcx, rdi
mov word [rdi + 0xbc], 0x88b
mov word [rdi + 0xb8], bx
mov word [rdi + 0xba], ax
call fcn.140065bb0
mov ebx, dword [rsp + 0x88]
xor r13d, r13d
jmp 0x14004642c
mov rax, qword [r12]
sar rax, 0x2f
cmp eax, 0xfffffff2
jae 0x1400463e5
mov ecx, 0xe
jmp 0x1400463e9
mov ecx, eax
not ecx
movzx eax, bp
mov word [rdi + 0xb8], r13w
shl ax, 8
xor r13d, r13d
or ax, cx
mov word [rdi + 0xba], r13w
mov ecx, pe_nt_image_headers64
or ax, cx
mov rcx, rdi
mov word [rdi + 0xbc], ax
call fcn.140065bb0
mov ebx, dword [rsp + 0x88]
jmp 0x14004642c
xor r13d, r13d
mov ebx, r13d
mov r15d, dword [rsp + 0x20]
mov r9d, dword [r14]
mov eax, r9d
shr eax, 0x18
mov r8d, r9d
and eax, 0x1f
sub eax, 0xf
cmp eax, 4
ja 0x14004646c
mov rcx, rdi
mov dword [rdi + 0xba], 0x5b0e01d3
mov word [rdi + 0xb8], r9w
call fcn.140065bb0
mov r8d, eax
mov dword [r14], eax
movzx r9d, ax
shr r8d, 0x18
mov eax, 0x100
and r8w, 0x1f
mov word [rdi + 0xb8], r15w
add bp, 8
mov word [rdi + 0xba], r9w
movzx edx, bp
mov rcx, rdi
imul edx, eax
or r8w, dx
mov word [rdi + 0xbc], r8w
call fcn.140065bb0
test ebx, ebx
jne 0x1400464bc
movzx eax, byte [r14 + 3]
and eax, 0x1f
sub eax, 4
cmp eax, 8
ja 0x1400464d9
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x58000000
call fcn.140065bb0
mov ecx, dword [rsi + 0x34]
mov eax, ecx
and eax, 0x1f000000
cmp eax, 0x4000000
jne 0x140046576
mov eax, 0x8000
cmp cx, ax
jae 0x14004652e
mov rax, qword [rdi + 0x20]
movzx ecx, cx
mov rdx, qword [rax + rcx*8 + 8]
lea rax, [rdi - 0x130]
nop dword [rax + rax]
cmp qword [rax], rdx
je 0x14004652e
inc r13d
add rax, 8
cmp r13d, 5
jbe 0x140046510
mov byte [rdi + 0xb5], 1
jmp 0x1400461f0
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x3e09000a
call fcn.140065bb0
xor edx, edx
mov rcx, rdi
mov ebx, eax
call fcn.14005c580
mov rcx, rdi
mov word [rdi + 0xbc], 0x4d10
mov word [rdi + 0xb8], bx
mov word [rdi + 0xba], ax
call fcn.140065bb0
mov byte [rdi + 0xb5], 1
jmp 0x1400461f0
mov edx, 0x11
mov rcx, rdi
call fcn.14001d630
int3
mov edx, 0x13
mov rcx, rdi
call fcn.14001d630
int3
mov edx, 0x12
mov rcx, rdi
call fcn.14001d630
int3