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

Disassembly:
mov qword [rsp + 0x10], rdx
mov r11, rsp
sub rsp, 0xe8
mov qword [r11 + 0x18], rbx
mov qword [r11 - 0x10], rdi
mov rdi, rcx
mov rcx, qword [rdx]
mov qword [r11 - 0x28], r14
mov r14, 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 + 0xf0]
mov rcx, qword [rax + 0x7d0]
lea r8, [rsp + 0x28]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp ebx, dword [rsp + 0x28]
je 0x44a547
mov rax, qword [rdi + 0x10]
lea r8, [rsp + 0xf0]
mov edx, 0x10000302
mov rcx, qword [rax + 0x6d8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov ebx, dword [rsp + 0xf0]
mov rcx, qword [rax + 0x7d8]
lea r8, [rsp + 0x28]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp ebx, dword [rsp + 0x28]
je 0x44a547
bt dword [rdi + 0x24], 0xb
jae 0x449663
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x844], 0
je 0x449663
mov rcx, qword [r14]
lea r8, [rsp + 0xf0]
mov edx, 0x10000315
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
movzx ebx, byte [rsp + 0xf0]
mov rcx, qword [rax + 0x7d0]
lea r8, [rsp + 0x28]
mov edx, 0x10000315
mov rax, qword [rcx]
call qword [rax + 0x18]
movzx eax, byte [rsp + 0x28]
cmp ebx, eax
jge 0x449663
cmp dword [rdi + 0x1f4], 0
je 0x449648
mov rcx, qword [rdi + 0x10]
call fcn.0040fe40
test al, 0x40
jne 0x449659
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax + 0xa0]
mov eax, 4
jmp 0x44a394
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax + 0xa0]
mov eax, 4
jmp 0x44a394
mov rax, qword [rdi + 0x10]
lea r8, [rsp + 0x58]
mov edx, 0x10000309
mov rcx, qword [rax + 0x7d0]
mov qword [rsp + 0xd0], r12
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x78]
mov rcx, qword [r11 + 0x7d0]
mov edx, 0x1000030a
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [r14]
lea r8, [rsp + 0x3c]
mov rax, qword [rcx]
mov edx, 0x10000309
call qword [rax + 0x18]
mov rcx, qword [r14]
lea r8, [rsp + 0x50]
mov rax, qword [rcx]
mov edx, 0x1000030a
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x68]
mov rcx, qword [r11 + 0x7d8]
mov edx, 0x10000309
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x80]
mov rcx, qword [r11 + 0x7d8]
mov edx, 0x1000030a
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x38]
mov rcx, qword [r11 + 0x6d8]
mov edx, 0x10000309
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x2c]
mov rcx, qword [r11 + 0x6d8]
mov edx, 0x1000030a
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, qword [r11 + 0x7d0]
mov edx, 0x10000304
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11, qword [rdi + 0x10]
lea r8, [rsp + 0x60]
mov rcx, qword [r11 + 0x7d0]
mov edx, 0x10000305
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [r14]
lea r8, [rsp + 0x34]
mov rax, qword [rcx]
mov edx, 0x10000304
call qword [rax + 0x18]
mov rcx, qword [r14]
lea r8, [rsp + 0x30]
mov rax, qword [rcx]
mov edx, 0x10000305
call qword [rax + 0x18]
mov ecx, dword [rdi + 0x24]
mov r12d, 0x59
bt ecx, 0x16
jae 0x4497b5
mov rax, qword [rdi + 0x10]
mov edx, 0x1d
cmp dword [rax + 0x844], 0
cmovne r12d, edx
mov qword [rsp + 0xe0], rsi
xor esi, esi
bt ecx, 0x17
jae 0x449802
mov rax, qword [rdi + 0x10]
mov edx, esi
mov dword [rsp + 0xf0], esi
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x4497f5
mov rax, qword [rcx]
lea r8, [rsp + 0xf0]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov edx, dword [rsp + 0xf0]
mov eax, 0x16
bt edx, 0xb
cmovb r12d, eax
xor r8d, r8d
xor edx, edx
mov rcx, rdi
movdqa xmmword [rsp + 0xa0], xmm6
mov dword [rsp + 0xf0], 0x2a
mov dword [rsp + 0x40], esi
movdqa xmmword [rsp + 0x90], xmm7
call fcn.00471340
and eax, 0x2000000
mov dword [rsp + 0x70], eax
movss xmm6, dword [0x004ee3f4]
movaps xmm7, xmm6
je 0x449882
mov ecx, dword [rdi + 0x254]
movss xmm7, dword [0x004ee3f0]
test ecx, ecx
je 0x449882
cmp ecx, 0x5a
jae 0x449882
cvtsi2sd xmm0, rcx
mulsd xmm0, qword [0x004eae78]
divsd xmm0, qword [0x004eae80]
call fcn.004ab7b0
movaps xmm7, xmm6
cvtsd2ss xmm1, xmm0
divss xmm7, xmm1
mov rcx, qword [r14]
lea r8, [rsp + 0x28]
mov edx, 0x10000302
mov rax, qword [rcx]
mov qword [rsp + 0x108], rbp
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov ebx, dword [rsp + 0x28]
mov rcx, qword [rax + 0x7d0]
lea r8, [rsp + 0x20]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
sub ebx, dword [rsp + 0x20]
mov rcx, qword [rax + 0x6d8]
lea r8, [rsp + 0x28]
mov edx, 0x10000302
mov rax, qword [rcx]
mov dword [rsp + 0x7c], ebx
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov ebp, dword [rsp + 0x28]
mov rcx, qword [rax + 0x7d8]
lea r8, [rsp + 0x20]
mov edx, 0x10000302
mov rax, qword [rcx]
call qword [rax + 0x18]
sub ebp, dword [rsp + 0x20]
mov r8d, ebx
mov rdx, r14
mov rcx, rdi
mov dword [rsp + 0x88], ebp
call fcn.00449390
mov rcx, qword [rdi + 0x10]
cmp dword [rcx + 0x8a4], esi
mov dword [rsp + 0x28], eax
jne 0x449932
cmp eax, 2
je 0x449932
mov dword [rsp + 0x20], esi
jmp 0x44993a
mov dword [rsp + 0x20], 1
bt dword [rdi + 0x24], 0x17
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xb8], r15
jae 0x44997a
mov rcx, qword [rcx + 0x58]
mov eax, esi
mov dword [rsp + 0x24], esi
test rcx, rcx
je 0x449974
mov rax, qword [rcx]
lea r8, [rsp + 0x24]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rsp + 0x24]
bt eax, 0xb
jb 0x449995
bt dword [rdi + 0x24], 0x16
jae 0x449dae
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x844], esi
je 0x449dae
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x3c]
lea r8, [rsp + 0x20]
add eax, ecx
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx + 0x6d0]
cdq
mov r9, qword [rcx]
sub eax, edx
mov edx, dword [rsp + 0x50]
sar eax, 1
mov ebp, eax
mov eax, dword [rsp + 0x2c]
add eax, edx
cdq
sub eax, edx
mov edx, 0x10000309
sar eax, 1
mov dword [rsp + 0x38], eax
call qword [r9 + 0x18]
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx + 0x6d8]
mov ebx, dword [rsp + 0x20]
lea r8, [rsp + 0x2c]
mov rax, qword [rcx]
mov edx, 0x10000309
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x10]
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rcx + 0x6d0]
add eax, ebx
lea r8, [rsp + 0x20]
mov r9, qword [rcx]
cdq
sub eax, edx
mov edx, 0x1000030a
sar eax, 1
mov r13d, eax
call qword [r9 + 0x18]
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx + 0x6d8]
mov ebx, dword [rsp + 0x20]
lea r8, [rsp + 0x2c]
mov rax, qword [rcx]
mov edx, 0x1000030a
call qword [rax + 0x18]
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rdi + 0x10]
add eax, ebx
cdq
sub eax, edx
sar eax, 1
test rcx, rcx
mov ebx, eax
je 0x449a80
add rcx, 0x50
je 0x449a80
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x24], esi
test rcx, rcx
je 0x449a86
mov rax, qword [rcx]
lea r8, [rsp + 0x24]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x24]
jmp 0x449a86
mov r8d, 1
movsd xmm6, qword [0x004eb600]
mov rcx, qword [rdi + 0x10]
sub ebp, r13d
mov eax, ebp
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 r15, xmm1
je 0x449aef
add rcx, 0x50
je 0x449aef
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x24], esi
test rcx, rcx
je 0x449af5
mov rax, qword [rcx]
lea r8, [rsp + 0x24]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x24]
jmp 0x449af5
mov r8d, 1
mov eax, dword [rsp + 0x38]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
test r8d, r8d
mov edx, 0x10000304
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r8d
lea r8, [rsp + 0x20]
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si rax, xmm1
mov qword [rsp + 0x70], rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x6d8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x10]
mov r11d, dword [rsp + 0x34]
mov eax, dword [rsp + 0x20]
mov rcx, qword [rcx + 0x6d8]
lea r8, [rsp + 0x20]
mov r9, qword [rcx]
add eax, r11d
cdq
sub eax, edx
mov edx, 0x10000305
sar eax, 1
mov ebp, eax
call qword [r9 + 0x18]
mov rcx, qword [rdi + 0x10]
mov r11d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x20]
mov rcx, qword [rcx + 0x6d0]
mov r9, qword [rcx]
add eax, r11d
lea r8, [rsp + 0x20]
cdq
sub eax, edx
mov edx, 0x10000304
sar eax, 1
mov dword [rsp + 0x34], eax
call qword [r9 + 0x18]
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx + 0x6d8]
mov ebx, dword [rsp + 0x20]
lea r8, [rsp + 0x30]
mov rax, qword [rcx]
mov edx, 0x10000304
call qword [rax + 0x18]
mov rcx, qword [rdi + 0x10]
mov eax, dword [rsp + 0x30]
mov rcx, qword [rcx + 0x6d0]
add eax, ebx
lea r8, [rsp + 0x20]
mov r9, qword [rcx]
cdq
sub eax, edx
mov edx, 0x10000305
sar eax, 1
mov r13d, eax
call qword [r9 + 0x18]
mov rcx, qword [rdi + 0x10]
mov rcx, qword [rcx + 0x6d8]
mov ebx, dword [rsp + 0x20]
lea r8, [rsp + 0x30]
mov rax, qword [rcx]
mov edx, 0x10000305
call qword [rax + 0x18]
mov eax, dword [rsp + 0x30]
mov rcx, qword [rdi + 0x10]
add eax, ebx
cdq
sub eax, edx
sar eax, 1
test rcx, rcx
mov ebx, eax
je 0x449c4c
add rcx, 0x50
je 0x449c4c
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x24], esi
test rcx, rcx
je 0x449c52
mov rax, qword [rcx]
lea r8, [rsp + 0x24]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x24]
jmp 0x449c52
mov r8d, 1
mov rcx, qword [rdi + 0x10]
sub ebp, r13d
mov eax, ebp
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 0x449cb3
add rcx, 0x50
je 0x449cb3
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x24], esi
test rcx, rcx
je 0x449cb9
mov rax, qword [rcx]
lea r8, [rsp + 0x24]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x24]
jmp 0x449cb9
mov r8d, 1
mov eax, dword [rsp + 0x34]
mov rcx, qword [r14]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
test r8d, r8d
mov edx, 0x10000315
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r8d
lea r8, [rsp + 0x20]
cvtsi2sd xmm0, eax
mov rax, qword [rcx]
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si rbp, xmm1
call qword [rax + 0x18]
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x6d0]
movzx ebx, byte [rsp + 0x20]
lea r8, [rsp + 0x30]
mov rax, qword [rcx]
mov edx, 0x10000315
call qword [rax + 0x18]
movzx eax, byte [rsp + 0x30]
cmp ebx, eax
jne 0x449d3f
mov rax, qword [rsp + 0x70]
cmp r15d, r13d
cmova r13d, r15d
add dword [rdi + 0x1bc], r13d
cmp eax, ebp
cmova ebp, eax
add dword [rdi + 0x1c0], ebp
mov ecx, dword [rdi + 0x1bc]
mov eax, dword [rdi + 0x30]
mov r15d, dword [rdi + 0x1c0]
shr eax, 3
mov r13d, r15d
mov qword [rsp + 0x58], rcx
and eax, 1
cmovne r13d, ecx
cmp r13d, r12d
mov r14d, r13d
jae 0x449d6e
cmp r13d, r12d
jb 0x449d9c
test eax, eax
je 0x449d90
cmp ecx, r15d
mov edx, esi
mov ebx, ecx
seta dl
test eax, eax
cmovne ebx, r15d
mov dword [rsp + 0x40], edx
mov r12d, ebx
mov ebp, ebx
jmp 0x44a20b
mov edx, esi
cmp r15d, ecx
seta dl
mov dword [rsp + 0x40], edx
mov ebx, ecx
test eax, eax
cmovne ebx, r15d
mov r12d, ebx
mov ebp, ebx
jmp 0x44a20b
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x449de7
lea rcx, [rax + 0x50]
test rcx, rcx
je 0x449de7
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x24], esi
test rcx, rcx
je 0x449ded
mov rax, qword [rcx]
lea r8, [rsp + 0x24]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x24]
jmp 0x449ded
mov r8d, 1
mov eax, dword [rsp + 0x3c]
movsd xmm6, qword [0x004eb600]
mov rcx, qword [rdi + 0x10]
sub eax, dword [rsp + 0x58]
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 rbp, xmm1
mov qword [rsp + 0x58], rbp
je 0x449e5e
add rcx, 0x50
je 0x449e5e
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x3c], esi
test rcx, rcx
je 0x449e64
mov rax, qword [rcx]
lea r8, [rsp + 0x3c]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x3c]
jmp 0x449e64
mov r8d, 1
mov eax, dword [rsp + 0x50]
mov rcx, qword [rdi + 0x10]
sub eax, dword [rsp + 0x78]
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 r15, xmm1
je 0x449ec8
add rcx, 0x50
je 0x449ec8
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x50], esi
test rcx, rcx
je 0x449ece
mov rax, qword [rcx]
lea r8, [rsp + 0x50]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x50]
jmp 0x449ece
mov r8d, 1
mov eax, dword [rsp + 0x38]
mov rcx, qword [rdi + 0x10]
sub eax, dword [rsp + 0x68]
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 0x449f32
add rcx, 0x50
je 0x449f32
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x38], esi
test rcx, rcx
je 0x449f38
mov rax, qword [rcx]
lea r8, [rsp + 0x38]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x38]
jmp 0x449f38
mov r8d, 1
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rdi + 0x10]
sub eax, dword [rsp + 0x80]
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
mov qword [rsp + 0x80], r14
je 0x449fa7
add rcx, 0x50
je 0x449fa7
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x2c], esi
test rcx, rcx
je 0x449fad
mov rax, qword [rcx]
lea r8, [rsp + 0x2c]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x2c]
jmp 0x449fad
mov r8d, 1
mov eax, dword [rsp + 0x34]
mov rcx, qword [rdi + 0x10]
sub eax, dword [rsp + 0x48]
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 rax, xmm1
mov qword [rsp + 0x48], rax
je 0x44a016
add rcx, 0x50
je 0x44a016
mov rcx, qword [rcx + 8]
mov r8d, esi
mov dword [rsp + 0x34], esi
test rcx, rcx
je 0x44a01c
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x34]
jmp 0x44a01c
mov r8d, 1
mov eax, dword [rsp + 0x30]
sub eax, dword [rsp + 0x60]
cdq
xor eax, edx
sub eax, edx
test r8d, r8d
cvtsi2sd xmm1, eax
mov eax, 1
cmovne eax, r8d
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si rax, xmm1
mov qword [rsp + 0x60], rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x288]
test rcx, rcx
je 0x44a069
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x44a083
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x290]
test rcx, rcx
je 0x44a0a7
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
je 0x44a0a7
mov rax, qword [rdi + 0x10]
xor edx, edx
movsd xmm0, qword [rax + 0x7f8]
mulsd xmm0, xmm6
cvttsd2si rax, xmm0
div dword [rdi + 0x250]
mov dword [rsp + 0xf0], eax
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
mov ecx, dword [rdi + 0x30]
shr ecx, 3
mov r13d, r15d
mov r8d, eax
and ecx, 1
cmovne r13d, ebp
test ecx, ecx
cmovne r14d, ebx
test ecx, ecx
cmovne r8d, edx
test ecx, ecx
cmovne ebp, r15d
test ecx, ecx
cmovne ebx, dword [rsp + 0x80]
test ecx, ecx
mov ecx, dword [rsp + 0x20]
cmovne edx, eax
test ecx, ecx
cmovne ebp, edx
cmp dword [rsp + 0x70], esi
mov qword [rsp + 0x48], rdx
jne 0x44a1ea
test ecx, ecx
mov eax, r13d
cmovne eax, r8d
cmp eax, r12d
ja 0x44a114
cmp r14d, r12d
jbe 0x44a1e3
cmp dword [rsp + 0x28], 2
mov dword [rsp + 0x40], 1
jne 0x44a1ff
mov eax, edx
cvtsi2ss xmm1, rax
mov eax, r8d
cvtsi2ss xmm0, rax
mulss xmm0, xmm7
comiss xmm1, xmm0
jbe 0x44a1f8
mov eax, ebx
cvtsi2ss xmm1, rax
mov eax, r14d
cvtsi2ss xmm0, rax
mulss xmm0, xmm7
comiss xmm1, xmm0
jbe 0x44a1f1
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x44a16e
lea r8, [rdx + 0x50]
jmp 0x44a171
mov r8, rsi
mov rcx, qword [rsp + 0xf8]
add rdx, 0x7d0
call fcn.004479d0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
movsd xmm6, xmm0
mulsd xmm6, qword [0x004ee3e8]
je 0x44a1a0
lea r8, [rcx + 0x50]
jmp 0x44a1a3
mov r8, rsi
lea rdx, [rcx + 0x7d8]
add rcx, 0x6d8
call fcn.004479d0
mulsd xmm0, qword [0x004ee3e8]
subsd xmm6, xmm0
movsd xmm0, qword [0x004ee210]
andpd xmm6, xmmword [0x004eae60]
comisd xmm0, xmm6
jbe 0x44a206
mov r12, qword [rsp + 0x48]
mov dword [rsp + 0x40], esi
jmp 0x44a20b
mov r12, qword [rsp + 0x48]
jmp 0x44a20b
mov r12, qword [rsp + 0x48]
jmp 0x44a20b
mov r12, qword [rsp + 0x48]
jmp 0x44a20b
mov r12, qword [rsp + 0x48]
jmp 0x44a20b
mov r12, qword [rsp + 0x48]
jmp 0x44a20b
mov r12, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rdi + 0x10]
call fcn.004107d0
test eax, eax
movdqa xmm6, xmmword [rsp + 0xa0]
je 0x44a254
mov rcx, qword [rdi + 0x10]
lea rdx, [rcx + 0x7d0]
call fcn.004107d0
test eax, eax
je 0x44a254
mov eax, dword [rsp + 0xf0]
shr eax, 1
cmp ebp, eax
jae 0x44a254
mov dword [rsp + 0x20], 1
jmp 0x44a258
mov dword [rsp + 0x20], esi
mov rcx, qword [rdi + 0x10]
lea rdx, [rcx + 0x6d8]
call fcn.004107d0
test eax, eax
je 0x44a2a2
mov rcx, qword [rdi + 0x10]
lea rdx, [rcx + 0x7d8]
call fcn.004107d0
test eax, eax
je 0x44a298
mov r8d, dword [rsp + 0xf0]
mov eax, r8d
shr eax, 1
cmp ebx, eax
jae 0x44a2aa
mov eax, 1
jmp 0x44a2ac
mov r8d, dword [rsp + 0xf0]
jmp 0x44a2aa
mov r8d, dword [rsp + 0xf0]
mov eax, esi
cmp ebp, r8d
mov ecx, esi
setae cl
cmp dword [rsp + 0x20], esi
je 0x44a2bf
cmp ebx, r8d
jae 0x44a2c7
test eax, eax
je 0x44a2cc
test ecx, ecx
je 0x44a2cc
mov esi, 1
cmp dword [rsp + 0x40], 0
jne 0x44a4fb
test esi, esi
jne 0x44a4fb
mov rcx, qword [rdi + 0x10]
cmp dword [rcx + 0x7f0], 5
je 0x44a30a
mov rsi, qword [rsp + 0xf8]
mov rdx, rsi
call fcn.0040bfa0
test eax, eax
je 0x44a361
mov r8d, dword [rsp + 0xf0]
jmp 0x44a312
mov rsi, qword [rsp + 0xf8]
cmp ebp, r8d
jbe 0x44a361
cmp ebx, r8d
jbe 0x44a361
mov eax, r13d
cvtsi2ss xmm0, rax
mulss xmm0, xmm7
cvttss2si rax, xmm0
cmp ebp, eax
jbe 0x44a361
mov ecx, r14d
cvtsi2ss xmm0, rcx
mulss xmm0, xmm7
cvttss2si rcx, xmm0
cmp ebx, ecx
jbe 0x44a361
mov ecx, dword [rsp + 0x28]
cmp ecx, 1
jne 0x44a3b4
sub ebp, ebx
mov eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, r8d
jb 0x44a453
xor eax, eax
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0x108]
movdqa xmm7, xmmword [rsp + 0x90]
mov rsi, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x100]
add rsp, 0xe8
ret
cvtsi2sd xmm4, dword [rsp + 0x7c]
cvtsi2sd xmm0, dword [rsp + 0x88]
mov eax, ebp
cvtsi2sd xmm2, rax
mov eax, ebx
cvtsi2sd xmm1, rax
divsd xmm2, xmm4
divsd xmm1, xmm0
comisd xmm2, xmm1
jbe 0x44a3e5
movsd xmm0, xmm2
jmp 0x44a3e9
movsd xmm0, xmm1
comisd xmm1, xmm2
ja 0x44a3f3
movsd xmm2, xmm1
movsd xmm3, qword [0x004ee208]
divsd xmm0, xmm2
comisd xmm3, xmm0
ja 0x44a453
cmp ecx, 2
jne 0x44a361
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x8a4], 0
jne 0x44a361
mov eax, r12d
cvtsi2sd xmm0, rax
divsd xmm0, xmm4
comisd xmm0, xmm1
jbe 0x44a437
movsd xmm2, xmm0
jmp 0x44a43b
movsd xmm2, xmm1
comisd xmm1, xmm0
ja 0x44a445
movsd xmm0, xmm1
divsd xmm2, xmm0
comisd xmm3, xmm2
jbe 0x44a361
mov dword [rdi + 0x1c4], 1
mov rcx, qword [rsi]
lea r8, [rsp + 0xf8]
mov rax, qword [rcx]
mov edx, 0x10000302
call qword [rax + 0x18]
bt dword [rdi + 0x24], 0xb
mov r11d, dword [rsp + 0xf8]
mov dword [rdi + 0x240], r11d
jae 0x44a4a8
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x844], 0
je 0x44a4a8
mov rax, qword [rsp + 0x58]
mov dword [rdi + 0x1c0], r15d
mov dword [rdi + 0x1bc], eax
mov rcx, qword [rdi + 0x10]
lea rdx, [rcx + 0x7d0]
call fcn.004107d0
test eax, eax
jne 0x44a4d0
mov rcx, qword [rdi + 0x10]
lea rdx, [rcx + 0x7d8]
call fcn.004107d0
test eax, eax
je 0x44a4f1
lea rdx, [rdi + 0x1d8]
cmp dword [rdx], 0xffffffff
je 0x44a4f1
cmp dword [rdi + 0x1dc], 0xffffffff
je 0x44a4f1
lea rcx, [0x00526770]
call fcn.00405820
mov eax, 1
jmp 0x44a363
cmp dword [rdi + 0x1f4], 0
je 0x44a52c
mov rcx, qword [rdi + 0x10]
call fcn.0040fe40
test al, 0x40
jne 0x44a53d
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax + 0xa0]
mov eax, 4
jmp 0x44a363
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax + 0xa0]
mov eax, 4
jmp 0x44a363
xor eax, eax
jmp 0x44a394
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 0x44a5e3
mov ecx, dword [rcx + 0x24]
bt ecx, 0xb
jae 0x44a588
cmp dword [rax + 0x844], edi
jne 0x44a5c5
bt ecx, 0x16
jae 0x44a596
cmp dword [rax + 0x844], edi
jne 0x44a5c5
bt ecx, 0x17
jae 0x44a5e3
mov rcx, qword [rax + 0x58]
mov edx, edi
mov dword [rsp + 0x20], edi
test rcx, rcx
je 0x44a5bf
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov edx, dword [rsp + 0x20]
bt edx, 0xb
jae 0x44a5e3
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 0x449510
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 0x44a63f
add rcx, 0x50
je 0x44a63f
mov rcx, qword [rcx + 8]
mov r8d, edi
mov dword [rsp + 0x20], edi
test rcx, rcx
je 0x44a645
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x20]
jmp 0x44a645
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 [0x004eb600]
cvttsd2si rbp, xmm1
je 0x44a6b6
add rcx, 0x50
je 0x44a6b6
mov rcx, qword [rcx + 8]
mov r8d, edi
mov dword [rsp + 0x20], edi
test rcx, rcx
je 0x44a6bc
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x20]
jmp 0x44a6bc
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 + 0x30]
mov edx, eax
shr edx, 3
and edx, 1
divsd xmm1, xmm0
mulsd xmm1, qword [0x004eb600]
cvttsd2si r8, xmm1
cmovne ecx, r8d
test al, al
js 0x44a716
mov edi, r8d
test edx, edx
cmovne edi, ebp
cmp dword [rbx + 0x1f0], 0
mov rbp, qword [rsp + 0x48]
jne 0x44a738
mov eax, dword [rbx + 0x24]
bt eax, 0x14
jae 0x44a731
test al, 1
jne 0x44a738
mov eax, 3
jmp 0x44a73d
mov eax, 1
cmp edi, 0x59
jbe 0x44a7d4
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.00471340
bt eax, 0x19
jb 0x44a773
mov eax, dword [rbx + 0x24]
bt eax, 0x14
jae 0x44a78e
test al, 1
je 0x44a78e
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 + 0x1f4], 0
je 0x44a7bc
mov rcx, qword [rbx + 0x10]
call fcn.0040fe40
test al, 0x40
jne 0x44a7cd
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + 0xa0]
mov eax, 4
jmp 0x44a775
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + 0xa0]
mov eax, 4
jmp 0x44a775
cmp ecx, 0x2a
jbe 0x44a773
imul eax, edi
cmp ecx, eax
jbe 0x44a773
mov eax, 1
jmp 0x44a775