Function at 0x14004b350
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 0x14004b3ca
cmp dword [rsi + 0x38], 0
lea r14, [rsi + 0x38]
mov r8d, r13d
mov rdx, rsi
setne r8b
mov rcx, rdi
call fcn.14004b050
test eax, eax
je 0x14004bc1e
lea r15, [rsi + 8]
jmp 0x14004b6aa
mov rax, qword [rsi + 8]
lea r15, [rsi + 8]
cmp rax, 0xffffffffffffffff
je 0x14004b3ef
sar rax, 0x2f
cmp eax, 0xfffffff2
jae 0x14004b428
movsd xmm0, qword [r15]
mov rcx, rbx
ucomisd xmm0, xmm0
jnp 0x14004b428
cmp dword [rsi + 0x38], 0
lea r14, [rsi + 0x38]
jne 0x14004bc02
cmp word [rsi + 0x34], dx
jae 0x14004b428
cmp dword [rcx], 0
je 0x14004b41e
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.14004b050
test eax, eax
jne 0x14004b6aa
mov eax, 0x7fff
jmp 0x14004b872
lea r9, [rsp + 0x78]
mov rdx, rsi
lea r8, [rsp + 0x24]
mov rcx, rdi
call fcn.14004f930
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 0x14004b464
mov r12, qword [rcx + r13*8 + 8]
jmp 0x14004b468
mov r12, qword [rsi + 0x28]
mov ecx, dword [rsi + 0x38]
lea r14, [rsi + 0x38]
test ecx, ecx
jne 0x14004b555
mov rbx, qword [r12]
sar rbx, 0x2f
cmp ebx, 0xfffffff2
jae 0x14004b489
lea ebx, [rcx + 0xe]
jmp 0x14004b48b
not ebx
lea r8, [rdi - 0x1e0]
cmp r12, r8
jne 0x14004b4ce
mov edx, 0x1a
mov rcx, rdi
call fcn.140060b00
mov rcx, rdi
mov word [rdi + 0xbc], 0x889
mov word [rdi + 0xb8], r13w
mov word [rdi + 0xba], ax
call fcn.14006a050
xor r13d, r13d
mov ebp, 0x7fff
jmp 0x14004b507
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.14006a050
mov ebp, eax
mov edx, dword [rsp + 0x24]
movzx ecx, bp
cmp ecx, edx
jae 0x14004b525
mov rcx, rdi
call fcn.1400610b0
movzx ecx, byte [rsp + 0x78]
mov byte [rdi + 0xb6], cl
test ebx, ebx
jne 0x14004b7b8
cmp dword [rsi + 0x44], ebx
je 0x14004b7bd
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.14004b050
test eax, eax
je 0x14004b7bd
lea rbx, [rsi + 0x44]
jmp 0x14004b69b
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 0x14004b590
mov dword [rsp + 0x88], 1
test ecx, 0x1f000000
jne 0x14004b59b
mov dword [rsp + 0x88], 0
mov edx, dword [rsp + 0x24]
cmp r13d, edx
jae 0x14004b5bc
mov rcx, rdi
call fcn.1400610b0
movzx eax, byte [rsp + 0x78]
mov r8, qword [rsp + 0x28]
mov byte [rdi + 0xb6], al
cmp qword [r12], 0xffffffffffffffff
jne 0x14004b98a
cmp dword [rsi + 0x44], 0
lea rbx, [rsi + 0x44]
je 0x14004b626
test r8, r8
je 0x14004b626
mov rdx, qword [rdi - 0x128]
mov rcx, r8
call fcn.140028dd0
test rax, rax
je 0x14004b626
cmp qword [rax], 0xffffffffffffffff
je 0x14004b626
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.14006a050
jmp 0x14004b679
cmp bpl, 0x3a
jne 0x14004b676
lea rbx, [rdi - 0x1e0]
mov edx, 0x1a
mov r8, rbx
mov rcx, rdi
call fcn.140060b00
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.14006a050
lea rbx, [rsi + 0x44]
xor r13d, r13d
cmp dword [rbx], 0
je 0x14004b891
mov r8d, 1
mov rdx, rsi
mov rcx, rdi
call fcn.14004b050
test eax, eax
je 0x14004b891
movabs r12, 0x7fffffffffff
mov ebp, 0xe
mov ecx, dword [rsi + 0x40]
and ecx, 0x1f000000
cmp ecx, 0x8000000
je 0x14004b7d8
cmp dword [rsi + 0x3c], 0x7fff
jne 0x14004b795
cmp dword [r14], 0
jne 0x14004b795
mov eax, dword [rsi + 0x30]
and eax, 0x1f000000
cmp eax, 0xc000000
jne 0x14004b795
mov rax, qword [rsi]
and rax, r12
cmp byte [rax + 0xa], 3
jne 0x14004b795
mov edx, 0x8000
cmp ecx, 0xb000000
jne 0x14004b79a
mov ecx, dword [rsi + 0x34]
mov eax, ecx
and eax, 0x1f000000
cmp eax, 0x4000000
jne 0x14004b79a
cmp cx, dx
jae 0x14004b79a
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi + 0x18]
and rdx, r12
and rcx, r12
call fcn.140028dd0
mov r9, qword [rax]
mov rdx, r9
sar rdx, 0x2f
lea ecx, [rdx + 4]
cmp ecx, 0xfffffff6
jbe 0x14004b765
cmp edx, 0xfffffff2
jae 0x14004b74e
mov edx, ebp
jmp 0x14004b750
not edx
and r9, r12
mov r8d, edx
mov rdx, r9
mov rcx, rdi
call fcn.140060a50
mov edx, eax
jmp 0x14004b791
cmp edx, 0xfffffff2
jae 0x14004b77a
movsd xmm1, qword [rax]
mov rcx, rdi
call fcn.140060970
mov edx, eax
jmp 0x14004b791
lea eax, [rdx + 3]
cmp eax, 1
ja 0x14004b795
not edx
mov eax, edx
shl edx, 0x18
sub edx, eax
add edx, 0x7fff
test edx, edx
jne 0x14004b7d1
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 0x14004bc10
jmp 0x14004b390
cmp ebx, 2
ja 0x14004b7ca
mov ebp, ebx
shl ebp, 0x18
sub ebp, ebx
add ebp, 0x7fff
mov eax, ebp
jmp 0x14004b872
mov eax, edx
jmp 0x14004b872
cmp dword [r14], 0
lea rax, [0x140010ae7]
lea rdx, [0x1400109f0]
mov rcx, rdi
cmovne rdx, rax
call fcn.14004f320
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 0x14004b889
mov dword [r8 + r9*4 + 0x10], eax
mov r8d, 3
mov rax, qword [rsi + 0x10]
mov qword [r10 + r9*8 + 0x20], rax
call fcn.14004a940
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 0x14004b86b
lea rax, [rdi - 0x1e0]
cmp r12, rax
jne 0x14004b966
mov ebx, dword [rsi + 0x34]
mov eax, ebx
shr eax, 0x18
and eax, 0x1f
sub eax, 0xf
cmp eax, 4
ja 0x14004b8d1
mov rcx, rdi
mov dword [rdi + 0xba], 0x5b0e01d3
mov word [rdi + 0xb8], bx
call fcn.14006a050
mov ebx, eax
jmp 0x14004b925
mov eax, ebx
and eax, 0x1f000000
cmp eax, 0xe000000
jne 0x14004b925
mov eax, 0x8000
cmp bx, ax
jae 0x14004b906
movabs rax, 0x8000000000000000
cmp qword [r15], rax
jne 0x14004b925
xor edx, edx
mov rcx, rdi
call fcn.140060960
mov ebx, eax
jmp 0x14004b925
mov rcx, rdi
mov word [rdi + 0xbc], 0x88e
mov word [rdi + 0xb8], bx
mov word [rdi + 0xba], bx
call fcn.14006a050
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.14006a050
cmp byte [rsp + 0x80], 0x38
mov ebp, r13d
mov r15d, eax
mov ebx, r13d
setne bpl
add bp, 0x42
jmp 0x14004bab1
cmp byte [rsp + 0x80], 0x38
mov ebp, r13d
mov ebx, dword [rsp + 0x88]
mov r15d, dword [rsp + 0x20]
setne bpl
add bp, 0x42
jmp 0x14004bab1
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.14006b000
test eax, eax
jne 0x14004baa6
cmp byte [rsp + 0x80], 0x3a
jne 0x14004b9ec
lea r8, [rdi - 0x1e0]
mov rcx, rdi
lea edx, [rax + 0x1a]
call fcn.140060b00
mov rcx, rdi
mov word [rdi + 0xbc], 0x989
mov word [rdi + 0xb8], r13w
mov word [rdi + 0xba], ax
call fcn.14006a050
cmp dword [rsi + 0x44], 0
je 0x14004ba45
cmp qword [rsp + 0x28], 0
jne 0x14004ba51
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x450b0005
call fcn.14006a050
mov edx, 0xb
mov rcx, rdi
mov ebx, eax
call fcn.140060bc0
mov rcx, rdi
mov word [rdi + 0xbc], 0x88b
mov word [rdi + 0xb8], bx
mov word [rdi + 0xba], ax
call fcn.14006a050
mov ebx, dword [rsp + 0x88]
xor r13d, r13d
jmp 0x14004baac
mov rax, qword [r12]
sar rax, 0x2f
cmp eax, 0xfffffff2
jae 0x14004ba65
mov ecx, 0xe
jmp 0x14004ba69
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, 0x80
or ax, cx
mov rcx, rdi
mov word [rdi + 0xbc], ax
call fcn.14006a050
mov ebx, dword [rsp + 0x88]
jmp 0x14004baac
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 0x14004baec
mov rcx, rdi
mov dword [rdi + 0xba], 0x5b0e01d3
mov word [rdi + 0xb8], r9w
call fcn.14006a050
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.14006a050
test ebx, ebx
jne 0x14004bb3c
movzx eax, byte [r14 + 3]
and eax, 0x1f
sub eax, 4
cmp eax, 8
ja 0x14004bb59
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x58000000
call fcn.14006a050
mov ecx, dword [rsi + 0x34]
mov eax, ecx
and eax, 0x1f000000
cmp eax, 0x4000000
jne 0x14004bbf6
mov eax, 0x8000
cmp cx, ax
jae 0x14004bbae
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 0x14004bbae
inc r13d
add rax, 8
cmp r13d, 5
jbe 0x14004bb90
mov byte [rdi + 0xb5], 1
jmp 0x14004b870
movzx eax, word [rsi + 0x30]
mov rcx, rdi
mov word [rdi + 0xb8], ax
mov dword [rdi + 0xba], 0x3e09000a
call fcn.14006a050
xor edx, edx
mov rcx, rdi
mov ebx, eax
call fcn.140060800
mov rcx, rdi
mov word [rdi + 0xbc], 0x4d10
mov word [rdi + 0xb8], bx
mov word [rdi + 0xba], ax
call fcn.14006a050
mov byte [rdi + 0xb5], 1
jmp 0x14004b870
mov edx, 0x11
mov rcx, rdi
call fcn.14002b0c0
int3
mov edx, 0x13
mov rcx, rdi
call fcn.14002b0c0
int3
mov edx, 0x12
mov rcx, rdi
call fcn.14002b0c0
int3