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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x280
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x180042030]
xor rax, rsp
mov qword [rbp + 0xd8], rax
mov qword [rbp - 0x70], r8
mov r15, rcx
mov qword [rbp - 0x20], rcx
mov rbx, qword [0x180042af8]
mov r13, rbx
mov qword [rsp + 0x70], rbx
mov rax, qword [rbx + 0x1c20]
mov byte [rax + 0x90], 1
mov r14, qword [rbx + 0x1c20]
mov qword [rbp - 0x40], r14
cmp byte [r14 + 0x93], 0
jne 0x18002fc4c
mov edi, dword [rbp + 0x1e8]
mov esi, edi
shr esi, 0x1a
and sil, 1
mov dword [rsp + 0x5c], esi
mov eax, edi
shr eax, 0xe
and al, 1
mov dword [rsp + 0x60], eax
mov eax, edi
shr eax, 0xf
and al, 1
mov dword [rbp - 0x5c], eax
mov eax, edi
shr eax, 0x10
not al
and al, 1
mov dword [rsp + 0x64], eax
mov eax, edi
shr eax, 0x12
and al, 1
mov dword [rsp + 0x7c], eax
test sil, sil
je 0x18002f785
call fcn.180010280
mov rbx, qword [0x180042af8]
movsxd rcx, dword [r14 + 0xc8]
mov rax, qword [r14 + 0xd0]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
mov rcx, r15
call fcn.180003a60
mov r12d, eax
mov dword [rsp + 0x78], eax
cmp dword [rbx + 0x1c6c], eax
jne 0x18002f7b7
mov dword [rbx + 0x1c70], eax
cmp dword [rbx + 0x1ca8], r12d
jne 0x18002f7c7
mov byte [rbx + 0x1cac], 1
cmp dword [rbx + 0x1c54], r12d
jne 0x18002f7e7
mov r8, r15
mov edx, 0xb
mov ecx, r12d
call fcn.1800169f0
mov rbx, qword [0x180042af8]
mov rax, r15
cmp r15, 0xffffffffffffffff
jae 0x18002f80a
movzx ecx, byte [rax]
test cl, cl
je 0x18002f80a
cmp cl, 0x23
jne 0x18002f801
cmp byte [rax + 1], cl
je 0x18002f80a
inc rax
cmp rax, 0xffffffffffffffff
jb 0x18002f7f0
movss xmm0, dword [rbx + 0x1990]
movss xmm1, dword [0x18003c7ac]
movss dword [rbp - 0x4c], xmm1
movss xmm8, dword [0x18003c79c]
movss dword [rbp - 0x60], xmm8
cmp r15, rax
jne 0x18002f838
xorps xmm7, xmm7
jmp 0x18002f87c
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
movss dword [rsp + 0x20], xmm1
movaps xmm3, xmm8
movaps xmm2, xmm0
lea rdx, [rbp - 0x78]
mov rcx, qword [rbx + 0x1988]
call fcn.180025c70
movss xmm0, dword [rbp - 0x78]
addss xmm0, dword [0x18003c6cc]
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss xmm0, dword [rbp - 0x74]
xorps xmm11, xmm11
movss dword [rbp - 0x48], xmm7
test sil, sil
je 0x18002f89b
movss xmm0, dword [r13 + 0x1990]
mulss xmm0, dword [0x18003c724]
movss xmm6, dword [r13 + 0x15b0]
movaps xmm3, xmm6
addss xmm3, xmm6
addss xmm3, xmm0
call fcn.180010100
movaps xmm2, xmm0
mov rdx, qword [rbp + 0x1e0]
mov rdx, qword [rdx]
lea rcx, [rbp - 0x28]
call fcn.180010180
comiss xmm7, xmm11
jbe 0x18002f8de
movaps xmm1, xmm7
addss xmm1, dword [r13 + 0x15c4]
jmp 0x18002f8e1
xorps xmm1, xmm1
movss xmm12, dword [r14 + 0xdc]
movss dword [rbp - 0x58], xmm12
movaps xmm0, xmm12
movss xmm10, dword [rbp - 0x24]
addss xmm0, xmm10
movss xmm7, dword [r14 + 0xd8]
movaps xmm13, xmm7
movss xmm9, dword [rbp - 0x28]
movss dword [rbp - 0x54], xmm9
addss xmm13, xmm9
movss dword [rbp - 0x50], xmm13
movss dword [rbp + 0x58], xmm7
movss dword [rbp + 0x5c], xmm12
movss dword [rbp + 0x60], xmm13
movss dword [rbp + 0x64], xmm0
movaps xmm2, xmm12
addss xmm2, xmm10
addss xmm1, xmm9
addss xmm1, xmm7
movss dword [rbp + 0x70], xmm7
movss dword [rbp + 0x74], xmm12
movss dword [rbp + 0x78], xmm1
movss dword [rbp + 0x7c], xmm2
mov rbx, r14
mov qword [rbp - 0x68], rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
subss xmm2, xmm12
subss xmm1, xmm7
movss dword [rbp - 0x78], xmm1
movss dword [rbp - 0x74], xmm2
lea rcx, [rbp - 0x78]
movaps xmm1, xmm6
call fcn.18000fd80
test sil, sil
je 0x18002fd15
mov r9d, pe_nt_image_headers64
lea r8, [rbp + 0x58]
mov edx, r12d
lea rcx, [rbp + 0x70]
call fcn.18000fed0
test al, al
je 0x18002fc47
mov r15d, dword [r13 + 0x1ce0]
movups xmm0, xmmword [r13 + 0x1cd8]
movups xmmword [rbp + 0x98], xmm0
movss dword [r14 + 0xd8], xmm7
movss dword [r14 + 0xdc], xmm12
mov rbx, qword [0x180042af8]
mov dword [rbp + 0x70], 3
movups xmm0, xmmword [rbx + 0x1668]
movups xmmword [rbp + 0x74], xmm0
lea rcx, [rbx + 0x1d88]
lea rdx, [rbp + 0x70]
call fcn.1800172c0
movups xmm0, xmmword [r13 + 0x16a8]
movups xmmword [rbx + 0x1668], xmm0
movss xmm1, dword [r13 + 0x15b4]
mov ecx, 7
call fcn.1800043d0
movss xmm1, dword [r13 + 0x15b8]
mov ecx, 8
call fcn.1800043d0
mov rbx, qword [0x180042af8]
lea rcx, [rbx + 0x1d98]
movss xmm1, dword [rbx + 0x1578]
movss xmm0, dword [rbx + 0x157c]
mov dword [rbp + 0x70], 2
movss dword [rbp + 0x74], xmm1
movss dword [rbp + 0x78], xmm0
lea rdx, [rbp + 0x70]
call fcn.1800171c0
xor eax, eax
mov qword [rbx + 0x1578], rax
movss xmm1, dword [rbp + 0x64]
movss xmm12, dword [rbp + 0x5c]
movss dword [rbp - 0x58], xmm12
subss xmm1, xmm12
movss xmm6, dword [rbp + 0x60]
movss dword [rbp - 0x50], xmm6
movaps xmm0, xmm6
movss xmm7, dword [rbp + 0x58]
subss xmm0, xmm7
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x74], xmm1
lea r8, [rbp - 0x78]
mov edx, r12d
mov rcx, qword [rbp - 0x20]
call fcn.18000a360
movzx r11d, al
mov r8, qword [0x180042af8]
movsxd rcx, dword [r8 + 0x1d98]
lea rdx, [rcx + rcx*2]
mov r9, qword [r8 + 0x1da0]
movsxd rcx, dword [r9 + rdx*4 - 0xc]
lea r10, [rcx + rcx*2]
lea rbx, [0x180037870]
mov ecx, dword [rbx + r10*4 + 8]
cmp dword [rbx + r10*4], 8
jne 0x18002fb35
mov eax, dword [rbx + r10*4 + 4]
cmp eax, 1
jne 0x18002fb16
mov eax, dword [r9 + rdx*4 - 8]
mov dword [rcx + r8 + 0x1570], eax
jmp 0x18002fb35
cmp eax, 2
jne 0x18002fb35
mov eax, dword [r9 + rdx*4 - 8]
mov dword [rcx + r8 + 0x1570], eax
mov eax, dword [r9 + rdx*4 - 4]
mov dword [rcx + r8 + 0x1574], eax
movsxd rcx, dword [r8 + 0x1d98]
lea eax, [rcx - 1]
mov dword [r8 + 0x1d98], eax
lea rax, [rcx - 2]
lea rcx, [rax + rax*2]
mov rdx, qword [r8 + 0x1da0]
movsxd rax, dword [rdx + rcx*4]
lea r10, [rax + rax*2]
mov r9d, dword [rbx + r10*4 + 8]
cmp dword [rbx + r10*4], 8
jne 0x18002fb9e
mov eax, dword [rbx + r10*4 + 4]
cmp eax, 1
jne 0x18002fb81
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1570], eax
jmp 0x18002fb9e
cmp eax, 2
jne 0x18002fb9e
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1570], eax
mov eax, dword [rdx + rcx*4 + 8]
mov dword [r9 + r8 + 0x1574], eax
movsxd rcx, dword [r8 + 0x1d98]
lea eax, [rcx - 1]
mov dword [r8 + 0x1d98], eax
lea rax, [rcx - 2]
lea rcx, [rax + rax*2]
mov rdx, qword [r8 + 0x1da0]
movsxd rax, dword [rdx + rcx*4]
lea r10, [rax + rax*2]
mov r9d, dword [rbx + r10*4 + 8]
cmp dword [rbx + r10*4], 8
jne 0x18002fc07
mov eax, dword [rbx + r10*4 + 4]
cmp eax, 1
jne 0x18002fbea
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1570], eax
jmp 0x18002fc07
cmp eax, 2
jne 0x18002fc07
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1570], eax
mov eax, dword [rdx + rcx*4 + 8]
mov dword [r9 + r8 + 0x1574], eax
dec dword [r8 + 0x1d98]
movsxd rax, dword [r8 + 0x1d88]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d90]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1638], xmm0
dec dword [r8 + 0x1d88]
test r11b, r11b
jne 0x18002fcb0
call fcn.18000a5f0
call fcn.1800103b0
xor al, al
mov rcx, qword [rbp + 0xd8]
xor rcx, rsp
call fcn.180034dc0
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rbx, qword [r13 + 0x1c20]
mov qword [rbp - 0x68], rbx
movsx ecx, word [rbx + 0x132]
mov eax, dword [rbx + 0x12c]
bts ecx, eax
mov word [rbx + 0x132], cx
movss xmm0, dword [r13 + 0x15ac]
addss xmm0, dword [rbx + 0xd8]
movss dword [rbx + 0xd8], xmm0
movss xmm1, dword [r13 + 0x15b0]
addss xmm1, dword [rbx + 0xdc]
movss dword [rbx + 0xdc], xmm1
subss xmm9, dword [rbx + 0x84]
movss dword [rbp - 0x54], xmm9
jmp 0x18002fd5b
bt edi, 0x1c
jb 0x18002fd54
mov r9d, pe_nt_image_headers64
lea r8, [rbp + 0x58]
mov edx, r12d
lea rcx, [rbp + 0x70]
call fcn.18000fed0
test al, al
je 0x18002fc4c
movss xmm0, dword [rbp + 0x60]
movss dword [rbp - 0x50], xmm0
movss xmm12, dword [rbp + 0x5c]
movss dword [rbp - 0x58], xmm12
movss xmm7, dword [rbp + 0x58]
mov r15d, dword [r13 + 0x1ce0]
mov edx, r12d
lea rcx, [rbp + 0x58]
call fcn.180005750
movzx edx, al
mov byte [rsp + 0x68], al
test al, al
je 0x18002fd7d
mov dword [r13 + 0x1fb0], 1
mov rdi, qword [0x180042af8]
add rdi, 0x2130
cmp dword [rdi], r12d
mov eax, 0
cmovne rdi, rax
mov qword [rbp + 0x70], rdi
shr r15d, 8
and r15b, 1
mov dword [rsp + 0x58], r15d
mov eax, dword [r13 + 0x1c6c]
cmp eax, r12d
je 0x18002fdd7
cmp dword [r13 + 0x1e3c], r12d
je 0x18002fdd0
cmp dword [r13 + 0x1e30], r12d
jne 0x18002fdd7
cmp dword [r13 + 0x1e58], 2
jne 0x18002fdd7
mov byte [rsp + 0x55], 1
jmp 0x18002fddc
mov byte [rsp + 0x55], 0
test dl, dl
je 0x18002fdef
cmp byte [r13 + 0x420], 0
je 0x18002fdef
mov r12b, 1
jmp 0x18002fdf2
xor r12b, r12b
mov byte [rsp + 0x52], r12b
test sil, sil
je 0x18002fe58
test rdi, rdi
je 0x18002fe58
test eax, eax
jne 0x18002fe58
movsxd rcx, dword [rbx + 0xc8]
mov rax, qword [rbx + 0xd0]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.SCROLLY
call fcn.180003a60
mov ebx, eax
mov rcx, qword [0x180042af8]
cmp dword [rcx + 0x1c54], eax
jne 0x18002fe4a
lea r8, str.SCROLLY
mov edx, 0xb
mov ecx, eax
call fcn.1800169f0
cmp dword [r13 + 0x1ca8], ebx
jne 0x18002fe58
mov sil, 1
jmp 0x18002fe68
xor sil, sil
mov ecx, dword [rsp + 0x5c]
test cl, cl
je 0x18002fec6
test rdi, rdi
je 0x18002fec6
mov rax, qword [rbp - 0x68]
movsxd rcx, dword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.SCROLLY
call fcn.180003a60
mov ebx, eax
mov rcx, qword [0x180042af8]
cmp dword [rcx + 0x1c54], eax
jne 0x18002feb1
lea r8, str.SCROLLY
mov edx, 0xb
mov ecx, eax
call fcn.1800169f0
mov ecx, dword [rsp + 0x5c]
cmp dword [r13 + 0x1c6c], ebx
jne 0x18002fec6
mov bl, 1
mov byte [rsp + 0x53], bl
jmp 0x18002fed0
xor bl, bl
mov byte [rsp + 0x53], bl
test cl, cl
je 0x18002fee2
mov rax, qword [rbp - 0x68]
movss xmm8, dword [rax + 0x60]
movss dword [rbp - 0x60], xmm8
jmp 0x18002fee6
mov byte [rsp + 0x53], bl
test rdi, rdi
je 0x18002fefa
movzx eax, cl
xor al, 1
cmp byte [rdi + 0x63], al
je 0x18002fefa
mov r13b, 1
jmp 0x18002fefd
xor r13b, r13b
test r12b, r12b
jne 0x18002ff2c
test sil, sil
jne 0x18002ff2c
cmp byte [rsp + 0x55], sil
jne 0x18002ff2c
test r15b, r15b
jne 0x18002ff2c
mov byte [rsp + 0x54], r15b
test bl, bl
jne 0x18002ff31
mov byte [rsp + 0x51], bl
mov rax, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x78]
jmp 0x18002ff49
mov byte [rsp + 0x54], 1
mov byte [rsp + 0x51], 1
mov rax, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x78]
cmp dword [rax + 0x1c6c], r11d
jne 0x18002ff55
xor r12b, r12b
test r13b, r13b
je 0x180030164
lea rdi, [rax + 0x2130]
mov qword [rbp + 0x70], rdi
mov dword [rdi + 0xe78], 0xbe99999a
mov rax, 0xffffffffffffffff
mov r12, qword [rbp - 0x70]
lea rax, [rax + 1]
cmp byte [r12 + rax], 0
jne 0x18002ff75
lea ebx, [rax + 1]
mov ecx, dword [rdi + 0x34]
cmp ebx, ecx
jle 0x18002ffae
test ecx, ecx
je 0x18002ff99
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002ff9e
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [rdi + 0x30]
call fcn.180017700
mov dword [rdi + 0x30], ebx
movsxd r8, ebx
mov rdx, r12
mov rcx, qword [rdi + 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rdi + 0x14]
cmp ecx, 0x21
jge 0x18002ffef
test ecx, ecx
je 0x18002ffd7
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002ffdc
mov eax, 8
mov edx, 0x21
cmp eax, edx
cmovg edx, eax
lea rcx, [rdi + 0x10]
call fcn.180017790
mov dword [rdi + 0x10], 0x21
mov ecx, dword [rdi + 0x24]
test ecx, ecx
jns 0x180030016
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor edx, edx
test eax, eax
cmovg edx, eax
lea rcx, [rdi + 0x20]
call fcn.180017700
xor r8d, r8d
mov dword [rdi + 0x20], r8d
mov byte [rdi + 0x40], r8b
mov rsi, r12
mov r15, qword [rdi + 0x18]
mov rbx, r15
lea r14, [r15 + 0x3e]
cmp r15, r14
jae 0x180030064
cmp byte [rsi], 0
je 0x180030061
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp - 0x7c]
call fcn.180003d90
movsxd rcx, eax
add rsi, rcx
mov eax, dword [rbp - 0x7c]
test eax, eax
je 0x180030061
mov word [rbx], ax
add rbx, 2
cmp rbx, r14
jb 0x180030034
xor r8d, r8d
mov word [rbx], r8w
sub rbx, r15
sar rbx, 1
mov dword [rdi + 4], ebx
sub esi, r12d
mov dword [rdi + 8], esi
mov r11d, dword [rsp + 0x78]
cmp dword [rdi], r11d
jne 0x1800300b0
test r13b, r13b
jne 0x1800300b0
mov dl, 1
mov ecx, ebx
cmp dword [rdi + 0x4c], ebx
cmovl ecx, dword [rdi + 0x4c]
mov dword [rdi + 0x4c], ecx
mov ecx, ebx
cmp dword [rdi + 0x50], ebx
cmovl ecx, dword [rdi + 0x50]
mov dword [rdi + 0x50], ecx
cmp dword [rdi + 0x54], ebx
cmovl ebx, dword [rdi + 0x54]
mov dword [rdi + 0x54], ebx
mov ecx, dword [rsp + 0x5c]
jmp 0x180030100
xor dl, dl
mov dword [rdi], r11d
mov qword [rdi + 0x48], 0
mov dword [rdi + 0xe6a], 0x630000
mov dword [rdi + 0xe70], r8d
mov dword [rdi + 0xe74], 0x3e7
mov qword [rdi + 0x50], 0
mov word [rdi + 0x61], 1
mov dword [rdi + 0x68], r8d
mov byte [rdi + 0x60], dl
mov ecx, dword [rsp + 0x5c]
movzx eax, cl
xor al, 1
mov byte [rdi + 0x63], al
mov byte [rdi + 0x58], dl
mov dword [rdi + 0x5c], r8d
xor r12b, r12b
mov r15d, dword [rbp + 0x1e8]
test cl, cl
jne 0x18003014e
mov r12d, r15d
shr r12d, 4
and r12b, 1
mov rax, qword [rsp + 0x70]
cmp byte [rsp + 0x55], cl
je 0x180030134
test dl, dl
je 0x180030131
test byte [rax + 0x1e40], 4
jne 0x180030134
mov r12b, 1
cmp byte [rsp + 0x58], 0
jne 0x18003014b
cmp byte [rsp + 0x52], 0
je 0x18003014e
cmp byte [rax + 0x140], 0
je 0x18003014e
mov r12b, 1
mov r14, qword [rbp - 0x40]
movzx ebx, byte [rsp + 0x53]
bt r15d, 0xd
jae 0x18003016b
mov byte [rdi + 0x58], 1
jmp 0x18003016b
mov r15d, dword [rbp + 0x1e8]
mov r13, qword [rsp + 0x70]
movzx esi, byte [rsp + 0x54]
cmp dword [r13 + 0x1c6c], r11d
je 0x18003020f
test sil, sil
je 0x18003020f
mov rdx, r14
mov ecx, r11d
call fcn.1800055d0
call fcn.1800118e0
mov rcx, r14
call fcn.18000f600
mov eax, dword [r13 + 0x1c80]
or eax, 3
mov dword [r13 + 0x1c80], eax
mov ecx, dword [rsp + 0x5c]
test cl, cl
jne 0x1800301c1
test r15b, r15b
jns 0x1800301cb
or eax, 0xc
mov dword [r13 + 0x1c80], eax
or dword [r13 + 0x1c84], 2
mov rax, qword [r13 + 0x1c88]
or rax, 0x180
mov qword [r13 + 0x1c88], rax
test cl, cl
je 0x1800301f6
or rax, 0x60
mov qword [r13 + 0x1c88], rax
mov r11d, dword [rsp + 0x78]
test r15d, 0x440
je 0x18003020f
or rax, 1
mov qword [r13 + 0x1c88], rax
mov eax, dword [r13 + 0x1c6c]
cmp eax, r11d
jne 0x1800302cb
test rdi, rdi
jne 0x180030296
mov rdx, qword [0x180042af8]
mov ecx, dword [rdx + 0x1c6c]
test ecx, ecx
setne al
mov byte [rdx + 0x1c78], al
xor eax, eax
test ecx, ecx
je 0x180030259
mov dword [rdx + 0x1c74], eax
mov word [rdx + 0x1c7b], ax
mov dword [rdx + 0x1ca4], 0xffffffff
mov dword [rdx + 0x1c6c], eax
mov word [rdx + 0x1c79], 0
mov qword [rdx + 0x1c98], rax
mov word [rdx + 0x1c7d], 0
mov qword [rdx + 0x1c80], 0
mov qword [rdx + 0x1c88], rax
mov eax, dword [r13 + 0x1c6c]
cmp eax, r11d
jne 0x1800302cb
xor r15b, r15b
mov byte [rsp + 0x50], r15b
cmp byte [r13 + 0x420], r15b
je 0x1800302dc
mov byte [rsp + 0x50], r15b
cmp byte [rsp + 0x51], r15b
jne 0x1800302dc
mov byte [rsp + 0x50], r15b
test sil, sil
jne 0x1800302dc
mov r15b, 1
mov byte [rsp + 0x50], r15b
movzx ecx, r15b
jmp 0x1800302ea
test rdi, rdi
je 0x1800302e0
xor r15b, r15b
mov byte [rsp + 0x50], r15b
test bl, bl
je 0x1800302e0
mov cl, 1
jmp 0x1800302ea
xor cl, cl
xor r15b, r15b
mov byte [rsp + 0x50], r15b
mov byte [rsp + 0x52], cl
test rdi, rdi
je 0x180030308
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x180030300
test r12b, r12b
je 0x180030308
test cl, cl
je 0x180030308
mov al, 1
jmp 0x18003030a
xor al, al
mov byte [rsp + 0x51], al
mov byte [rbp - 0x7f], 0
mov byte [rsp + 0x54], 0
mov edx, dword [rsp + 0x60]
test dl, dl
je 0x180030417
test rdi, rdi
je 0x180030417
test cl, cl
jne 0x180030338
test al, al
je 0x18003041f
mov ecx, dword [rdi + 0x14]
cmp ecx, 0x21
jge 0x180030367
test ecx, ecx
je 0x18003034f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180030354
mov eax, 8
mov edx, 0x21
cmp eax, edx
cmovg edx, eax
lea rcx, [rdi + 0x10]
call fcn.180017790
mov dword [rdi + 0x10], 0x21
mov rax, qword [rbp - 0x70]
mov rsi, rax
mov r15, qword [rdi + 0x18]
mov rbx, r15
lea r14, [r15 + 0x40]
cmp r15, r14
jae 0x1800303b6
cmp byte [rsi], 0
je 0x1800303b2
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp - 0x7c]
call fcn.180003d90
movsxd rcx, eax
add rsi, rcx
mov eax, dword [rbp - 0x7c]
test eax, eax
je 0x1800303b2
mov word [rbx], ax
add rbx, 2
cmp rbx, r14
jb 0x180030385
mov rax, qword [rbp - 0x70]
xor r8d, r8d
mov word [rbx], r8w
sub rbx, r15
sar rbx, 1
mov dword [rdi + 4], ebx
sub esi, eax
mov dword [rdi + 8], esi
mov ecx, ebx
cmp dword [rdi + 0x4c], ebx
cmovl ecx, dword [rdi + 0x4c]
mov dword [rdi + 0x4c], ecx
mov edx, ebx
cmp dword [rdi + 0x50], ebx
cmovl edx, dword [rdi + 0x50]
mov dword [rdi + 0x50], edx
cmp dword [rdi + 0x54], ebx
cmovl ebx, dword [rdi + 0x54]
mov dword [rdi + 0x54], ebx
mov ecx, r8d
movzx r8d, byte [rsp + 0x51]
cmp edx, ebx
cmovne ecx, r8d
movzx eax, cl
mov byte [rsp + 0x51], cl
movzx r15d, byte [rsp + 0x50]
mov r11d, dword [rsp + 0x78]
movzx ecx, byte [rsp + 0x52]
mov edx, dword [rsp + 0x60]
test cl, cl
jne 0x180030428
test al, al
jne 0x180030428
cmp dword [r13 + 0x1c6c], r11d
jne 0x18003043a
test dl, dl
jne 0x18003043a
test rdi, rdi
je 0x18003043a
cmp byte [rdi + 0x40], dl
mov byte [rbp - 0x80], 1
jne 0x18003043e
mov byte [rbp - 0x80], 0
mov r14d, dword [rbp - 0x5c]
test r14b, r14b
je 0x1800304d5
mov rdx, qword [r13 + 0x1988]
cmp dword [rdx + 0x18], 0x2a
ja 0x18003045e
mov r8, qword [rdx + 0x38]
jmp 0x180030482
mov rax, qword [rdx + 0x20]
movzx ecx, word [rax + 0x54]
mov eax, 0xffff
cmp cx, ax
jne 0x180030476
mov r8, qword [rdx + 0x38]
jmp 0x180030482
lea rcx, [rcx + rcx*4]
mov rax, qword [rdx + 0x30]
lea r8, [rax + rcx*8]
lea rcx, [r13 + 0x2fb8]
mov eax, dword [rdx + 0x14]
mov dword [rcx + 0x14], eax
mov rax, qword [r13 + 0x1988]
mov edx, dword [rax + 0x5c]
mov dword [rcx + 0x5c], edx
mov rax, qword [r13 + 0x1988]
mov edx, dword [rax + 0x60]
mov dword [rcx + 0x60], edx
mov rax, qword [r13 + 0x1988]
mov edx, dword [rax + 0x64]
mov dword [rcx + 0x64], edx
mov rax, qword [r13 + 0x1988]
mov rdx, qword [rax + 0x40]
mov qword [rcx + 0x40], rdx
mov qword [rcx + 0x38], r8
mov eax, dword [r8 + 4]
mov dword [rcx + 0x10], eax
call fcn.18000f9b0
xor eax, eax
mov dword [rbp - 0x7c], eax
mov ebx, 0x20000c
mov eax, dword [rsp + 0x78]
cmp dword [r13 + 0x1c6c], eax
jne 0x180030ab1
mov eax, dword [rdi + 8]
mov dword [rbp - 0x7c], eax
mov byte [rdi + 0xe7e], 0
mov dword [rdi + 0x44], 0x20
mov r8d, dword [rbp + 0x1e8]
mov dword [rdi + 0xe80], r8d
movzx ecx, byte [r13 + 0x130]
test cl, cl
sete al
mov byte [r13 + 0x1c79], al
mov dword [r13 + 0x33a4], 1
movss xmm6, dword [r13 + 0x128]
subss xmm6, xmm7
subss xmm6, dword [r13 + 0x15ac]
addss xmm6, dword [rdi + 0x48]
cmp byte [rsp + 0x5c], 0
je 0x18003056a
movss xmm2, dword [r13 + 0x12c]
mov rax, qword [rbp - 0x68]
subss xmm2, dword [rax + 0xdc]
jmp 0x18003057b
movss xmm2, dword [r13 + 0x1990]
mulss xmm2, dword [0x18003c69c]
movzx r14d, byte [r13 + 0xc9]
test r12b, r12b
je 0x1800305a8
xor r12d, r12d
mov dword [rdi + 0x50], r12d
mov eax, dword [rdi + 4]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x4c], eax
mov byte [rdi + 0x62], r12b
mov byte [rdi + 0xe7d], 1
jmp 0x1800308db
movzx edx, byte [rsp + 0x68]
test dl, dl
je 0x18003080d
cmp word [r13 + 0x42a], 2
jb 0x18003080d
cmp byte [r13 + 0x141], 0
jne 0x18003080d
cmp byte [rdi + 0x63], 0
je 0x1800305ec
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.18002d8d0
movss xmm2, dword [rbp - 0x34]
movaps xmm1, xmm6
mov rcx, rdi
call fcn.18002dde0
mov dword [rdi + 0x4c], eax
mov dword [rdi + 0x50], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x62], 0
movzx ecx, word [r13 + 0x42a]
sub ecx, 2
test cl, 1
jne 0x180030783
test eax, eax
je 0x18003062f
movsxd rcx, eax
mov rax, qword [rdi + 0x18]
cmp word [rax + rcx*2 - 2], 0xa
je 0x18003062f
xor cl, cl
jmp 0x180030631
mov cl, 1
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x18003063d
test cl, cl
jne 0x180030665
mov r8d, ebx
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x18003067b
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x180030678
mov eax, dword [rdi + 0x4c]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x50], eax
jmp 0x18003067b
mov dword [rdi + 0x4c], eax
mov r9d, dword [rdi + 0x4c]
inc r9d
movsxd r10, dword [rdi + 4]
cmp r9d, r10d
jge 0x18003073a
movsxd rdx, r9d
mov r11d, dword [rdi + 0xe80]
and r11d, 0x8000
mov r12d, 0x3000
movabs r15, 0x800130100002600
movabs r13, 0x700000005
nop word [rax + rax]
test r11d, r11d
jne 0x180030721
test rdx, rdx
jle 0x18003072c
mov r8, qword [rdi + 0x18]
movzx ecx, word [r8 + rdx*2 - 2]
cmp ecx, 0x3b
ja 0x1800306df
bt r15, rcx
jb 0x180030721
cmp cx, r12w
je 0x180030721
sub cx, 0x5b
cmp cx, 0x22
ja 0x1800306f8
movzx eax, cx
bt r13, rax
jb 0x180030721
movzx ecx, word [r8 + rdx*2]
cmp ecx, 0x3b
ja 0x180030708
bt r15, rcx
jb 0x18003072c
cmp cx, r12w
je 0x18003072c
sub cx, 0x5b
cmp cx, 0x22
ja 0x180030721
movzx eax, cx
bt r13, rax
jb 0x18003072c
inc r9d
inc rdx
cmp rdx, r10
jl 0x1800306c0
mov r13, qword [rsp + 0x70]
movzx r15d, byte [rsp + 0x50]
cmp r9d, r10d
cmovg r9d, r10d
mov dword [rdi + 0x4c], r9d
mov dword [rdi + 0x54], r9d
mov ecx, r9d
mov eax, dword [rdi + 0x50]
cmp eax, r9d
je 0x180030770
cmp eax, r10d
jle 0x18003075d
mov dword [rdi + 0x50], r10d
mov eax, r10d
cmp ecx, r10d
jle 0x180030769
mov dword [rdi + 0x54], r10d
mov ecx, r10d
cmp eax, ecx
jne 0x180030770
mov dword [rdi + 0x4c], eax
cmp dword [rdi + 0x4c], r10d
jle 0x1800308c7
mov dword [rdi + 0x4c], r10d
jmp 0x1800308c7
mov rcx, qword [rdi + 0x18]
cdqe
movzx ebx, word [rcx + rax*2]
mov r8d, 0x200004
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
mov r8d, 0x600005
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
mov r8d, 0x600001
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.18002e290
cmp bx, 0xa
je 0x180030801
cmp byte [rsp + 0x5c], 0
je 0x180030801
mov ecx, dword [rdi + 0x50]
mov eax, dword [rdi + 0x54]
mov dword [rdi + 0x50], eax
mov dword [rdi + 0x54], ecx
mov dword [rdi + 0x4c], ecx
mov byte [rdi + 0xe7c], 0
jmp 0x1800308c7
movzx eax, byte [rdi + 0xe7d]
cmp byte [r13 + 0x420], 0
je 0x18003085d
test al, al
jne 0x18003085d
test dl, dl
je 0x1800308d8
cmp byte [rdi + 0x63], al
je 0x180030843
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.18002d8d0
movss xmm2, dword [rbp - 0x34]
movaps xmm1, xmm6
mov rcx, rdi
call fcn.18002dde0
mov dword [rdi + 0x4c], eax
mov dword [rdi + 0x50], eax
mov dword [rdi + 0x54], eax
mov byte [rdi + 0x62], 0
jmp 0x1800308c7
test cl, cl
je 0x1800308d8
test al, al
jne 0x1800308d8
movss xmm0, dword [r13 + 0x3b4]
ucomiss xmm0, xmm11
jp 0x180030887
jne 0x180030887
movss xmm0, dword [r13 + 0x3b8]
ucomiss xmm0, xmm11
jp 0x180030887
je 0x1800308d8
cmp byte [rdi + 0x63], 0
je 0x1800308a1
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.18002d8d0
movss xmm2, dword [rbp - 0x34]
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x1800308af
mov eax, dword [rdi + 0x4c]
mov dword [rdi + 0x50], eax
movaps xmm1, xmm6
mov rcx, rdi
call fcn.18002dde0
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x4c], eax
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
mov r8d, dword [rbp + 0x1e8]
xor r12d, r12d
cmp byte [rdi + 0xe7d], 0
je 0x1800308f5
cmp byte [r13 + 0x130], 0
jne 0x1800308f5
mov byte [rdi + 0xe7d], 0
cmp byte [r13 + 0x140], 0
je 0x180030909
cmp byte [r13 + 0x142], 0
je 0x180030918
test r14b, r14b
je 0x18003091c
cmp byte [r13 + 0x143], 0
je 0x18003091c
mov bl, 1
jmp 0x18003091e
xor bl, bl
bt r8d, 0xa
jae 0x1800309d5
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x1800309d5
call fcn.18000a2a0
test al, al
mov eax, dword [rsp + 0x60]
je 0x1800309d9
test bl, bl
jne 0x1800309d9
cmp byte [r13 + 0x141], bl
jne 0x1800309d9
test al, al
jne 0x1800309d9
mov rcx, qword [r13 + 0x1568]
movsxd rax, dword [r13 + 0x1560]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x180030992
nop dword [rax]
movzx eax, word [rcx]
add rcx, 2
cmp ax, 9
je 0x1800309d5
cmp rcx, rdx
jb 0x180030980
mov dword [rsp + 0x58], 9
mov dword [rsp + 0x20], 2
mov edx, r8d
lea rcx, [rsp + 0x58]
call fcn.18002f4a0
test al, al
je 0x1800309d5
lea rdx, [rdi + 0x4c]
mov r8d, dword [rsp + 0x58]
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
mov eax, dword [rsp + 0x60]
cmp dword [r13 + 0x1560], 0
jle 0x180030aad
test bl, bl
jne 0x180030a7e
test al, al
jne 0x180030a7e
cmp byte [rsp + 0x55], al
jne 0x180030a7e
mov esi, r12d
mov rbx, r12
mov r15d, dword [rbp + 0x1e8]
nop
mov rax, qword [r13 + 0x1568]
movzx ecx, word [rbx + rax]
mov dword [rsp + 0x58], ecx
cmp ecx, 9
jne 0x180030a2e
cmp byte [r13 + 0x141], 0
jne 0x180030a69
mov dword [rsp + 0x20], 2
mov edx, r15d
lea rcx, [rsp + 0x58]
call fcn.18002f4a0
test al, al
je 0x180030a69
lea rdx, [rdi + 0x4c]
mov r8d, dword [rsp + 0x58]
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
inc esi
add rbx, 2
cmp esi, dword [r13 + 0x1560]
jl 0x180030a10
movzx r15d, byte [rsp + 0x50]
mov ecx, dword [r13 + 0x1564]
test ecx, ecx
jns 0x180030aa6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r12d
test eax, eax
cmovg edx, eax
lea rcx, [r13 + 0x1560]
call fcn.180017790
mov dword [r13 + 0x1560], r12d
mov r14d, dword [rbp - 0x5c]
xor dl, dl
mov ecx, dword [r13 + 0x1c6c]
mov eax, ecx
cmp ecx, dword [rsp + 0x78]
jne 0x1800315fd
cmp byte [r13 + 0x1c78], dl
jne 0x1800315fd
test r15b, r15b
jne 0x1800315fd
movaps xmm0, xmm10
subss xmm0, dword [r13 + 0x15b0]
divss xmm0, dword [r13 + 0x1990]
cvttss2si eax, xmm0
mov ecx, 1
cmp eax, ecx
cmovge ecx, eax
mov dword [rsp + 0x58], ecx
mov dword [rdi + 0x5c], ecx
movzx eax, byte [r13 + 0x141]
neg al
sbb ebx, ebx
and ebx, 0x400000
movzx eax, byte [r13 + 0xc9]
test al, al
je 0x180030b3a
cmp dword [r13 + 0x3c0], 0xa
jne 0x180030b3a
mov r9b, 1
mov r8d, 0xa
jmp 0x180030b48
mov r8d, dword [r13 + 0x3c0]
xor r9b, r9b
test al, al
je 0x180030b70
movzx r12d, byte [r13 + 0x142]
cmp byte [r13 + 0x143], dl
je 0x180030b78
cmp byte [r13 + 0x140], dl
jne 0x180030b78
test r12b, r12b
jne 0x180030b78
mov r15b, 1
cmp r8d, 8
jmp 0x180030b89
movzx r12d, byte [r13 + 0x140]
xor r15b, r15b
test al, al
je 0x180030b85
cmp r8d, 8
jmp 0x180030b89
cmp r8d, 1
sete r10b
mov byte [rsp + 0x55], r10b
test r10b, r10b
je 0x180030bb1
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x88]
test ecx, ecx
js 0x180030bb1
call fcn.18000a2a0
test al, al
jne 0x180030bce
cmp r8d, 2
jne 0x180030bf5
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x180030bf5
call fcn.18000a2a0
test al, al
je 0x180030bf5
mov esi, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x5c]
test sil, sil
jne 0x180030bfe
test r14b, r14b
jne 0x180030bfe
test r11b, r11b
je 0x180030bee
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
je 0x180030bfe
mov byte [rsp + 0x53], 1
jmp 0x180030c03
mov r11d, dword [rsp + 0x5c]
mov esi, dword [rsp + 0x60]
mov byte [rsp + 0x53], 0
test r10b, r10b
je 0x180030c22
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x80]
test ecx, ecx
js 0x180030c22
call fcn.18000a2a0
test al, al
jne 0x180030c3f
cmp r8d, 1
jne 0x180030c58
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180030c58
call fcn.18000a2a0
test al, al
je 0x180030c58
test r14b, r14b
jne 0x180030c58
test r11b, r11b
je 0x180030c51
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
je 0x180030c58
mov byte [rsp + 0x68], 1
jmp 0x180030c5d
mov byte [rsp + 0x68], 0
test r10b, r10b
je 0x180030c7c
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x84]
test ecx, ecx
js 0x180030c7c
call fcn.18000a2a0
test al, al
jne 0x180030c99
cmp r8d, 2
jne 0x180030ca3
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180030ca3
call fcn.18000a2a0
test al, al
je 0x180030ca3
test sil, sil
jne 0x180030ca3
mov r13b, 1
jmp 0x180030ca6
xor r13b, r13b
test r10b, r10b
je 0x180030cd9
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x180030cd9
call fcn.18000a2a0
mov r8d, dword [rsp + 0x64]
test al, al
je 0x180030cde
test sil, sil
jne 0x180030cde
test r8b, r8b
je 0x180030cde
mov r14b, 1
jmp 0x180030ce6
mov r8d, dword [rsp + 0x64]
xor r14b, r14b
test r10b, r10b
je 0x180030d00
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x8c]
test ecx, ecx
js 0x180030d00
call fcn.18000a2a0
test al, al
jne 0x180030d1f
test r9b, r9b
je 0x180030d2e
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x180030d2e
call fcn.18000a2a0
test al, al
je 0x180030d2e
test sil, sil
jne 0x180030d2e
test r8b, r8b
je 0x180030d2e
mov sil, 1
jmp 0x180030d31
xor sil, sil
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x70]
test ecx, ecx
js 0x180030d48
call fcn.18000a2a0
test al, al
jne 0x180030d5f
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x78]
test ecx, ecx
js 0x180030d64
call fcn.18000a2a0
test al, al
je 0x180030d64
mov r11b, 1
jmp 0x180030d67
xor r11b, r11b
mov edx, 1
xor ecx, ecx
call fcn.180012940
comiss xmm0, xmm11
jbe 0x180030d90
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x6c]
test ecx, ecx
js 0x180030da8
call fcn.18000a2a0
test al, al
je 0x180030da8
mov edx, 1
lea ecx, [rdx + 1]
call fcn.180012940
comiss xmm0, xmm11
ja 0x180030da8
xor r10b, r10b
jmp 0x180030dab
mov r10b, 1
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x74]
test ecx, ecx
js 0x180030dc2
call fcn.18000a2a0
test al, al
jne 0x180030dd9
mov edx, 1
mov ecx, edx
call fcn.180012940
comiss xmm0, xmm11
ja 0x180030dd9
xor r9b, r9b
jmp 0x180030ddc
mov r9b, 1
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x180030e25
call fcn.18000a2a0
test al, al
je 0x180030e25
test r15b, r15b
je 0x180030dff
mov eax, 0x200004
jmp 0x180030e0f
mov eax, 0x200000
test r12b, r12b
mov ecx, 0x20000c
cmovne eax, ecx
or ebx, eax
lea rdx, [rdi + 0x4c]
mov r8d, ebx
mov rcx, rdi
call fcn.18002e290
jmp 0x1800315c5
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x44]
test ecx, ecx
js 0x180030e82
call fcn.18000a2a0
test al, al
je 0x180030e82
test r15b, r15b
je 0x180030e5c
mov ecx, 0x200005
or ebx, ecx
lea rdx, [rdi + 0x4c]
mov r8d, ebx
mov rcx, rdi
call fcn.18002e290
jmp 0x1800315c5
mov ecx, 0x200001
mov eax, 0x20000d
test r12b, r12b
cmovne ecx, eax
or ebx, ecx
lea rdx, [rdi + 0x4c]
mov r8d, ebx
mov rcx, rdi
call fcn.18002e290
jmp 0x1800315c5
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x180030f0c
call fcn.18000a2a0
test al, al
je 0x180030f0c
cmp byte [rsp + 0x5c], 0
je 0x180030f0c
mov r13, qword [rsp + 0x70]
cmp byte [r13 + 0x140], 0
je 0x180030edb
mov rcx, qword [rbp - 0x68]
movss xmm0, dword [rcx + 0x60]
subss xmm0, dword [r13 + 0x1990]
maxss xmm0, xmm11
movss dword [rcx + 0x70], xmm0
xor eax, eax
mov dword [rcx + 0x78], eax
mov dword [rcx + 0x80], eax
jmp 0x1800315db
movzx eax, r15b
lea r8d, [rax*4 + 0x200002]
or r8d, ebx
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
jmp 0x1800315db
mov r8, qword [0x180042af8]
mov ecx, dword [r8 + 0x4c]
test ecx, ecx
js 0x180030f6e
call fcn.18000a2a0
test al, al
je 0x180030f6e
cmp byte [rsp + 0x5c], 0
je 0x180030f6e
mov r13, qword [rsp + 0x70]
cmp byte [r13 + 0x140], 0
je 0x180030f5d
mov rax, qword [r8 + 0x1c20]
mov rcx, qword [rbp - 0x68]
movss xmm0, dword [rcx + 0x60]
addss xmm0, dword [r13 + 0x1990]
minss xmm0, dword [rax + 0x68]
jmp 0x180030ec6
movzx eax, r15b
lea r8d, [rax*4 + 0x200003]
jmp 0x180030ee7
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x50]
test ecx, ecx
js 0x180030fdc
call fcn.18000a2a0
mov r15d, dword [rsp + 0x5c]
test al, al
je 0x180030fe1
test r15b, r15b
je 0x180030fe1
or ebx, 0x20000e
lea rdx, [rdi + 0x4c]
mov r8d, ebx
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
movd xmm0, dword [rsp + 0x58]
cvtdq2ps xmm0, xmm0
mov r13, qword [rsp + 0x70]
mulss xmm0, dword [r13 + 0x1990]
subss xmm8, xmm0
movss dword [rbp - 0x60], xmm8
jmp 0x1800315db
mov r15d, dword [rsp + 0x5c]
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x54]
test ecx, ecx
js 0x18003104a
call fcn.18000a2a0
test al, al
je 0x18003104a
test r15b, r15b
je 0x18003104a
or ebx, 0x20000f
lea rdx, [rdi + 0x4c]
mov r8d, ebx
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
movd xmm0, dword [rsp + 0x58]
cvtdq2ps xmm0, xmm0
mov r13, qword [rsp + 0x70]
mulss xmm0, dword [r13 + 0x1990]
addss xmm8, xmm0
movss dword [rbp - 0x60], xmm8
jmp 0x1800315db
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x180031086
call fcn.18000a2a0
test al, al
je 0x180031086
mov eax, ebx
or eax, 0x200006
or ebx, 0x200004
mov r13, qword [rsp + 0x70]
cmp byte [r13 + 0x140], 0
cmovne ebx, eax
mov r8d, ebx
jmp 0x180030eea
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x1800310c3
call fcn.18000a2a0
test al, al
je 0x1800310c3
mov eax, ebx
or eax, 0x200007
mov r8d, 0x200005
or r8d, ebx
mov r13, qword [rsp + 0x70]
cmp byte [r13 + 0x140], 0
cmovne r8d, eax
jmp 0x180030eea
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x180031106
call fcn.18000a2a0
movzx r8d, byte [rsp + 0x53]
test al, al
je 0x18003110c
cmp byte [rsp + 0x60], 0
jne 0x18003110c
test r8b, r8b
jne 0x18003110c
or ebx, 0x200008
lea rdx, [rdi + 0x4c]
mov r8d, ebx
mov rcx, rdi
call fcn.18002e290
jmp 0x1800315c5
movzx r8d, byte [rsp + 0x53]
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x68]
test ecx, ecx
js 0x1800311d7
call fcn.18000a2a0
test al, al
je 0x1800311d7
cmp byte [rsp + 0x60], 0
jne 0x1800311d7
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x180031166
test r12b, r12b
je 0x180031179
lea rdx, [rdi + 0x4c]
mov r8d, 0x60000c
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
mov r13, qword [rsp + 0x70]
or ebx, 0x200009
mov r8d, ebx
jmp 0x180030eea
mov r13, qword [rsp + 0x70]
cmp byte [r13 + 0xc9], 0
je 0x18003116b
cmp byte [r13 + 0x143], 0
je 0x18003116b
cmp byte [r13 + 0x142], 0
jne 0x18003116b
cmp byte [r13 + 0x140], 0
jne 0x18003116b
lea rdx, [rdi + 0x4c]
mov r8d, 0x600004
mov rcx, rdi
call fcn.18002e290
mov byte [rdi + 0xe7c], 1
mov dword [rdi + 0xe78], 0xbe99999a
or ebx, 0x200009
mov r8d, ebx
jmp 0x180030eea
test r11b, r11b
je 0x18003124d
mov edx, dword [rbp + 0x1e8]
mov eax, edx
shr eax, 0xb
and al, 1
mov r13, qword [rsp + 0x70]
test r15b, r15b
je 0x180031203
movzx ecx, byte [r13 + 0x140]
test al, al
je 0x180031212
test cl, cl
jne 0x180031216
mov byte [rsp + 0x50], 1
mov byte [rsp + 0x54], 1
jmp 0x1800315db
test cl, cl
jne 0x180031203
cmp byte [rsp + 0x60], 0
jne 0x1800315db
mov dword [rsp + 0x58], 0xa
mov dword [rsp + 0x20], 2
lea rcx, [rsp + 0x58]
call fcn.18002f4a0
test al, al
je 0x1800315db
mov r8d, dword [rsp + 0x58]
jmp 0x180030eea
test r10b, r10b
je 0x180031261
mov byte [rsp + 0x50], 1
mov byte [rsp + 0x54], 1
jmp 0x1800315d6
test r9b, r9b
je 0x180031276
mov dl, 1
mov byte [rsp + 0x50], dl
mov r13, qword [rsp + 0x70]
jmp 0x1800315dd
test r14b, r14b
jne 0x1800315a1
test sil, sil
jne 0x1800315a1
cmp byte [rsp + 0x55], sil
je 0x1800312bd
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x7c]
test ecx, ecx
js 0x1800312bd
call fcn.18000a2a0
test al, al
je 0x1800312bd
xor eax, eax
mov dword [rdi + 0x50], eax
mov eax, dword [rdi + 4]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x4c], eax
mov byte [rdi + 0x62], sil
jmp 0x1800315cf
test r8b, r8b
jne 0x180031453
cmp byte [rsp + 0x68], r8b
jne 0x180031453
test r13b, r13b
je 0x1800315d6
mov rcx, qword [0x180042af8]
mov rax, qword [rcx + 0x100]
test rax, rax
je 0x180031303
mov rcx, qword [rcx + 0x110]
call rax
mov rbx, rax
test rax, rax
jne 0x18003130a
jmp 0x1800315d6
lea rbx, [0x1800376a8]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x180031311
mov rcx, qword [0x180042af8]
test rcx, rcx
je 0x18003132c
inc dword [rcx + 0x3b0]
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
mov rdx, qword [0x180042b00]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov r15, rax
mov qword [rbp - 0x40], rax
xor r12d, r12d
mov r14d, r12d
cmp byte [rbx], r12b
je 0x1800313ae
mov rsi, rax
mov r15d, dword [rbp + 0x1e8]
nop
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x64]
call fcn.180003d90
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x64], r12d
je 0x1800313aa
mov dword [rsp + 0x20], 5
mov edx, r15d
lea rcx, [rsp + 0x64]
call fcn.18002f4a0
test al, al
je 0x1800313a5
movzx eax, word [rsp + 0x64]
mov word [rsi], ax
inc r14d
add rsi, 2
cmp byte [rbx], r12b
jne 0x180031360
mov r15, qword [rbp - 0x40]
movsxd rax, r14d
mov word [r15 + rax*2], r12w
test r14d, r14d
jle 0x180031428
mov eax, dword [rdi + 4]
mov edx, dword [rdi + 0x54]
mov ecx, dword [rdi + 0x50]
cmp ecx, edx
je 0x1800313e1
cmp ecx, eax
jle 0x1800313d1
mov dword [rdi + 0x50], eax
mov ecx, eax
cmp edx, eax
jle 0x1800313da
mov dword [rdi + 0x54], eax
mov edx, eax
cmp ecx, edx
jne 0x1800313e1
mov dword [rdi + 0x4c], ecx
cmp dword [rdi + 0x4c], eax
jle 0x1800313e9
mov dword [rdi + 0x4c], eax
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.18002e150
mov r9d, r14d
mov r8, r15
mov edx, dword [rdi + 0x4c]
mov rcx, rdi
call fcn.18002dc50
test al, al
je 0x180031421
mov r8d, r14d
mov edx, dword [rdi + 0x4c]
lea rcx, [rdi + 0x4c]
call fcn.18002f3f0
add dword [rdi + 0x4c], r14d
mov byte [rdi + 0x62], r12b
mov byte [rdi + 0xe7c], 1
test r15, r15
je 0x18003143f
mov rax, qword [0x180042af8]
test rax, rax
je 0x18003143f
dec dword [rax + 0x3b0]
mov rdx, qword [0x180042b00]
mov rcx, r15
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
jmp 0x1800315d6
mov r13, qword [rsp + 0x70]
cmp qword [r13 + 0x108], 0
je 0x18003155f
mov ecx, dword [rdi + 0x54]
mov eax, dword [rdi + 0x50]
cmp eax, ecx
je 0x18003147d
mov edx, ecx
cmovge edx, eax
cmovl ecx, eax
xor r12d, r12d
jmp 0x180031486
mov edx, dword [rdi + 4]
xor r12d, r12d
mov ecx, r12d
movsxd r14, edx
mov rax, qword [rdi + 0x18]
lea r8, [rax + r14*2]
movsxd r15, ecx
lea rdx, [rax + r15*2]
mov ecx, r12d
mov r9d, 0x800
mov r10d, 0x80
test r8, r8
je 0x1800314b1
cmp rdx, r8
jae 0x1800314d4
movzx eax, word [rdx]
test ax, ax
je 0x1800314d4
add rdx, 2
cmp ax, r10w
jae 0x1800314c7
inc ecx
jmp 0x1800314a7
cmp ax, r9w
sbb eax, eax
add eax, 3
add ecx, eax
jmp 0x1800314a7
lea esi, [rcx + 1]
mov rax, qword [0x180042af8]
test rax, rax
je 0x1800314e9
inc dword [rax + 0x3b0]
movsxd rcx, esi
mov rdx, qword [0x180042b00]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rbx, rax
mov rcx, qword [rdi + 0x18]
lea r9, [rcx + r14*2]
lea r8, [rcx + r15*2]
mov edx, esi
mov rcx, rax
call fcn.180004000
mov r9, qword [0x180042af8]
mov rax, qword [r9 + 0x108]
test rax, rax
je 0x180031537
mov rdx, rbx
mov rcx, qword [r9 + 0x110]
call rax
mov r9, qword [0x180042af8]
test rbx, rbx
je 0x180031548
test r9, r9
je 0x180031548
dec dword [r9 + 0x3b0]
mov rdx, qword [0x180042b00]
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
movzx r8d, byte [rsp + 0x53]
jmp 0x180031562
xor r12d, r12d
test r8b, r8b
je 0x1800315db
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
jne 0x180031580
mov dword [rdi + 0x50], r12d
mov eax, dword [rdi + 4]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x4c], eax
mov byte [rdi + 0x62], 0
mov byte [rdi + 0xe7c], 1
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
je 0x1800315db
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.18002e150
mov byte [rdi + 0x62], 0
jmp 0x1800315db
movzx r8d, r14b
xor r8d, 1
add r8d, 0x20000a
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.18002e290
mov eax, dword [rdi + 0x4c]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x50], eax
mov dword [rdi + 0xe78], 0xbe99999a
mov byte [rdi + 0xe7c], 1
mov r13, qword [rsp + 0x70]
xor dl, dl
mov eax, dword [rdi + 0x54]
cmp dword [rdi + 0x50], eax
je 0x1800315f0
cmp byte [rsp + 0x52], 0
je 0x1800315f0
mov al, 1
jmp 0x1800315f2
xor al, al
or byte [rsp + 0x51], al
mov eax, dword [r13 + 0x1c6c]
xor r14d, r14d
mov qword [rbp - 0x78], r14
mov dword [rsp + 0x64], r14d
mov r15d, dword [rsp + 0x78]
cmp eax, r15d
jne 0x180031d66
test dl, dl
je 0x18003180d
cmp byte [rsp + 0x60], r14b
jne 0x1800317eb
mov r9, qword [rdi + 0x38]
mov rax, qword [rbp - 0x70]
mov r8, r9
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180031653
inc rax
test ecx, ecx
jne 0x180031640
test edx, edx
je 0x1800317eb
mov r12, r9
mov qword [rbp - 0x78], r9
mov eax, dword [rdi + 0x30]
dec eax
mov dword [rsp + 0x64], eax
mov qword [rbp - 0x40], r14
mov r15d, r14d
mov r13, r14
mov qword [rbp - 0x38], r14
test eax, eax
jle 0x18003174a
movsxd rbx, eax
add rbx, r9
mov rsi, r9
nop word [rax + rax]
test rbx, rbx
je 0x18003169a
cmp rsi, rbx
jae 0x1800316c1
cmp byte [rsi], 0
je 0x1800316c1
mov r8, rbx
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.180003d90
movsxd rcx, eax
add rsi, rcx
cmp dword [rsp + 0x58], 0
je 0x1800316c1
inc r14d
jmp 0x180031690
lea r15d, [r14 + 1]
test r15d, r15d
jle 0x1800316e6
mov edx, r15d
cmp r15d, 8
mov eax, 8
cmovl edx, eax
lea rcx, [rbp - 0x40]
call fcn.180017790
mov r13, qword [rbp - 0x38]
mov dword [rbp - 0x40], r15d
mov rsi, r12
mov r14, r13
movsxd r12, r15d
lea r12, [r12*2 - 2]
add r12, r13
cmp r13, r12
jae 0x18003173d
test rbx, rbx
je 0x18003170d
cmp rsi, rbx
jae 0x18003173d
cmp byte [rsi], 0
je 0x18003173d
mov r8, rbx
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.180003d90
movsxd rcx, eax
add rsi, rcx
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x18003173d
mov word [r14], ax
add r14, 2
cmp r14, r12
jb 0x180031703
xor eax, eax
mov word [r14], ax
mov eax, dword [rsp + 0x64]
xor r14d, r14d
dec r15d
test eax, eax
cmovle r15d, r14d
movsxd rbx, dword [rdi + 4]
lea rcx, [rdi + 0x6c]
mov r9d, r15d
mov r8d, ebx
xor edx, edx
call fcn.18002f090
mov r9, rax
test rax, rax
je 0x180031795
test ebx, ebx
jle 0x180031795
mov rdx, r14
nop word [rax + rax]
mov rcx, qword [rdi + 0x18]
movzx eax, word [rcx + rdx*2]
mov word [r9 + rdx*2], ax
inc rdx
cmp rdx, rbx
jl 0x180031780
mov r8d, dword [rdi + 4]
xor edx, edx
mov rcx, rdi
call fcn.18002db80
test r15d, r15d
jle 0x1800317c4
mov r9d, r15d
mov r8, r13
xor edx, edx
mov rcx, rdi
call fcn.18002dc50
test al, al
je 0x1800317c4
mov dword [rdi + 0x4c], r15d
mov byte [rdi + 0x62], 0
test r13, r13
je 0x1800317eb
mov rax, qword [0x180042af8]
test rax, rax
je 0x1800317db
dec dword [rax + 0x3b0]
mov rdx, qword [0x180042b00]
mov rcx, r13
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
nop
mov r9d, dword [rbp + 0x1e8]
cmp byte [rsp + 0x54], 0
je 0x1800317ff
test r9b, 0x20
jne 0x180031814
mov r12d, dword [rsp + 0x7c]
mov r14, qword [rbp - 0x70]
jmp 0x180031cbe
mov r9d, dword [rbp + 0x1e8]
mov r10d, dword [rsp + 0x60]
test r10b, r10b
jne 0x1800318cb
mov byte [rdi + 0x40], 1
mov eax, dword [rdi + 0x10]
lea ebx, [rax*4 + 1]
mov ecx, dword [rdi + 0x24]
cmp ebx, ecx
jle 0x18003185b
test ecx, ecx
je 0x180031846
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18003184b
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [rdi + 0x20]
call fcn.180017700
mov dword [rdi + 0x20], ebx
mov r10, qword [rdi + 0x18]
mov r9, qword [rdi + 0x28]
movsxd r11, ebx
add r11, r9
lea rbx, [r11 - 1]
cmp r9, rbx
jae 0x1800318bb
mov edi, 0x80
nop word [rax + rax]
movzx eax, word [r10]
test ax, ax
je 0x1800318b7
mov r8d, eax
add r10, 2
cmp eax, edi
jae 0x18003189c
mov byte [r9], r8b
inc r9
jmp 0x1800318b2
mov edx, r11d
sub edx, r9d
dec edx
mov rcx, r9
call fcn.180003f40
movsxd rcx, eax
add r9, rcx
cmp r9, rbx
jb 0x180031880
mov rdi, qword [rbp + 0x70]
mov byte [r9], 0
mov r9d, dword [rbp + 0x1e8]
mov r10d, dword [rsp + 0x60]
test r9d, 0x801c0
je 0x180031c62
mov r8d, 0x16
test r9b, 0x40
je 0x180031904
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x180031904
call fcn.18000a2a0
test al, al
je 0x180031904
lea eax, [r8 + 0x2a]
mov r8d, r14d
jmp 0x180031978
test r9b, r9b
jns 0x180031955
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18003192f
call fcn.18000a2a0
test al, al
je 0x18003192f
mov r11d, 0x80
mov eax, r11d
lea r8d, [r11 - 0x7d]
jmp 0x18003197e
mov rax, qword [0x180042af8]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x180031955
call fcn.18000a2a0
test al, al
je 0x180031955
mov r11d, 0x80
mov eax, r11d
lea r8d, [r11 - 0x7c]
jmp 0x18003197e
mov eax, 0x80000
test eax, r9d
je 0x180031968
cmp byte [rdi + 0xe7e], 0
jne 0x180031978
bt r9d, 8
jae 0x180031c62
mov eax, pe_nt_image_headers64
mov r11d, 0x80
mov dword [rbp - 8], r14d
mov qword [rbp + 0x11], r14
mov dword [rbp + 0x19], r14d
mov word [rbp + 0x1d], r14w
mov byte [rbp + 0x1f], 0
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x14], r9d
mov qword [rbp - 0x10], r14
test r10b, r10b
mov rax, qword [rbp - 0x70]
jne 0x1800319ab
mov rax, qword [rdi + 0x28]
mov dword [rbp - 4], r8d
mov qword [rbp], rax
mov eax, dword [rdi + 8]
mov dword [rbp + 8], eax
mov eax, dword [rdi + 0x44]
mov dword [rbp + 0xc], eax
mov byte [rbp + 0x10], 0
mov rdx, qword [rdi + 0x18]
movsxd rax, dword [rdi + 0x4c]
lea r8, [rdx + rax*2]
mov rcx, rdx
mov ebx, r14d
mov r9d, 0x800
nop dword [rax + rax]
test r8, r8
je 0x1800319ea
cmp rcx, r8
jae 0x180031a0d
movzx eax, word [rcx]
test ax, ax
je 0x180031a0d
add rcx, 2
cmp ax, r11w
jae 0x180031a00
inc ebx
jmp 0x1800319e0
cmp ax, r9w
sbb eax, eax
add eax, 3
add ebx, eax
jmp 0x1800319e0
mov dword [rbp + 0x14], ebx
movsxd rax, dword [rdi + 0x50]
lea r8, [rdx + rax*2]
mov rcx, rdx
mov r15d, r14d
nop
test r8, r8
je 0x180031a2a
cmp rcx, r8
jae 0x180031a4f
movzx eax, word [rcx]
test ax, ax
je 0x180031a4f
add rcx, 2
cmp ax, r11w
jae 0x180031a41
inc r15d
jmp 0x180031a20
cmp ax, r9w
sbb eax, eax
add eax, 3
add r15d, eax
jmp 0x180031a20
mov dword [rbp + 0x18], r15d
movsxd rax, dword [rdi + 0x54]
lea rcx, [rdx + rax*2]
mov r12d, r14d
nop
test rcx, rcx
je 0x180031a6a
cmp rdx, rcx
jae 0x180031a8f
movzx eax, word [rdx]
test ax, ax
je 0x180031a8f
add rdx, 2
cmp ax, r11w
jae 0x180031a81
inc r12d
jmp 0x180031a60
cmp ax, r9w
sbb eax, eax
add eax, 3
add r12d, eax
jmp 0x180031a60
mov dword [rbp + 0x1c], r12d
lea rcx, [rbp - 0x18]
call r14
movzx r13d, byte [rbp + 0x10]
movsxd rcx, dword [rbp + 0x14]
cmp ecx, ebx
jne 0x180031aac
test r13b, r13b
je 0x180031af6
mov rbx, qword [rbp]
lea rsi, [rbx + rcx]
test rsi, rsi
je 0x180031abe
cmp rbx, rsi
jae 0x180031ae5
cmp byte [rbx], 0
je 0x180031ae5
mov r8, rsi
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.180003d90
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x58], 0
je 0x180031ae5
inc r14d
jmp 0x180031ab4
mov dword [rdi + 0x4c], r14d
mov byte [rdi + 0xe7c], 1
mov ecx, dword [rbp + 0x14]
xor r14d, r14d
movsxd rax, dword [rbp + 0x18]
cmp eax, r15d
jne 0x180031b04
test r13b, r13b
je 0x180031b4e
cmp eax, ecx
jne 0x180031b0e
mov r14d, dword [rdi + 0x4c]
jmp 0x180031b4a
mov rbx, qword [rbp]
lea rsi, [rbx + rax]
test rsi, rsi
je 0x180031b20
cmp rbx, rsi
jae 0x180031b47
cmp byte [rbx], 0
je 0x180031b47
mov r8, rsi
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.180003d90
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x58], 0
je 0x180031b47
inc r14d
jmp 0x180031b16
mov eax, dword [rbp + 0x18]
mov dword [rdi + 0x50], r14d
movsxd rcx, dword [rbp + 0x1c]
cmp ecx, r12d
jne 0x180031b60
test r13b, r13b
je 0x180031c69
cmp ecx, eax
jne 0x180031ba4
mov r14d, dword [rdi + 0x50]
mov dword [rdi + 0x54], r14d
mov r12d, dword [rsp + 0x7c]
test r13b, r13b
je 0x180031c6e
mov ebx, dword [rbp + 8]
mov eax, dword [rbp - 0x7c]
cmp ebx, eax
jle 0x180031bfa
test r12b, r12b
je 0x180031bfa
sub ebx, eax
add ebx, dword [rdi + 0x10]
mov ecx, dword [rdi + 0x14]
cmp ebx, ecx
jle 0x180031bf7
test ecx, ecx
je 0x180031be2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180031be7
mov rbx, qword [rbp]
lea rsi, [rbx + rcx]
xor eax, eax
mov r14d, eax
test rsi, rsi
je 0x180031bbb
cmp rbx, rsi
jae 0x180031b68
cmp byte [rbx], 0
je 0x180031b68
mov r8, rsi
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.180003d90
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x58], 0
je 0x180031b68
inc r14d
jmp 0x180031bb1
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [rdi + 0x10]
call fcn.180017790
mov dword [rdi + 0x10], ebx
mov rsi, qword [rbp]
mov r15, qword [rdi + 0x18]
mov rbx, r15
movsxd r14, dword [rdi + 0x10]
dec r14
lea r14, [r15 + r14*2]
cmp r15, r14
jae 0x180031c42
cmp byte [rsi], 0
je 0x180031c42
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp - 0x7c]
call fcn.180003d90
movsxd rcx, eax
add rsi, rcx
mov eax, dword [rbp - 0x7c]
test eax, eax
je 0x180031c42
mov word [rbx], ax
add rbx, 2
cmp rbx, r14
jb 0x180031c15
xor eax, eax
mov word [rbx], ax
sub rbx, r15
sar rbx, 1
mov dword [rdi + 4], ebx
mov eax, dword [rbp + 8]
mov dword [rdi + 8], eax
mov dword [rdi + 0xe78], 0xbe99999a
jmp 0x180031c6e
mov r12d, dword [rsp + 0x7c]
jmp 0x180031c75
mov r12d, dword [rsp + 0x7c]
mov r9d, dword [rbp + 0x1e8]
mov r14, qword [rbp - 0x70]
cmp byte [rsp + 0x60], 0
jne 0x180031cbe
mov r9, qword [rdi + 0x28]
mov rax, r9
mov r8, r14
sub r8, r9
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180031ca3
inc rax
test ecx, ecx
jne 0x180031c90
test edx, edx
je 0x180031cb7
mov qword [rbp - 0x78], r9
mov ecx, dword [rdi + 8]
mov r9d, dword [rbp + 0x1e8]
jmp 0x180031cc2
mov r9d, dword [rbp + 0x1e8]
mov ecx, dword [rsp + 0x64]
xor edx, edx
mov dword [rdi + 0xe80], edx
mov rsi, qword [rbp - 0x78]
test rsi, rsi
je 0x180031d5e
test r12b, r12b
je 0x180031d2c
mov qword [rbp + 0x30], rdx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x48], xmm0
mov dword [rbp + 0x20], 0x40000
mov dword [rbp + 0x24], r9d
mov qword [rbp + 0x38], r14
mov dword [rbp + 0x40], ecx
lea eax, [rcx + 1]
cmp eax, 0x20
mov ecx, 0x20
cmovle eax, ecx
mov dword [rbp + 0x44], eax
mov qword [rbp + 0x28], rdx
lea rcx, [rbp + 0x20]
call rdx
mov r14, qword [rbp + 0x38]
mov qword [rbp - 0x70], r14
mov edx, dword [rbp + 0x44]
lea ecx, [rdx - 1]
cmp dword [rbp + 0x40], ecx
cmovl ecx, dword [rbp + 0x40]
jmp 0x180031d31
mov edx, 0x20
lea eax, [rcx + 1]
cmp eax, edx
cmovl edx, eax
movsxd rbx, edx
cmp rbx, 1
jb 0x180031d5a
jbe 0x180031d54
lea r8, [rbx - 1]
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [r14 + rbx - 1], 0
mov byte [rbp - 0x7f], 1
xor r14d, r14d
mov r15d, dword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
cmp byte [rsp + 0x50], 0
je 0x180031de3
cmp dword [r13 + 0x1c6c], r15d
jne 0x180031de3
mov rdx, qword [0x180042af8]
mov ecx, dword [rdx + 0x1c6c]
test ecx, ecx
setne al
mov byte [rdx + 0x1c78], al
test ecx, ecx
je 0x180031db1
mov dword [rdx + 0x1c74], r14d
mov word [rdx + 0x1c7b], 0
mov dword [rdx + 0x1ca4], 0xffffffff
mov dword [rdx + 0x1c6c], r14d
mov word [rdx + 0x1c79], 0
mov qword [rdx + 0x1c98], r14
mov word [rdx + 0x1c7d], 0
mov qword [rdx + 0x1c80], 0
mov qword [rdx + 0x1c88], r14
mov r10d, dword [rsp + 0x5c]
test r10b, r10b
jne 0x180031ea9
mov r8d, 1
mov edx, r15d
lea rcx, [rbp + 0x58]
call fcn.180004af0
movss xmm11, dword [0x18003c6d4]
movaps xmm1, xmm11
mov ecx, 7
call fcn.1800042f0
mov r8d, eax
movss xmm0, dword [r13 + 0x15b4]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
mov rdx, qword [rbp + 0x60]
movaps xmm0, xmm7
unpcklps xmm0, xmm12
movq rcx, xmm0
call fcn.180004980
movaps xmm15, xmm7
movss dword [rbp + 0x88], xmm7
movaps xmm14, xmm12
movss dword [rbp + 0x8c], xmm12
movaps xmm13, xmm7
addss xmm13, xmm9
movss dword [rbp + 0x90], xmm13
addss xmm12, xmm10
movss dword [rbp + 0x94], xmm12
addss xmm7, dword [r13 + 0x15ac]
movss dword [rbp + 0x70], xmm7
movss xmm0, dword [rbp - 0x58]
addss xmm0, dword [r13 + 0x15b0]
movss dword [rbp + 0x74], xmm0
mov r10d, dword [rsp + 0x5c]
mov r11, qword [rbp - 0x68]
jmp 0x180031efd
movaps xmm15, xmm7
movss dword [rbp + 0x88], xmm7
movaps xmm14, xmm12
movss dword [rbp + 0x8c], xmm12
movaps xmm13, xmm9
addss xmm13, xmm7
movss dword [rbp + 0x90], xmm13
addss xmm12, xmm10
movss dword [rbp + 0x94], xmm12
mov r11, qword [rbp - 0x68]
movsd xmm0, qword [r11 + 0xd8]
movsd qword [rbp + 0x70], xmm0
movss xmm11, dword [0x18003c6d4]
lea rax, [rbp + 0x70]
movsd xmm0, qword [rax]
movsd qword [rbp + 0x68], xmm0
xorps xmm4, xmm4
movss dword [rsp + 0x64], xmm4
xorps xmm10, xmm10
movss dword [rsp + 0x58], xmm10
cmp byte [rbp - 0x80], 0
je 0x180031f2e
mov rsi, qword [rdi + 0x28]
mov qword [rbp - 0x70], rsi
jmp 0x180031f32
mov rsi, qword [rbp - 0x70]
movzx eax, byte [rsp + 0x52]
movzx ecx, byte [rsp + 0x51]
test al, al
jne 0x180032046
test cl, cl
jne 0x180032046
test r10b, r10b
je 0x180031fa6
mov ecx, r14d
movzx edx, byte [rsi]
lea r14, [rsi + 1]
test dl, dl
je 0x180031f76
nop
lea eax, [rcx + 1]
cmp dl, 0xa
cmovne eax, ecx
mov ecx, eax
movzx edx, byte [r14]
inc r14
test dl, dl
jne 0x180031f60
dec r14
movzx eax, byte [r14]
cmp al, 0xa
je 0x180031f87
cmp al, 0xd
je 0x180031f87
inc ecx
movaps xmm6, xmm9
movd xmm10, ecx
cvtdq2ps xmm10, xmm10
mulss xmm10, dword [r13 + 0x1990]
movss dword [rsp + 0x58], xmm10
jmp 0x180031fe5
cmp dword [r13 + 0x1c6c], r15d
jne 0x180031fb5
movsxd r14, dword [rdi + 8]
jmp 0x180031fca
mov r14, 0xffffffffffffffff
nop dword [rax]
inc r14
cmp byte [rsi + r14], 0
jne 0x180031fc0
add r14, rsi
mov rax, r14
sub rax, rsi
movss xmm6, dword [rsp + 0x64]
cmp rax, 0x200000
jge 0x180032965
lea r8, [rbp + 0x88]
test r10b, r10b
mov eax, 0
cmovne r8, rax
movaps xmm1, xmm11
xor ecx, ecx
call fcn.1800042f0
mov qword [rsp + 0x40], r8
xorps xmm11, xmm11
movss dword [rsp + 0x38], xmm11
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x68]
movss xmm2, dword [r13 + 0x1990]
mov rdx, qword [r13 + 0x1988]
mov rcx, qword [r11 + 0x270]
call fcn.1800224a0
jmp 0x18003280b
movsxd r12, dword [rdi + 8]
lea r14, [rsi + r12]
mov rsi, qword [rdi + 0x18]
xorps xmm8, xmm8
xorps xmm6, xmm6
xor r9d, r9d
mov r10d, r9d
mov r15d, r9d
mov r8d, 0xfffffc18
mov r11d, r8d
mov edx, r9d
test al, al
je 0x180032082
movsxd rax, dword [rdi + 0x4c]
lea r10, [rsi + rax*2]
lea edx, [r9 + 1]
lea r8d, [r9 - 1]
test cl, cl
je 0x18003209f
mov ecx, dword [rdi + 0x54]
cmp dword [rdi + 0x50], ecx
cmovl ecx, dword [rdi + 0x50]
movsxd rax, ecx
lea r15, [rsi + rax*2]
mov r11d, 0xffffffff
inc edx
movzx eax, byte [rsp + 0x5c]
add edx, eax
mov rax, rsi
movzx ecx, word [rsi]
test cx, cx
je 0x1800320ee
cmp cx, 0xa
jne 0x1800320e2
inc r9d
cmp r8d, 0xffffffff
jne 0x1800320ce
cmp rax, r10
jb 0x1800320ce
mov r8d, r9d
dec edx
test edx, edx
jle 0x1800320ee
cmp r11d, 0xffffffff
jne 0x1800320e2
cmp rax, r15
jb 0x1800320e2
mov r11d, r9d
dec edx
test edx, edx
jle 0x1800320ee
add rax, 2
movzx ecx, word [rax]
test cx, cx
jne 0x1800320b1
inc r9d
mov ebx, r9d
cmp r8d, 0xffffffff
cmovne ebx, r8d
cmp r11d, 0xffffffff
cmove r11d, r9d
mov rdx, r10
cmp r10, rsi
jbe 0x180032122
nop dword [rax]
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x180032122
mov rdx, rax
cmp rax, rsi
ja 0x180032110
mov rax, qword [0x180042af8]
mov r8, qword [rax + 0x1988]
movss xmm2, dword [rax + 0x1990]
divss xmm2, dword [r8 + 0x14]
movaps xmm1, xmm4
movaps xmm9, xmm4
cmp rdx, r10
jae 0x180032190
nop word [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x180032167
maxss xmm1, xmm9
movaps xmm9, xmm4
jmp 0x18003218b
cmp ecx, 0xd
je 0x18003218b
cmp ecx, dword [r8]
jge 0x18003217c
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x180032182
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm9, xmm0
cmp rdx, r10
jb 0x180032150
maxss xmm9, xmm1
movss xmm3, dword [r13 + 0x1990]
movd xmm7, ebx
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm3
movss dword [rsp + 0x7c], xmm7
test r11d, r11d
js 0x18003222f
mov rdx, r15
cmp r15, rsi
jbe 0x1800321d2
nop dword [rax]
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x1800321d2
mov rdx, rax
cmp rax, rsi
ja 0x1800321c0
movaps xmm1, xmm4
movaps xmm6, xmm4
cmp rdx, r15
jae 0x18003221d
nop dword [rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x1800321f5
maxss xmm1, xmm6
movaps xmm6, xmm4
jmp 0x180032218
cmp ecx, 0xd
je 0x180032218
cmp ecx, dword [r8]
jge 0x18003220a
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x180032210
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm6, xmm0
cmp rdx, r15
jb 0x1800321e0
movd xmm8, r11d
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm3
maxss xmm6, xmm1
mov r10d, dword [rsp + 0x5c]
movss xmm5, dword [rbp - 0x54]
test r10b, r10b
je 0x180032259
movss dword [rsp + 0x64], xmm5
movd xmm10, r9d
cvtdq2ps xmm10, xmm10
mulss xmm10, xmm3
movss dword [rsp + 0x58], xmm10
movzx r15d, byte [rsp + 0x52]
test r15b, r15b
je 0x1800323a2
cmp byte [rdi + 0xe7c], 0
je 0x1800323a2
test dword [rbp + 0x1e8], 0x1000
jne 0x1800322d4
movaps xmm2, xmm5
mulss xmm2, dword [0x18003c688]
subss xmm5, dword [r13 + 0x15ac]
movss xmm1, dword [rdi + 0x48]
comiss xmm1, xmm9
jbe 0x1800322b1
movaps xmm1, xmm9
subss xmm1, xmm2
movaps xmm0, xmm4
maxss xmm0, xmm1
jmp 0x1800322c2
movaps xmm0, xmm9
subss xmm0, xmm5
comiss xmm0, xmm1
jb 0x1800322d9
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x48], xmm0
jmp 0x1800322d9
xor eax, eax
mov dword [rdi + 0x48], eax
test r10b, r10b
je 0x180032377
movaps xmm0, xmm7
subss xmm0, dword [r13 + 0x1990]
movss xmm2, dword [r13 + 0x15b0]
movss xmm5, dword [rbp - 0x60]
movss xmm12, dword [rbp - 0x24]
comiss xmm5, xmm0
jbe 0x180032310
movaps xmm5, xmm4
maxss xmm5, xmm0
jmp 0x180032337
movaps xmm3, xmm2
addss xmm3, xmm2
movaps xmm1, xmm12
subss xmm1, xmm3
movaps xmm0, xmm7
subss xmm0, xmm1
comiss xmm0, xmm5
jb 0x180032337
movaps xmm5, xmm7
subss xmm5, xmm12
addss xmm5, xmm3
comiss xmm4, xmm5
jbe 0x180032341
movaps xmm2, xmm4
jmp 0x180032357
addss xmm2, xmm2
addss xmm2, xmm10
subss xmm2, xmm12
maxss xmm2, xmm4
minss xmm2, xmm5
mov rax, qword [rbp - 0x68]
movss xmm0, dword [rax + 0x60]
subss xmm0, xmm2
movss xmm1, dword [rbp + 0x6c]
addss xmm1, xmm0
movss dword [rbp + 0x6c], xmm1
movss dword [rax + 0x60], xmm2
mov byte [rdi + 0xe7c], 0
movss xmm12, dword [rbp + 0x94]
movss xmm13, dword [rbp + 0x90]
movss xmm14, dword [rbp + 0x8c]
movss xmm15, dword [rbp + 0x88]
movss xmm10, dword [rdi + 0x48]
cmp byte [rsp + 0x51], 0
je 0x18003269e
mov edx, dword [rdi + 0x54]
mov ecx, dword [rdi + 0x50]
mov eax, edx
cmp ecx, edx
cmovl eax, ecx
cdqe
lea rbx, [rsi + rax*2]
cmovge edx, ecx
movsxd rax, edx
lea rsi, [rsi + rax*2]
test r15b, r15b
je 0x1800323db
movaps xmm1, xmm11
jmp 0x1800323e3
movss xmm1, dword [0x18003c6a0]
mov ecx, 0x2f
call fcn.1800042f0
mov r15d, eax
test r10b, r10b
je 0x180032401
xorps xmm11, xmm11
movss dword [rbp - 0x4c], xmm11
jmp 0x18003240a
movss xmm11, dword [0x18003c6f8]
movss xmm5, dword [rbp + 0x68]
addss xmm6, xmm5
subss xmm6, xmm10
movss xmm7, dword [rbp + 0x6c]
addss xmm7, xmm8
xorps xmm8, xmm8
subss xmm7, xmm8
cmp rbx, rsi
jae 0x1800325f8
movss xmm4, dword [r13 + 0x1990]
movaps xmm1, xmm4
movaps xmm0, xmm12
addss xmm0, xmm1
comiss xmm7, xmm0
ja 0x1800325f3
comiss xmm14, xmm7
jbe 0x18003247c
cmp rbx, rsi
jae 0x1800325d2
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x1800325d2
cmp rbx, rsi
jae 0x1800325f3
jmp 0x180032460
mov rax, qword [0x180042af8]
mov rdx, qword [rax + 0x1988]
movss xmm2, dword [rax + 0x1990]
divss xmm2, dword [rdx + 0x14]
movaps xmm3, xmm8
movaps xmm1, xmm8
cmp rbx, rsi
jae 0x1800324e7
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x1800324db
cmp ecx, 0xd
je 0x18003249f
cmp ecx, dword [rdx]
jge 0x1800324cc
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + rcx*4]
mulss xmm0, xmm2
addss xmm1, xmm0
jmp 0x18003249f
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
jmp 0x18003249f
movaps xmm3, xmm8
maxss xmm3, xmm1
movaps xmm1, xmm8
maxss xmm1, xmm3
comiss xmm8, xmm1
jb 0x180032523
mov rax, qword [r13 + 0x1988]
cmp dword [rax], 0x20
jle 0x18003250b
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x180032510
movss xmm0, dword [rax + 0x10]
mulss xmm0, dword [0x18003c69c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm6
movaps xmm0, xmm11
addss xmm0, xmm7
addss xmm6, xmm8
movss xmm2, dword [rbp - 0x4c]
subss xmm2, xmm4
addss xmm2, xmm7
maxss xmm6, xmm15
maxss xmm2, xmm14
movss dword [rbp + 0x58], xmm6
movss dword [rbp + 0x5c], xmm2
minss xmm1, xmm13
minss xmm0, xmm12
movss dword [rbp + 0x60], xmm1
movss dword [rbp + 0x64], xmm0
comiss xmm0, xmm14
jbe 0x1800325d2
comiss xmm12, xmm2
jbe 0x1800325d2
comiss xmm1, xmm15
jbe 0x1800325d2
comiss xmm13, xmm6
jbe 0x1800325d2
xor eax, eax
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x20], xmm8
mov r9d, r15d
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x58]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax + 0x270]
call fcn.1800221b0
movss xmm12, dword [rbp + 0x94]
movss xmm13, dword [rbp + 0x90]
movss xmm14, dword [rbp + 0x8c]
movss xmm15, dword [rbp + 0x88]
movss xmm5, dword [rbp + 0x68]
movaps xmm6, xmm5
subss xmm6, xmm10
movss xmm4, dword [r13 + 0x1990]
addss xmm7, xmm4
movaps xmm1, xmm4
cmp rbx, rsi
jb 0x180032440
mov r10d, dword [rsp + 0x5c]
movss xmm7, dword [rsp + 0x7c]
movzx r15d, byte [rsp + 0x52]
test r10b, r10b
jne 0x180032616
cmp r12, 0x200000
jge 0x1800326ac
subss xmm5, xmm10
movss dword [rbp + 0x70], xmm5
movss xmm0, dword [rbp + 0x6c]
subss xmm0, xmm8
movss dword [rbp + 0x74], xmm0
lea r8, [rbp + 0x88]
test r10b, r10b
mov eax, 0
cmovne r8, rax
movss xmm8, dword [0x18003c6d4]
movaps xmm1, xmm8
xor ecx, ecx
call fcn.1800042f0
mov qword [rsp + 0x40], r8
xorps xmm11, xmm11
movss dword [rsp + 0x38], xmm11
mov qword [rsp + 0x30], r14
mov rsi, qword [rbp - 0x70]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x70]
movss xmm2, dword [r13 + 0x1990]
mov rdx, qword [r13 + 0x1988]
mov rbx, qword [rbp - 0x68]
mov rcx, qword [rbx + 0x270]
call fcn.1800224a0
jmp 0x1800326c1
movss xmm5, dword [rbp + 0x68]
xorps xmm8, xmm8
jmp 0x180032604
movss xmm8, dword [0x18003c6d4]
xorps xmm11, xmm11
mov rbx, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x70]
test r15b, r15b
je 0x180032805
movss xmm0, dword [r13 + 0x18]
addss xmm0, dword [rdi + 0xe78]
movss dword [rdi + 0xe78], xmm0
cmp byte [r13 + 0xca], 0
je 0x18003270e
comiss xmm11, xmm0
jae 0x18003270e
movss xmm1, dword [0x18003c6dc]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x18003c6c0]
comiss xmm1, xmm0
jae 0x18003270e
xor cl, cl
jmp 0x180032710
mov cl, 1
addss xmm9, dword [rbp + 0x68]
subss xmm9, xmm10
cvttss2si eax, xmm9
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss xmm0, dword [rbp + 0x6c]
addss xmm0, xmm7
subss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp + 0x58], xmm6
movaps xmm1, xmm7
subss xmm1, dword [r13 + 0x1990]
addss xmm1, dword [0x18003c69c]
movss dword [rbp + 0x5c], xmm1
movaps xmm3, xmm6
addss xmm3, xmm8
movss dword [rbp + 0x60], xmm3
movaps xmm2, xmm7
subss xmm2, dword [0x18003c6e8]
movss dword [rbp + 0x64], xmm2
test cl, cl
je 0x1800327de
comiss xmm2, dword [rbp + 0x8c]
jbe 0x1800327de
movss xmm0, dword [rbp + 0x94]
comiss xmm0, xmm1
jbe 0x1800327de
comiss xmm3, dword [rbp + 0x88]
jbe 0x1800327de
movss xmm0, dword [rbp + 0x90]
comiss xmm0, xmm6
jbe 0x1800327de
movss dword [rbp + 0x70], xmm6
movss dword [rbp + 0x74], xmm2
movaps xmm1, xmm8
xor ecx, ecx
call fcn.1800042f0
mov r9d, eax
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x58]
mov rcx, qword [rbx + 0x270]
call fcn.180021f50
cmp byte [rsp + 0x60], 0
jne 0x180032805
subss xmm6, xmm8
subss xmm7, dword [r13 + 0x1990]
movss dword [r13 + 0x30c0], xmm6
movss dword [r13 + 0x30c4], xmm7
movss xmm6, dword [rsp + 0x64]
mov r15d, dword [rbp - 0x5c]
test r15b, r15b
je 0x180032819
call fcn.18000fa50
cmp byte [rsp + 0x5c], 0
je 0x1800328a9
movss dword [rbp + 0x70], xmm6
movss xmm0, dword [rsp + 0x58]
addss xmm0, dword [r13 + 0x15b0]
movss dword [rbp + 0x74], xmm0
lea rcx, [rbp + 0x70]
call fcn.18002ccc0
mov ebx, dword [r13 + 0x1cc0]
mov eax, ebx
or eax, 0x101
mov dword [r13 + 0x1cc0], eax
call fcn.18000a5f0
mov eax, dword [r13 + 0x1ce0]
and eax, 0x80
mov edi, dword [rbp + 0xa0]
or edi, eax
mov dword [r13 + 0x1cc0], ebx
call fcn.1800103b0
cmp dword [r13 + 0x1cd8], 0
jne 0x1800328a9
mov eax, dword [rsp + 0x78]
mov dword [r13 + 0x1cd8], eax
mov eax, dword [rbp + 0x9c]
mov dword [r13 + 0x1cdc], eax
mov dword [r13 + 0x1ce0], edi
cmp byte [r13 + 0x312c], 0
je 0x1800328ea
test r15b, r15b
jne 0x1800328ea
mov rax, qword [0x180042af8]
lea rcx, [0x18003c61c]
mov qword [rax + 0x3150], rcx
lea rcx, [0x18003c618]
mov qword [rax + 0x3158], rcx
mov r8, r14
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.180015920
movss xmm0, dword [rbp - 0x48]
comiss xmm0, xmm11
jbe 0x180032928
movss xmm0, dword [rbp - 0x50]
addss xmm0, dword [r13 + 0x15c4]
movss xmm1, dword [rbp - 0x58]
addss xmm1, dword [r13 + 0x15b0]
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rbp - 0x20]
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.180004450
movzx edx, byte [rbp - 0x7f]
mov ecx, dword [rbp + 0x1e8]
test dl, dl
je 0x180032953
bt ecx, 0x1b
jb 0x180032953
mov rax, qword [0x180042af8]
mov word [rax + 0x1c7c], 0x101
or dword [rax + 0x1ce0], 4
test cl, 0x20
mov eax, edx
movzx ecx, byte [rsp + 0x54]
cmovne eax, ecx
jmp 0x18002fc4e
xorps xmm11, xmm11
jmp 0x18003280b