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

Disassembly:
mov qword [rsp + 0x10], rdx
mov r11, rsp
sub rsp, 0x98
mov qword [r11 + 0x18], rbx
mov qword [r11 - 0x10], rdi
mov rdi, rcx
mov rcx, qword [rdx]
mov qword [r11 - 0x30], r15
mov r15, rdx
mov rax, qword [rcx]
lea r8, [r11 + 8]
mov edx, 0x10000302
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov ebx, dword [rsp + 0xa0]
mov rcx, qword [rax + 0x7d0]
lea r8, [rsp + 0x24]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp ebx, dword [rsp + 0x24]
je 0x443519
mov rax, qword [rdi + 0x10]
lea r8, [rsp + 0xa0]
mov edx, 0x10000302
mov rcx, qword [rax + 0x6e0]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov ebx, dword [rsp + 0xa0]
mov rcx, qword [rax + 0x7d8]
lea r8, [rsp + 0x24]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp ebx, dword [rsp + 0x24]
je 0x443519
mov rax, qword [rdi + 0x10]
lea r8, [rsp + 0x34]
mov edx, 0x10000309
mov rcx, qword [rax + 0x7d0]
mov qword [rsp + 0xb8], rbp
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x3c]
mov rcx, qword [r11 + 0x7d0]
mov edx, 0x1000030a
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [r15]
lea r8, [rsp + 0x30]
mov rax, qword [rcx]
mov edx, 0x10000309
call qword [rax + 0x18]
mov rcx, qword [r15]
lea r8, [rsp + 0x2c]
mov rax, qword [rcx]
mov edx, 0x1000030a
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x38]
mov rcx, qword [r11 + 0x7d8]
mov edx, 0x10000309
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x40]
mov rcx, qword [r11 + 0x7d8]
mov edx, 0x1000030a
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x28]
mov rcx, qword [r11 + 0x6e0]
mov edx, 0x10000309
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x20]
mov rcx, qword [r11 + 0x6e0]
mov edx, 0x1000030a
mov rax, qword [rcx]
call qword [rax + 0x18]
mov ecx, dword [rdi + 0x24]
mov ebp, 0x59
bt ecx, 0x16
jae 0x442d0a
mov rax, qword [rdi + 0x10]
mov edx, 0x1d
cmp dword [rax + 0x844], 0
cmovne ebp, edx
mov qword [rsp + 0x90], rsi
xor esi, esi
bt ecx, 0x17
jae 0x442d56
mov rax, qword [rdi + 0x10]
mov edx, esi
mov dword [rsp + 0xa0], esi
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x442d4a
mov rax, qword [rcx]
lea r8, [rsp + 0xa0]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov edx, dword [rsp + 0xa0]
mov eax, 0x16
bt edx, 0xb
cmovb ebp, eax
bt dword [rdi + 0x24], 0x17
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x24], 0x2a
movdqa xmmword [rsp + 0x50], xmm6
jae 0x442db6
mov rax, qword [rdi + 0x10]
mov r8d, esi
mov dword [rsp + 0xa0], esi
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x442daf
mov rax, qword [rcx]
lea r8, [rsp + 0xa0]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov r8d, dword [rsp + 0xa0]
bt r8d, 0xb
jb 0x442dd1
bt dword [rdi + 0x24], 0x16
jae 0x443022
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x844], esi
je 0x443022
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x28]
lea r8, [rsp + 0xa0]
add eax, ecx
mov ecx, dword [rsp + 0x2c]
cdq
sub eax, edx
sar eax, 1
mov r12d, eax
mov eax, dword [rsp + 0x20]
add eax, ecx
cdq
sub eax, edx
mov edx, 0x10000309
sar eax, 1
mov r13d, eax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x6d8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov ebx, dword [rsp + 0xa0]
mov rcx, qword [rax + 0x6e0]
lea r8, [rsp + 0x20]
mov edx, 0x10000309
mov rax, qword [rcx]
call qword [rax + 0x18]
mov eax, dword [rsp + 0x20]
lea r8, [rsp + 0xa0]
add eax, ebx
cdq
sub eax, edx
mov edx, 0x1000030a
sar eax, 1
mov r14d, eax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x6d8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov ebx, dword [rsp + 0xa0]
mov rcx, qword [rax + 0x6e0]
lea r8, [rsp + 0x20]
mov edx, 0x1000030a
mov rax, qword [rcx]
call qword [rax + 0x18]
mov eax, dword [rsp + 0x20]
mov rcx, qword [rdi + 0x10]
add eax, ebx
cdq
sub eax, edx
sar eax, 1
test rcx, rcx
mov dword [rsp + 0x28], eax
je 0x442ed1
add rcx, 0x50
je 0x442ed1
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0xa0], esi
test rcx, rcx
je 0x442ed7
mov rax, qword [rcx]
lea r8, [rsp + 0xa0]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0xa0]
jmp 0x442ed7
mov r8d, 1
movsd xmm6, qword [0x004d3ca0]
mov rcx, qword [rdi + 0x10]
sub r12d, r14d
mov eax, r12d
cdq
xor eax, edx
sub eax, edx
test r8d, r8d
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r8d
test rcx, rcx
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si r14, xmm1
je 0x442f4a
add rcx, 0x50
je 0x442f4a
mov rcx, qword [rcx + 8]
mov r12d, esi
mov dword [rsp + 0xa0], esi
test rcx, rcx
je 0x442f50
mov rax, qword [rcx]
lea r8, [rsp + 0xa0]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r12d, dword [rsp + 0xa0]
jmp 0x442f50
mov r12d, 1
mov rcx, qword [r15]
lea r8, [rsp + 0xa0]
mov edx, 0x10000315
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
movzx ebx, byte [rsp + 0xa0]
mov rcx, qword [rax + 0x6d8]
lea r8, [rsp + 0x20]
mov edx, 0x10000315
mov rax, qword [rcx]
call qword [rax + 0x18]
movzx eax, byte [rsp + 0x20]
cmp ebx, eax
jne 0x442fcd
sub r13d, dword [rsp + 0x28]
add dword [rdi + 0x1bc], r14d
mov eax, r13d
cdq
xor eax, edx
sub eax, edx
test r12d, r12d
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r12d
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si rax, xmm1
add dword [rdi + 0x1c0], eax
mov r14d, dword [rdi + 0x1c0]
mov ebx, dword [rdi + 0x1bc]
mov eax, dword [rdi + 0x2c]
shr eax, 3
mov r12d, r14d
mov r13d, ebx
and eax, 1
mov ecx, r14d
cmovne r12d, ebx
cmp r12d, ebp
mov r15d, r12d
jae 0x443001
cmp r12d, ebp
jb 0x443320
test eax, eax
je 0x44300e
cmp ebx, r14d
seta sil
jmp 0x443015
cmp r14d, ebx
seta sil
test esi, esi
je 0x443320
jmp 0x44328a
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x443064
lea rcx, [rax + 0x50]
test rcx, rcx
je 0x443064
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0xa0], esi
test rcx, rcx
je 0x44306a
mov rax, qword [rcx]
lea r8, [rsp + 0xa0]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0xa0]
jmp 0x44306a
mov r8d, 1
mov eax, dword [rsp + 0x30]
movsd xmm6, qword [0x004d3ca0]
mov rcx, qword [rdi + 0x10]
sub eax, dword [rsp + 0x34]
cdq
xor eax, edx
sub eax, edx
test r8d, r8d
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r8d
test rcx, rcx
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si rbx, xmm1
je 0x4430df
add rcx, 0x50
je 0x4430df
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0xa0], esi
test rcx, rcx
je 0x4430e5
mov rax, qword [rcx]
lea r8, [rsp + 0xa0]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r8d, dword [rsp + 0xa0]
jmp 0x4430e5
mov r8d, 1
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rdi + 0x10]
sub eax, dword [rsp + 0x3c]
cdq
xor eax, edx
sub eax, edx
test r8d, r8d
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r8d
test rcx, rcx
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si r14, xmm1
je 0x443152
add rcx, 0x50
je 0x443152
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0xa0], esi
test rcx, rcx
je 0x443158
mov rax, qword [rcx]
lea r8, [rsp + 0xa0]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0xa0]
jmp 0x443158
mov r8d, 1
mov eax, dword [rsp + 0x28]
mov rcx, qword [rdi + 0x10]
sub eax, dword [rsp + 0x38]
cdq
xor eax, edx
sub eax, edx
test r8d, r8d
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r8d
test rcx, rcx
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si r13, xmm1
je 0x4431c1
add rcx, 0x50
je 0x4431c1
mov rcx, qword [rcx + 8]
mov dword [rsp + 0xa0], esi
test rcx, rcx
je 0x4431c6
mov rax, qword [rcx]
lea r8, [rsp + 0xa0]
mov edx, 0x10000114
call qword [rax + 0x18]
mov esi, dword [rsp + 0xa0]
jmp 0x4431c6
mov esi, 1
mov eax, dword [rsp + 0x20]
sub eax, dword [rsp + 0x40]
cdq
xor eax, edx
sub eax, edx
test esi, esi
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, esi
cvtsi2sd xmm0, eax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x288]
test rcx, rcx
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si r15, xmm1
mov qword [rsp + 0xa0], r15
je 0x443214
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x44322e
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x290]
test rcx, rcx
je 0x44324f
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
je 0x44324f
mov rax, qword [rdi + 0x10]
xor edx, edx
movsd xmm0, qword [rax + 0x7f8]
mulsd xmm0, xmm6
cvttsd2si rax, xmm0
div dword [rdi + 0x23c]
mov dword [rsp + 0x24], eax
mov ecx, dword [rdi + 0x2c]
mov r12d, r14d
shr ecx, 3
and ecx, 1
cmovne r12d, ebx
test ecx, ecx
mov rcx, rdi
cmovne r15d, r13d
xor r8d, r8d
xor edx, edx
call fcn.00462d60
bt eax, 0x19
jb 0x443318
cmp r12d, ebp
ja 0x44328a
cmp r15d, ebp
jbe 0x44330e
cmp dword [rdi + 0x1ec], 0
je 0x4432b3
mov rcx, qword [rdi + 0x10]
call fcn.0040d4b0
test al, 0x40
jne 0x4432c4
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax + 0xa0]
jmp 0x4432c4
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax + 0xa0]
mov eax, 4
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
movdqa xmm6, xmmword [rsp + 0x50]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xb8]
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x98
ret
mov rcx, qword [rsp + 0xa0]
jmp 0x443320
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rdi + 0x2c]
shr eax, 3
and eax, 1
cmovne ebx, r14d
test eax, eax
cmovne r13d, ecx
mov rcx, qword [rdi + 0x10]
cmp dword [rcx + 0x7f0], 5
jne 0x44334f
mov rbp, qword [rsp + 0xa8]
mov esi, 1
jmp 0x443361
mov rbp, qword [rsp + 0xa8]
mov rdx, rbp
call fcn.0040a420
mov esi, eax
movss xmm6, dword [0x004d6c4c]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.00462d60
bt eax, 0x19
jae 0x4433bd
mov ecx, dword [rdi + 0x240]
movss xmm6, dword [0x004d6c48]
test ecx, ecx
je 0x4433bd
cmp ecx, 0x5a
jae 0x4433bd
cvtsi2sd xmm0, rcx
mulsd xmm0, qword [0x004d3e38]
divsd xmm0, qword [0x004d3e40]
call fcn.00494520
movss xmm6, dword [0x004d6c4c]
cvtsd2ss xmm1, xmm0
divss xmm6, xmm1
test esi, esi
je 0x4434ef
mov r14d, dword [rsp + 0x24]
cmp ebx, r14d
jbe 0x4434ef
cmp r13d, r14d
jbe 0x4434ef
mov eax, r12d
cvtsi2ss xmm0, rax
mulss xmm0, xmm6
cvttss2si rax, xmm0
cmp ebx, eax
jbe 0x4434ef
mov eax, r15d
cvtsi2ss xmm0, rax
mulss xmm0, xmm6
cvttss2si rax, xmm0
cmp r13d, eax
jbe 0x4434ef
mov rcx, qword [rbp]
lea r8, [rsp + 0xa8]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov ebp, dword [rsp + 0xa8]
mov rcx, qword [rax + 0x7d0]
lea r8, [rsp + 0xa0]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
sub ebp, dword [rsp + 0xa0]
mov rcx, qword [rax + 0x6e0]
lea r8, [rsp + 0xa8]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov esi, dword [rsp + 0xa8]
mov rcx, qword [rax + 0x7d8]
lea r8, [rsp + 0xa0]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp ebp, 0x190
jge 0x4434f6
sub esi, dword [rsp + 0xa0]
mov eax, ebx
cvtsi2sd xmm0, ebp
cvtsi2sd xmm1, rax
mov eax, r13d
cvtsi2sd xmm2, rax
divsd xmm1, xmm0
cvtsi2sd xmm0, esi
divsd xmm2, xmm0
comisd xmm1, xmm2
jbe 0x4434cf
movsd xmm3, xmm1
jmp 0x4434d3
movsd xmm3, xmm2
comisd xmm2, xmm1
ja 0x4434dd
movsd xmm1, xmm2
movsd xmm0, qword [0x004d6a98]
divsd xmm3, xmm1
comisd xmm0, xmm3
ja 0x443505
xor eax, eax
jmp 0x4432c9
sub ebx, r13d
mov eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, r14d
jae 0x4434ef
mov dword [rdi + 0x1c4], 1
mov eax, 1
jmp 0x4432c9
xor eax, eax
jmp 0x4432f1
sub rsp, 0x38
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
xor edi, edi
mov rsi, rdx
cmp dword [rax + 0x83c], edi
mov rbx, rcx
je 0x4435b3
mov ecx, dword [rcx + 0x24]
bt ecx, 0xb
jae 0x443558
cmp dword [rax + 0x844], edi
jne 0x443595
bt ecx, 0x16
jae 0x443566
cmp dword [rax + 0x844], edi
jne 0x443595
bt ecx, 0x17
jae 0x4435b3
mov rcx, qword [rax + 0x58]
mov edx, edi
mov dword [rsp + 0x20], edi
test rcx, rcx
je 0x44358f
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov edx, dword [rsp + 0x20]
bt edx, 0xb
jae 0x4435b3
mov rdx, rsi
mov rcx, rbx
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
add rsp, 0x38
jmp 0x442b70
mov rcx, qword [rsi]
lea r8, [rsp + 0x24]
mov edx, 0x10000309
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rsi]
lea r8, [rsp + 0x28]
mov rax, qword [rcx]
mov edx, 0x1000030a
call qword [rax + 0x18]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x44360f
add rcx, 0x50
je 0x44360f
mov rcx, qword [rcx + 8]
mov r8d, edi
mov dword [rsp + 0x20], edi
test rcx, rcx
je 0x443615
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x20]
jmp 0x443615
mov r8d, 1
mov esi, dword [rsp + 0x24]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x48], rbp
mov eax, esi
sub eax, dword [rbx + 0x1d0]
cdq
xor eax, edx
sub eax, edx
test r8d, r8d
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r8d
test rcx, rcx
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
mulsd xmm1, qword [0x004d3ca0]
cvttsd2si rbp, xmm1
je 0x443686
add rcx, 0x50
je 0x443686
mov rcx, qword [rcx + 8]
mov r8d, edi
mov dword [rsp + 0x20], edi
test rcx, rcx
je 0x44368c
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x20]
jmp 0x44368c
mov r8d, 1
mov qword [rsp + 0x30], r12
mov r12d, dword [rsp + 0x28]
mov ecx, ebp
mov eax, r12d
sub eax, dword [rbx + 0x1d4]
cdq
xor eax, edx
sub eax, edx
test r8d, r8d
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r8d
cvtsi2sd xmm0, eax
mov eax, dword [rbx + 0x2c]
mov edx, eax
shr edx, 3
and edx, 1
divsd xmm1, xmm0
mulsd xmm1, qword [0x004d3ca0]
cvttsd2si r8, xmm1
cmovne ecx, r8d
test al, al
js 0x4436e6
mov edi, r8d
test edx, edx
cmovne edi, ebp
cmp dword [rbx + 0x1e8], 0
mov rbp, qword [rsp + 0x48]
jne 0x443708
mov eax, dword [rbx + 0x24]
bt eax, 0x14
jae 0x443701
test al, 1
jne 0x443708
mov eax, 3
jmp 0x44370d
mov eax, 1
cmp edi, 0x59
jbe 0x4437a4
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.00462d60
bt eax, 0x19
jb 0x443743
mov eax, dword [rbx + 0x24]
bt eax, 0x14
jae 0x44375e
test al, 1
je 0x44375e
mov dword [rbx + 0x1d0], esi
mov dword [rbx + 0x1d4], r12d
xor eax, eax
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
add rsp, 0x38
ret
cmp dword [rbx + 0x1ec], 0
je 0x44378c
mov rcx, qword [rbx + 0x10]
call fcn.0040d4b0
test al, 0x40
jne 0x44379d
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + 0xa0]
mov eax, 4
jmp 0x443745
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + 0xa0]
mov eax, 4
jmp 0x443745
cmp ecx, 0x2a
jbe 0x443743
imul eax, edi
cmp ecx, eax
jbe 0x443743
mov eax, 1
jmp 0x443745