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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push r14
sub rsp, 0xa8
mov r10d, dword [rsp + 0xe0]
mov r8, rcx
mov qword [rax - 0x18], rbx
mov ecx, r10d
mov rbx, qword [0x14011e688]
or ecx, 1
mov qword [rax - 0x20], rsi
test r10b, 7
mov qword [rax - 0x28], rdi
mov edi, edx
cmovne ecx, r10d
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r13
mov esi, ecx
or esi, 0x20
mov qword [rax - 0x40], r15
test ecx, 0x3f0
vmovaps xmmword [rax - 0x68], xmm7
mov rax, qword [rbx + 0x3ef8]
cmovne esi, ecx
mov byte [rax + 0xb8], 1
mov r12, qword [rbx + 0x3ef8]
mov rbp, qword [rbx + 0x3f00]
mov qword [rsp + 0x30], r12
bt esi, 0xb
jae 0x14004d4b7
test rbp, rbp
je 0x14004d4b7
cmp qword [rbp + 0x378], r12
jne 0x14004d4b7
mov r14b, 1
mov qword [rbx + 0x3f00], r12
jmp 0x14004d4ba
xor r14b, r14b
mov rcx, r8
mov byte [rsp + 0x20], 0
call fcn.14001f0e0
xor r13d, r13d
movzx r15d, al
mov dword [rsp + 0xc8], r15d
test al, al
je 0x14004d50d
cmp byte [rbx + 0x4a9c], r13b
je 0x14004d50d
cmp dword [rbx + 0x4abc], edi
jne 0x14004d50d
test byte [rbx + 0x4aa0], 2
jne 0x14004d50d
xor r15b, r15b
lea rax, [rbx + 0x4a9c]
mov dword [rsp + 0xc8], r15d
mov qword [rsp + 0x38], rax
jmp 0x14004d522
lea rax, [rbx + 0x4a9c]
mov qword [rsp + 0x38], rax
cmp byte [rax], r13b
je 0x14004d5a7
bt esi, 9
jae 0x14004d5a7
test byte [rbx + 0x4aa0], 4
jne 0x14004d5a7
mov ecx, 0x80
call fcn.14001ef10
test al, al
je 0x14004d5a7
mov r11, qword [0x14011e688]
mov dl, 1
mov dword [rsp + 0xc8], edx
mov dword [r11 + 0x3f44], edi
mov byte [r11 + 0x3f4c], r13b
test edi, edi
je 0x14004d571
cmp dword [r11 + 0x3f48], edi
je 0x14004d571
mov qword [r11 + 0x3f50], r13
vmovss xmm1, dword [rbx + 0x3f50]
vsubss xmm0, xmm1, dword [rbx + 0x18]
vmovss xmm2, dword [0x14007f6d4]
vcomiss xmm0, xmm2
ja 0x14004d5b5
vcomiss xmm1, xmm2
jb 0x14004d5b5
xor edx, edx
mov byte [rsp + 0x20], 1
mov rcx, r12
mov dword [rbx + 0x4b18], edi
call fcn.140027690
mov edx, dword [rsp + 0xc8]
mov r11, qword [0x14011e688]
test r14b, r14b
je 0x14004d5c1
mov qword [rbx + 0x3f00], rbp
mov r10d, 0xffffffff
vxorps xmm7, xmm7, xmm7
lea r14d, [r10 + 2]
test dl, dl
je 0x14004d6db
bt esi, 0xc
jae 0x14004d6db
mov eax, dword [rbx + 0x3f48]
cmp eax, edi
je 0x14004d6db
test eax, eax
je 0x14004d6db
xor dl, dl
mov r12d, edi
bt esi, 0x15
mov dword [rsp + 0xc8], edx
cmovb r12d, r13d
mov rbp, qword [rsp + 0x30]
cmp dword [rbx + 0x48e0], edi
jne 0x14004d64f
cmp byte [rbx + 0x4916], 0
jne 0x14004d64f
cmp byte [rbx + 0x4917], 0
je 0x14004d64f
mov eax, dword [rbx + 0x3f58]
test eax, eax
je 0x14004d63d
cmp eax, edi
je 0x14004d63d
cmp eax, dword [rbp + 0x7c]
jne 0x14004d64f
bt esi, 0x13
movzx edx, dl
cmovae edx, r14d
mov dword [rsp + 0xc8], edx
cmp dword [rbx + 0x48ec], edi
jne 0x14004da58
cmp dword [rbx + 0x48f0], edi
sete cl
je 0x14004da1a
bt esi, 0xa
jae 0x14004da1a
mov edx, 0x20d
vmovaps xmmword [rsp + 0x60], xmm6
mov rcx, r11
call fcn.1400282a0
mov edx, 0x20c
mov rcx, r11
mov r9, rax
call fcn.1400282a0
vmovss xmm0, dword [r9 + 4]
mov edx, 0x26e
mov rcx, r11
vmaxss xmm6, xmm0, dword [rax + 4]
call fcn.1400282a0
vmovss xmm4, dword [rbx + 0x40]
vmovss xmm2, dword [rbx + 0x3c]
vmaxss xmm3, xmm6, dword [rax + 4]
vucomiss xmm3, xmm7
vsubss xmm0, xmm3, dword [rbx + 0x18]
vmovaps xmm6, xmmword [rsp + 0x60]
jne 0x14004d9bb
mov ecx, r14d
jmp 0x14004da15
bt esi, 0x15
mov r12d, edi
cmovb r12d, r13d
test dl, dl
je 0x14004d60b
mov eax, 0x3778
mov dword [rsp + 0x24], r10d
mov r15d, r10d
mov qword [rsp + 0x40], rax
mov r10d, r13d
lea r8, [rbx + 0x4a9c]
mov r14, r13
mov ebp, 1
mov byte [rsp + 0xe0], dl
mov r13, r8
test ebp, esi
je 0x14004d7d8
cmp byte [r11 + r14 + 0xe10], 0
je 0x14004d76d
vmovss xmm0, dword [rax + r11]
vcomiss xmm0, xmm7
jb 0x14004d76d
vucomiss xmm0, xmm7
jne 0x14004d76d
lea ecx, [r10 + 0x281]
mov edx, r12d
call fcn.14002a7e0
mov edx, dword [rsp + 0xc8]
test al, al
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
je 0x14004d76d
cmp r15d, 0xffffffff
cmove r15d, r10d
cmp byte [r11 + r14 + 0x3766], 0
je 0x14004d7d8
lea ecx, [r10 + 0x281]
mov edx, r12d
call fcn.14002a7e0
test al, al
je 0x14004d7c7
cmp dword [rsp + 0x24], 0xffffffff
mov eax, r12d
movzx ecx, byte [rsp + 0xe0]
mov r8, r13
mov rax, qword [rsp + 0x40]
movzx edx, cl
mov dword [rsp + 0xc8], edx
mov qword [rsp + 0x38], r13
jne 0x14004d7d8
mov dword [rsp + 0x24], r10d
mov dword [rsp + 0xc8], edx
mov qword [rsp + 0x38], r13
jmp 0x14004d7d8
mov edx, dword [rsp + 0xc8]
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
add rax, 4
rol ebp, 1
inc r10d
mov qword [rsp + 0x40], rax
inc r14
cmp r10d, 3
jl 0x14004d712
bt esi, 0x10
jae 0x14004d820
cmp byte [rbx + 0xe24], 0
jne 0x14004d98f
cmp byte [rbx + 0xe25], 0
jne 0x14004d98f
cmp byte [rbx + 0xe26], 0
jne 0x14004d98f
cmp r15d, 0xffffffff
je 0x14004d8fd
cmp dword [rbx + 0x3f58], edi
je 0x14004d8fd
bt esi, 0x14
jb 0x14004d856
lea edx, [r15 + 0x281]
mov rcx, r11
call fcn.1400199e0
mov dword [rax + 4], edi
mov dword [rax], edi
mov word [rax + 8], 0
mov r14, qword [rsp + 0x30]
test sil, 0x60
je 0x14004d899
mov rdx, r14
mov ecx, edi
call fcn.14001edb0
mov ebp, esi
mov dword [rbx + 0x3f84], r15d
and ebp, 0x40000
jne 0x14004d886
mov rdx, r14
mov ecx, edi
call fcn.14002ccc0
xor edx, edx
mov rcx, r14
call fcn.140027690
mov r11, qword [0x14011e688]
jmp 0x14004d8a1
mov ebp, esi
and ebp, 0x40000
test sil, 0x10
jne 0x14004d8bb
bt esi, 8
jae 0x14004d8fd
movsxd rax, r15d
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x14004d8fd
mov ecx, 0
mov byte [rsp + 0x20], 1
mov edx, ecx
bt esi, 0x11
cmovae rdx, r14
cmovae ecx, edi
call fcn.14001edb0
test ebp, ebp
jne 0x14004d8e5
mov rdx, r14
mov ecx, edi
call fcn.14002ccc0
xor edx, edx
mov dword [rbx + 0x3f84], r15d
mov rcx, r14
call fcn.140027690
mov r11, qword [0x14011e688]
test sil, sil
jns 0x14004d94e
movsxd rax, dword [rsp + 0x24]
cmp eax, 0xffffffff
je 0x14004d94e
bt esi, 0xa
jae 0x14004d922
vmovss xmm0, dword [rbx + 0x3c]
vcomiss xmm0, dword [rbx + rax*4 + 0x378c]
jbe 0x14004d927
mov byte [rsp + 0x20], 1
mov rbp, qword [rsp + 0x30]
bt esi, 0x12
jb 0x14004d93c
mov rdx, rbp
mov ecx, edi
call fcn.14002ccc0
xor edx, edx
xor ecx, ecx
call fcn.14001edb0
mov r11, qword [0x14011e688]
jmp 0x14004d953
mov rbp, qword [rsp + 0x30]
mov r14d, 1
cmp dword [rbx + 0x3f58], edi
jne 0x14004d99a
bt esi, 0xa
jae 0x14004d99a
movsxd rcx, dword [rbx + 0x3f84]
vcomiss xmm7, dword [rbx + rcx*4 + 0x3778]
jae 0x14004d99a
mov r8d, r14d
mov edx, r12d
call fcn.140028b30
test al, al
je 0x14004d99a
mov byte [rsp + 0x20], r14b
jmp 0x14004d9a1
mov rbp, qword [rsp + 0x30]
mov r14d, 1
cmp byte [rsp + 0x20], 0
je 0x14004d9a8
mov byte [rbx + 0x4916], 1
mov edx, dword [rsp + 0xc8]
xor r13d, r13d
lea r10d, [r13 - 1]
jmp 0x14004d610
vcomiss xmm0, xmm3
jb 0x14004d9c5
xor ecx, ecx
jmp 0x14004da15
vcomiss xmm4, xmm7
ja 0x14004d9e6
vcomiss xmm0, xmm2
jae 0x14004d9dc
vcomiss xmm3, xmm2
jb 0x14004d9dc
mov ecx, r14d
jmp 0x14004da15
mov qword [rsp + 0x40], r13
mov rcx, r13
jmp 0x14004da15
vcomiss xmm0, xmm2
jae 0x14004d9f1
mov eax, r10d
jmp 0x14004d9fd
vsubss xmm0, xmm0, xmm2
vdivss xmm1, xmm0, xmm4
vcvttss2si eax, xmm1
vcomiss xmm3, xmm2
jb 0x14004da0f
vsubss xmm0, xmm3, xmm2
vdivss xmm1, xmm0, xmm4
vcvttss2si r10d, xmm1
sub r10d, eax
mov ecx, r10d
test ecx, ecx
setg cl
cmp dword [rbx + 0x48e8], edi
je 0x14004da26
test cl, cl
je 0x14004da58
mov rdx, rbp
mov ecx, edi
mov r14b, 1
call fcn.14001edb0
mov eax, dword [rbx + 0x490c]
mov dword [rbx + 0x3f80], eax
bt esi, 0x12
jb 0x14004da4f
mov rdx, rbp
mov ecx, edi
call fcn.14002ccc0
mov r11, qword [0x14011e688]
jmp 0x14004da5d
mov r14d, dword [rsp + 0x20]
vmovaps xmm7, xmmword [rsp + 0x50]
xor bpl, bpl
mov r13, qword [rsp + 0x80]
cmp dword [rbx + 0x3f58], edi
jne 0x14004dbe6
mov eax, dword [rbx + 0x3f80]
cmp eax, 1
jne 0x14004dbb7
cmp byte [rbx + 0x3f64], bpl
je 0x14004dac3
vmovss xmm0, dword [rbx + 0xe08]
vmovss xmm1, dword [rbx + 0xe0c]
mov rax, qword [rsp + 0xc0]
vsubss xmm3, xmm0, dword [rax]
vsubss xmm2, xmm1, dword [rax + 4]
vmovss dword [rbx + 0x3f6c], xmm3
vmovss dword [rbx + 0x3f70], xmm2
movsxd rdi, dword [rbx + 0x3f84]
cmp edi, 0xffffffff
jne 0x14004dae5
xor edx, edx
xor ecx, ecx
call fcn.14001edb0
mov r15d, dword [rsp + 0xc8]
jmp 0x14004dba8
cmp byte [rdi + r11 + 0xe10], bpl
je 0x14004db11
lea ecx, [rdi + 0x281]
mov edx, r12d
call fcn.14002a7e0
test al, al
je 0x14004db11
mov r15d, dword [rsp + 0xc8]
mov bpl, 1
jmp 0x14004dba8
mov r15d, dword [rsp + 0xc8]
test r15b, r15b
je 0x14004db24
test sil, 0x20
jne 0x14004db2d
mov eax, esi
shr eax, 6
test al, 1
je 0x14004db9f
mov rax, qword [rsp + 0x38]
cmp byte [rax], bpl
jne 0x14004db9f
bt esi, 8
jae 0x14004db57
cmp byte [rdi + rbx + 0x3766], bpl
je 0x14004db57
cmp word [rbx + rdi*2 + 0x375c], 2
jne 0x14004db57
mov r11b, 1
jmp 0x14004db5a
xor r11b, r11b
bt esi, 0xa
jae 0x14004db75
vmovss xmm0, dword [rbx + 0x3c]
vcomiss xmm0, dword [rbx + rdi*4 + 0x378c]
ja 0x14004db75
mov r10b, 1
jmp 0x14004db78
xor r10b, r10b
lea ecx, [rdi + 0x281]
mov edx, r12d
call fcn.14002a7e0
test r11b, r11b
jne 0x14004db9f
test r10b, r10b
jne 0x14004db9f
test al, al
movzx r14d, r14b
mov eax, 1
cmovne r14d, eax
xor edx, edx
xor ecx, ecx
call fcn.14001edb0
bt esi, 0x12
jb 0x14004dbd8
mov byte [rbx + 0x4916], 1
jmp 0x14004dbd8
add eax, 0xfffffffe
cmp eax, 1
ja 0x14004dbd0
cmp dword [rbx + 0x48ec], edi
je 0x14004dbd0
xor edx, edx
xor ecx, ecx
call fcn.14001edb0
mov r15d, dword [rsp + 0xc8]
test r14b, r14b
je 0x14004dbee
mov byte [rbx + 0x3f67], 1
jmp 0x14004dbee
mov r15d, dword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
test rax, rax
je 0x14004dc1e
mov byte [rax], r15b
mov rax, qword [rsp + 0xd8]
mov r15, qword [rsp + 0x78]
test rax, rax
je 0x14004dc33
mov byte [rax], bpl
movzx eax, r14b
add rsp, 0xa8
pop r14
pop rbp
ret