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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x288
mov r14, qword [0x1801b5b38]
xor edi, edi
movaps xmmword [rax - 0x58], xmm6
mov rsi, rcx
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [r14 + 0x3ec8]
mov qword [rbp + 8], r14
mov byte [rax + 0xb8], 1
mov r15, qword [r14 + 0x3ec8]
mov qword [rbp - 0x78], r15
cmp byte [r15 + 0xbb], dil
jne 0x1800619f4
mov ebx, dword [rbp + 0x1f8]
mov eax, ebx
shr eax, 0xe
mov r13d, ebx
and al, 1
shr r13d, 0x1a
mov dword [rsp + 0x5c], eax
and r13b, 1
mov eax, ebx
mov dword [rsp + 0x64], ebx
shr eax, 0xf
and al, 1
mov dword [rsp + 0x58], r13d
mov dword [rbp - 0x6c], eax
mov eax, ebx
shr eax, 0x10
not al
and al, 1
mov dword [rbp - 0x48], eax
mov eax, ebx
shr eax, 0x12
and al, 1
mov dword [rbp - 0x40], eax
test r13b, r13b
je 0x180061857
call fcn.18004929c
mov rdx, rsi
mov rcx, r15
call fcn.18003e944
movss xmm0, dword [0x18016326c]
lea rcx, [rbp + 0x1d8]
mov r9b, 1
movss dword [rbp], xmm0
xor r8d, r8d
movss dword [rsp + 0x20], xmm0
mov rdx, rsi
mov dword [rsp + 0x68], eax
mov r12d, eax
call fcn.180041860
test r13b, r13b
je 0x1800618a9
movss xmm4, dword [r14 + 0x3c28]
mulss xmm4, dword [0x1801630c0]
jmp 0x1800618b1
movss xmm4, dword [rbp + 0x1dc]
call fcn.1800490d0
movss xmm6, dword [r14 + 0x3834]
lea rcx, [rbp + 0x200]
mov rdx, qword [rbp + 0x1f0]
movaps xmm3, xmm6
addss xmm3, xmm6
movaps xmm2, xmm0
mov rdx, qword [rdx]
addss xmm3, xmm4
call fcn.180049140
movss xmm14, dword [rbp + 0x1d8]
xorps xmm10, xmm10
comiss xmm14, xmm10
movss dword [rbp - 0x18], xmm14
jbe 0x18006190b
movaps xmm1, xmm14
addss xmm1, dword [r14 + 0x3848]
jmp 0x18006190e
xorps xmm1, xmm1
movss xmm9, dword [r15 + 0x104]
lea rcx, [rbp + 0x1d8]
movss xmm7, dword [r15 + 0x100]
movaps xmm0, xmm9
movss xmm11, dword [rbp + 0x204]
movaps xmm2, xmm9
movss xmm8, dword [rbp + 0x200]
addss xmm2, xmm11
addss xmm1, xmm8
movss dword [rbp - 0x50], xmm9
addss xmm0, xmm11
movss dword [rbp - 8], xmm11
movaps xmm13, xmm7
movss dword [rsp + 0x78], xmm7
addss xmm13, xmm8
movss dword [rsp + 0x7c], xmm9
movss dword [rbp - 0x2c], xmm2
subss xmm2, xmm9
addss xmm1, xmm7
movss dword [rbp - 0x38], xmm7
movss dword [rbp - 0x7c], xmm0
xorps xmm0, xmm0
movss dword [rbp - 0x34], xmm9
movss dword [rbp - 0x60], xmm13
movss dword [rbp - 0x80], xmm13
movss dword [rbp - 0x30], xmm1
subss xmm1, xmm7
movss dword [rbp + 0x1dc], xmm2
mov qword [rbp - 0x68], r15
movups xmmword [rbp + 0xa0], xmm0
movss dword [rbp + 0x1d8], xmm1
movaps xmm1, xmm6
call fcn.180048c7c
test r13b, r13b
je 0x180061ba5
mov r9d, 0x400
lea r8, [rsp + 0x78]
mov edx, r12d
lea rcx, [rbp - 0x38]
call fcn.180048de0
test al, al
jne 0x180061a49
call fcn.1800493c4
xor al, al
lea r11, [rsp + 0x288]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movups xmm0, xmmword [r14 + 0x4764]
mov edi, dword [r14 + 0x476c]
lea rdx, [r14 + 0x3940]
mov ecx, 3
movss dword [r15 + 0x100], xmm7
movups xmmword [rbp + 0xa0], xmm0
movss dword [r15 + 0x104], xmm9
call fcn.18003d250
movss xmm1, dword [r14 + 0x3838]
mov ecx, 7
call fcn.18003d300
movss xmm1, dword [r14 + 0x383c]
mov ecx, 8
call fcn.18003d300
and dword [rbp + 0x1d8], 0
lea rdx, [rbp + 0x1d8]
and dword [rbp + 0x1dc], 0
mov ecx, 2
call fcn.18003d378
movss xmm13, dword [rbp - 0x80]
lea r8, [rbp + 0x1d8]
movss xmm1, dword [rbp - 0x7c]
movaps xmm0, xmm13
movss xmm9, dword [rsp + 0x7c]
mov edx, r12d
movss xmm7, dword [rsp + 0x78]
subss xmm1, xmm9
subss xmm0, xmm7
movss dword [rbp - 0x60], xmm13
mov rcx, rsi
movss dword [rbp - 0x50], xmm9
mov dword [rsp + 0x20], 4
movss dword [rbp + 0x1dc], xmm1
movss dword [rbp + 0x1d8], xmm0
call fcn.180041b60
mov ecx, 3
mov bl, al
call fcn.18003d404
mov ecx, 1
call fcn.18003d2ac
test bl, bl
jne 0x180061b46
call fcn.180041d94
jmp 0x1800619ef
mov rbx, qword [r14 + 0x3ec8]
mov qword [rbp - 0x68], rbx
movsx ecx, word [rbx + 0x15e]
movss xmm0, dword [rbx + 0x100]
mov eax, dword [rbx + 0x158]
bts ecx, eax
subss xmm8, dword [rbx + 0xac]
mov word [rbx + 0x15e], cx
addss xmm0, dword [r14 + 0x3830]
movss dword [rbx + 0x100], xmm0
movss xmm1, dword [r14 + 0x3834]
addss xmm1, dword [rbx + 0x104]
movss dword [rbx + 0x104], xmm1
jmp 0x180061bf3
bt ebx, 0x1c
jb 0x180061be9
mov r9d, 0x400
lea r8, [rsp + 0x78]
mov edx, r12d
lea rcx, [rbp - 0x38]
call fcn.180048de0
test al, al
je 0x1800619f4
movss xmm13, dword [rbp - 0x80]
movss xmm9, dword [rsp + 0x7c]
movss xmm7, dword [rsp + 0x78]
movss dword [rbp - 0x60], xmm13
movss dword [rbp - 0x50], xmm9
mov edi, dword [r14 + 0x476c]
mov rbx, r15
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.18003ee70
xor r8d, r8d
mov byte [rsp + 0x60], al
mov cl, al
test al, al
je 0x180061c18
mov dword [r14 + 0x4a50], 1
mov rsi, qword [0x1801b5b38]
test r12d, r12d
je 0x180061c36
cmp dword [rsi + 0x4be8], r12d
jne 0x180061c36
add rsi, 0x4be0
jmp 0x180061c39
mov rsi, r8
mov eax, dword [r14 + 0x3f28]
shr edi, 8
and dil, 1
mov dword [rbp - 0x10], edi
cmp eax, r12d
je 0x180061c79
cmp dword [r14 + 0x48bc], r12d
jne 0x180061c79
test byte [r14 + 0x48c8], 1
jne 0x180061c70
mov edx, 2
cmp dword [r14 + 0x48e0], edx
jne 0x180061c79
mov byte [rbp + 0x208], 1
jmp 0x180061c80
mov byte [rbp + 0x208], r8b
test cl, cl
je 0x180061c90
mov r12b, 1
cmp byte [r14 + 0x3748], r8b
jne 0x180061c93
mov r12b, r8b
mov byte [rbp + 0x1d8], r12b
test r13b, r13b
je 0x180061cc7
test rsi, rsi
je 0x180061cc7
test eax, eax
jne 0x180061cc7
lea rdx, str.SCROLLY
mov rcx, rbx
call fcn.18003e944
cmp dword [r14 + 0x3f58], eax
jne 0x180061cc4
mov bl, 1
jmp 0x180061cd4
xor r8d, r8d
mov bl, r8b
test r13b, r13b
je 0x180061cf8
test rsi, rsi
je 0x180061cf8
mov rcx, qword [rbp - 0x68]
lea rdx, str.SCROLLY
call fcn.18003e944
xor r8d, r8d
cmp dword [r14 + 0x3f28], eax
jne 0x180061cf8
mov cl, 1
mov byte [rsp + 0x53], cl
jmp 0x180061d04
mov cl, r8b
mov byte [rsp + 0x53], cl
test r13b, r13b
je 0x180061d12
mov rax, qword [rbp - 0x68]
movss xmm6, dword [rax + 0x88]
jmp 0x180061d1e
movss xmm6, dword [0x180163228]
mov byte [rsp + 0x53], cl
test rsi, rsi
je 0x180061d30
mov al, r13b
mov r13b, 1
xor al, 1
cmp byte [rsi + 0x6b], al
jne 0x180061d33
mov r13b, r8b
test r12b, r12b
jne 0x180061d5c
test bl, bl
jne 0x180061d5c
cmp byte [rbp + 0x208], r8b
jne 0x180061d5c
test dil, dil
jne 0x180061d5c
mov byte [rbp + 0x200], r8b
test cl, cl
jne 0x180061d63
mov byte [rsp + 0x54], r8b
jmp 0x180061d76
mov byte [rbp + 0x200], 1
mov r12d, dword [rsp + 0x68]
mov byte [rsp + 0x54], 1
cmp dword [r14 + 0x3f28], r12d
jne 0x180061d87
mov r12b, r8b
test r13b, r13b
je 0x180061fa8
mov r12d, dword [rsp + 0x68]
lea rsi, [r14 + 0x4be0]
mov ecx, dword [rsi + 8]
mov dword [rsi + 0xe80], 0xbe99999a
call fcn.1800616b4
mov rcx, qword [rbp + 0x1e0]
or rbx, 0xffffffffffffffff
xor eax, eax
inc rbx
cmp byte [rcx + rbx], al
jne 0x180061dad
mov ecx, dword [rsi + 0x3c]
lea edi, [rbx + 1]
cmp edi, ecx
jle 0x180061de3
test ecx, ecx
je 0x180061dce
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180061dd3
mov eax, 8
cmp eax, edi
lea rcx, [rsi + 0x38]
mov edx, edi
cmovg edx, eax
call fcn.18004fddc
mov dword [rsi + 0x38], edi
mov rcx, qword [rsi + 0x40]
movsxd r8, edi
mov rdi, qword [rbp + 0x1e0]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
xor r8d, r8d
cmp dword [rsi + 8], r12d
jne 0x180061e2f
test r13b, r13b
jne 0x180061e2f
mov r15b, 1
cmp dword [rsi + 0x10], ebx
jne 0x180061e2f
cmp byte [rsi + 0x48], r8b
je 0x180061e32
mov rcx, qword [rsi + 0x30]
mov rdx, rdi
movsxd r8, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
xor r8d, r8d
test eax, eax
je 0x180061e32
mov r15b, r8b
mov r13d, dword [rbp + 0x1e8]
mov dword [rsi + 8], r12d
mov ecx, dword [rsi + 0x1c]
mov qword [rbp - 0x38], r8
lea ebx, [r13 + 1]
cmp ebx, ecx
jle 0x180061e73
test ecx, ecx
je 0x180061e5b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180061e60
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x18]
mov edx, ebx
cmovg edx, eax
call fcn.18004fe60
xor r8d, r8d
mov dword [rsi + 0x18], ebx
mov ecx, dword [rsi + 0x2c]
test ecx, ecx
jns 0x180061e9a
mov eax, ecx
cdq
sub eax, edx
mov edx, r8d
sar eax, 1
add eax, ecx
lea rcx, [rsi + 0x28]
test eax, eax
cmovg edx, eax
call fcn.18004fddc
xor r8d, r8d
mov rbx, qword [rbp + 0x1e0]
lea rax, [rbp - 0x38]
mov dword [rsi + 0x28], r8d
xor r9d, r9d
mov rcx, qword [rsi + 0x20]
mov edx, r13d
mov byte [rsi + 0x48], r8b
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.18003c9ac
mov ecx, dword [rbp - 0x38]
xor r8d, r8d
sub ecx, ebx
mov dword [rsi + 0xc], eax
mov dword [rsi + 0x10], ecx
mov edx, eax
test r15b, r15b
je 0x180061eff
cmp dword [rsi + 0x54], eax
mov ecx, eax
cmovl ecx, dword [rsi + 0x54]
cmp dword [rsi + 0x58], eax
mov dword [rsi + 0x54], ecx
cmovl eax, dword [rsi + 0x58]
cmp dword [rsi + 0x5c], edx
mov ecx, dword [rsp + 0x58]
cmovl edx, dword [rsi + 0x5c]
mov dword [rsi + 0x5c], edx
mov dword [rsi + 0x58], eax
jmp 0x180061f43
mov ecx, dword [rsp + 0x58]
mov al, cl
xor al, 1
mov qword [rsi + 0x50], r8
mov byte [rsi + 0x6b], al
mov dword [rsi + 0xe72], 0x630000
mov dword [rsi + 0xe78], r8d
mov dword [rsi + 0xe7c], 0x3e7
mov qword [rsi + 0x58], r8
mov word [rsi + 0x69], 1
mov dword [rsi + 0x70], r8d
mov byte [rsi + 0x68], r8b
mov byte [rsi + 0x60], r8b
mov dword [rsi + 0x64], r8d
mov eax, dword [rsp + 0x64]
mov r12b, r8b
test cl, cl
jne 0x180061f92
mov r12d, eax
shr r12d, 4
and r12b, 1
cmp byte [rbp + 0x208], r8b
je 0x180061f74
test r15b, r15b
je 0x180061f71
test byte [r14 + 0x48c8], 4
jne 0x180061f74
mov r12b, 1
mov bl, byte [rbp + 0x1d8]
cmp byte [rbp - 0x10], r8b
jne 0x180061f8d
test bl, bl
je 0x180061f98
cmp byte [r14 + 0xe24], r8b
je 0x180061f98
mov r12b, 1
jmp 0x180061f98
mov bl, byte [rbp + 0x1d8]
mov r15, qword [rbp - 0x78]
bt eax, 0xd
jae 0x180061fae
mov byte [rsi + 0x60], 1
jmp 0x180061fae
mov bl, byte [rbp + 0x1d8]
mov r13b, byte [r14 + 0x79]
mov eax, dword [r14 + 0x3f28]
mov ecx, dword [rsp + 0x68]
mov dil, byte [rbp + 0x200]
mov byte [rsp + 0x6d], r13b
cmp eax, ecx
je 0x180061ff9
test dil, dil
je 0x1800620ee
mov rdx, r15
call fcn.18003eb2c
mov ecx, dword [rsp + 0x68]
mov rdx, r15
call fcn.18004aad8
mov rcx, r15
call fcn.1800463f8
mov eax, dword [r14 + 0x3f28]
mov r15d, dword [rsp + 0x68]
xor r8d, r8d
cmp eax, r15d
jne 0x1800620f1
test bl, bl
je 0x18006202b
mov rax, qword [0x1801b5b38]
mov dword [rax + 0x4580], r15d
mov dword [rax + 0x457c], r15d
mov word [rax + 0x4584], r8w
mov eax, dword [r14 + 0x4738]
mov ecx, dword [rsp + 0x58]
or eax, 3
mov edx, dword [rsp + 0x64]
mov dword [r14 + 0x4738], eax
test cl, cl
jne 0x18006204c
test dl, dl
jns 0x180062056
or eax, 0xc
mov dword [r14 + 0x4738], eax
mov rax, qword [0x1801b5b38]
mov dword [rax + 0x3fc8], r15d
mov dword [rax + 0x3fc4], r15d
mov word [rax + 0x3fcc], r8w
mov dword [rax + 0x3fd4], r15d
mov dword [rax + 0x3fd0], r15d
mov word [rax + 0x3fd8], r8w
test cl, cl
je 0x1800620b9
mov dword [rax + 0x3fb0], r15d
mov dword [rax + 0x3fac], r15d
mov word [rax + 0x3fb4], r8w
mov dword [rax + 0x3fbc], r15d
mov dword [rax + 0x3fb8], r15d
mov word [rax + 0x3fc0], r8w
test r13b, r13b
je 0x1800620d4
mov dword [rax + 0x45ec], r15d
mov dword [rax + 0x45e8], r15d
mov word [rax + 0x45f0], r8w
test edx, 0x440
je 0x1800620f1
mov edx, r15d
mov ecx, 0x200
call fcn.180047124
xor r8d, r8d
jmp 0x1800620f1
mov r15d, ecx
mov eax, dword [r14 + 0x3f28]
cmp eax, r15d
jne 0x180062145
test rsi, rsi
jne 0x18006211a
xor edx, edx
xor ecx, ecx
call fcn.18003eb2c
mov eax, dword [r14 + 0x3f28]
cmp eax, r15d
jne 0x180062145
xor r8d, r8d
mov byte [rsp + 0x52], r8b
cmp byte [r14 + 0x3748], r8b
je 0x180062159
mov byte [rsp + 0x52], r8b
cmp byte [rsp + 0x54], r8b
jne 0x180062159
mov byte [rsp + 0x52], r8b
test dil, dil
jne 0x180062159
mov byte [rsp + 0x52], 1
jmp 0x180062159
xor r8d, r8d
test rsi, rsi
je 0x18006215d
mov byte [rsp + 0x52], r8b
cmp byte [rsp + 0x53], r8b
je 0x18006215d
mov cl, 1
jmp 0x180062165
mov cl, r8b
mov byte [rsp + 0x52], r8b
mov byte [rbp + 0x200], cl
test rsi, rsi
je 0x180062183
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
jne 0x18006217d
test r12b, r12b
je 0x180062183
mov al, 1
test cl, cl
jne 0x180062186
mov al, r8b
mov edx, dword [rsp + 0x5c]
mov byte [rbp + 0x1d8], al
mov byte [rsp + 0x50], r8b
mov byte [rsp + 0x54], r8b
test dl, dl
je 0x18006226a
test rsi, rsi
je 0x18006226a
test cl, cl
jne 0x1800621b7
test al, al
je 0x180062272
mov ebx, dword [rbp + 0x1e8]
mov ecx, dword [rsi + 0x1c]
inc ebx
mov qword [rbp - 0x38], r8
cmp ebx, ecx
jle 0x1800621ee
test ecx, ecx
je 0x1800621d9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1800621de
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x18]
mov edx, ebx
cmovg edx, eax
call fcn.18004fe60
mov rdi, qword [rbp + 0x1e0]
lea rax, [rbp - 0x38]
mov dword [rsi + 0x18], ebx
mov r8, rdi
mov rcx, qword [rsi + 0x20]
xor r9d, r9d
mov edx, ebx
mov qword [rsp + 0x20], rax
call fcn.18003c9ac
mov ecx, dword [rbp - 0x38]
mov r8d, eax
sub ecx, edi
mov dword [rsi + 0xc], eax
cmp dword [rsi + 0x54], eax
mov edx, eax
mov dword [rsi + 0x10], ecx
mov ecx, eax
cmovl ecx, dword [rsi + 0x54]
cmp dword [rsi + 0x58], eax
mov dword [rsi + 0x54], ecx
cmovl edx, dword [rsi + 0x58]
cmp dword [rsi + 0x5c], eax
mov dword [rsi + 0x58], edx
cmovl r8d, dword [rsi + 0x5c]
xor eax, eax
mov ecx, eax
mov dword [rsi + 0x5c], r8d
movzx eax, byte [rbp + 0x1d8]
cmp edx, r8d
mov edx, dword [rsp + 0x5c]
cmovne ecx, eax
xor r8d, r8d
mov al, cl
mov byte [rbp + 0x1d8], cl
mov cl, byte [rbp + 0x200]
test cl, cl
jne 0x18006227b
test al, al
jne 0x18006227b
cmp dword [r14 + 0x3f28], r15d
jne 0x18006228f
test dl, dl
jne 0x18006228f
test rsi, rsi
je 0x18006228f
mov byte [rsp + 0x70], 1
cmp byte [rsi + 0x48], r8b
jne 0x180062294
mov byte [rsp + 0x70], r8b
cmp byte [rbp - 0x6c], r8b
je 0x180062341
mov rcx, qword [r14 + 0x3c20]
mov edx, 0x2a
call fcn.180056f24
mov ecx, dword [rcx + 0x14]
lea rdi, [r14 + 0x5a88]
mov rbx, qword [0x1801b5b38]
mov r9, rax
mov dword [rdi + 0x14], ecx
mov rcx, qword [r14 + 0x3c20]
mov qword [rbp - 0x38], rdi
mov edx, dword [rcx + 0x64]
mov dword [rdi + 0x64], edx
mov rcx, qword [r14 + 0x3c20]
mov edx, dword [rcx + 0x68]
mov dword [rdi + 0x68], edx
mov rcx, qword [r14 + 0x3c20]
mov edx, dword [rcx + 0x6c]
mov dword [rdi + 0x6c], edx
mov rcx, qword [r14 + 0x3c20]
mov rax, qword [rcx + 0x40]
mov rcx, rdi
mov qword [rdi + 0x40], rax
mov qword [rdi + 0x38], r9
mov eax, dword [r9 + 4]
mov dword [rdi + 0x10], eax
call fcn.180046690
lea rdx, [rbp - 0x38]
lea rcx, [rbx + 0x4830]
call fcn.18004faa8
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x3ec8]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x298]
call fcn.180051450
xor r8d, r8d
movss xmm0, dword [0x180162b9c]
mov dword [rbp - 0x10], r8d
mov dword [rbp - 0x38], 0xa
cmp dword [r14 + 0x3f28], r15d
jne 0x180062714
mov eax, dword [rsi + 0x10]
mov ebx, dword [rsp + 0x64]
mov byte [rsi + 0xe86], r8b
mov dword [rsi + 0xe88], ebx
mov dword [rbp - 0x10], eax
mov eax, dword [rbp + 0x1e8]
mov dword [rsi + 0x4c], eax
cmp byte [r14 + 0xe10], r8b
mov dword [r14 + 0x5e14], 1
sete al
mov byte [r14 + 0x3f35], al
movss xmm2, dword [r14 + 0xe08]
subss xmm2, xmm7
subss xmm2, dword [r14 + 0x3830]
addss xmm2, dword [rsi + 0x50]
cmp byte [rsp + 0x58], r8b
je 0x1800623d6
mov rax, qword [rbp - 0x68]
movss xmm3, dword [r14 + 0xe0c]
subss xmm3, dword [rax + 0x104]
jmp 0x1800623e3
movss xmm3, dword [r14 + 0x3c28]
mulss xmm3, xmm0
test r12b, r12b
je 0x180062405
mov eax, dword [rsi + 0xc]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x58], r8d
mov byte [rsi + 0x6a], r8b
mov byte [rsi + 0xe85], 1
jmp 0x1800625ca
mov cl, byte [rsp + 0x60]
test cl, cl
je 0x180062554
mov eax, 2
cmp word [r14 + 0x3752], ax
jb 0x180062554
cmp byte [r14 + 0xe25], r8b
jne 0x180062554
lea rdi, [rsi + 0x54]
mov rcx, rsi
mov rdx, rdi
call fcn.18005ff6c
test byte [r14 + 0x3752], 1
movsxd rdx, dword [rdi]
jne 0x1800624f6
xor r10d, r10d
test edx, edx
je 0x18006246b
mov rax, qword [rsi + 0x20]
lea r8d, [r10 + 0xa]
mov r9b, r10b
cmp word [rax + rdx*2 - 2], r8w
jne 0x18006246e
mov r9b, 1
mov ecx, dword [rsi + 0x58]
mov r8d, dword [rsi + 0x5c]
cmp ecx, r8d
jne 0x180062481
mov eax, edx
test r9b, r9b
jne 0x180062499
mov edx, 0x20000c
mov rcx, rsi
call fcn.180061300
mov edx, dword [rdi]
mov eax, edx
mov ecx, dword [rsi + 0x58]
mov r8d, dword [rsi + 0x5c]
cmp ecx, r8d
jne 0x1800624b2
mov edx, dword [rdi + 8]
cmp dword [rdi + 4], edx
jne 0x1800624b0
mov dword [rdi + 8], eax
mov edx, eax
mov dword [rdi + 4], eax
jmp 0x1800624b2
mov dword [rdi], edx
mov rcx, rsi
call fcn.18005fb1c
mov dword [rdi], eax
mov dword [rsi + 0x5c], eax
mov ecx, dword [rdi + 4]
mov edx, dword [rdi + 8]
mov eax, dword [rsi + 0xc]
cmp ecx, edx
je 0x1800624e4
cmp ecx, eax
jle 0x1800624d5
mov dword [rdi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1800624de
mov dword [rdi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1800624e4
mov dword [rdi], ecx
xor r8d, r8d
cmp dword [rdi], eax
jle 0x1800625c0
mov dword [rdi], eax
jmp 0x1800625c0
mov rax, qword [rsi + 0x20]
mov rcx, rsi
movzx ebx, word [rax + rdx*2]
mov edx, 0x200004
call fcn.180061300
mov edx, 0x600005
mov rcx, rsi
call fcn.180061300
mov edx, 0x600001
mov rcx, rsi
call fcn.180061300
mov eax, 0xa
xor r8d, r8d
cmp bx, ax
je 0x180062547
cmp byte [rsp + 0x58], r8b
je 0x180062547
mov ecx, dword [rsi + 0x58]
mov eax, dword [rsi + 0x5c]
mov dword [rsi + 0x58], eax
mov dword [rsi + 0x5c], ecx
mov dword [rdi], ecx
mov ebx, dword [rsp + 0x64]
mov byte [rsi + 0xe84], r8b
jmp 0x1800625c0
mov al, byte [rsi + 0xe85]
cmp byte [r14 + 0x3748], r8b
je 0x180062589
test al, al
jne 0x180062589
test cl, cl
je 0x1800625ca
lea rdx, [rsi + 0x54]
mov rcx, rsi
cmp byte [r14 + 0xe25], r8b
je 0x180062582
call fcn.18005ffcc
jmp 0x1800625bd
call fcn.18005ff6c
jmp 0x1800625bd
cmp byte [r14 + 0xe10], r8b
je 0x1800625ca
test al, al
jne 0x1800625ca
ucomiss xmm10, dword [r14 + 0xf8]
jne 0x1800625aa
ucomiss xmm10, dword [r14 + 0xfc]
je 0x1800625ca
lea rdx, [rsi + 0x54]
mov rcx, rsi
call fcn.18005ffcc
mov byte [rsi + 0xe84], 1
xor r8d, r8d
mov dword [rsi + 0xe80], 0xbe99999a
cmp byte [rsi + 0xe85], r8b
je 0x1800625e3
cmp byte [r14 + 0xe10], r8b
jne 0x1800625e3
mov byte [rsi + 0xe85], r8b
bt ebx, 0xa
jae 0x18006263a
xor r8d, r8d
mov edx, r15d
mov ecx, 0x200
call fcn.180048b70
mov ecx, dword [rsp + 0x5c]
xor r8d, r8d
lea r12d, [r8 + 2]
test al, al
je 0x180062644
test cl, cl
jne 0x180062644
mov edx, ebx
mov dword [rbp - 0x78], 9
lea rcx, [rbp - 0x78]
mov dword [rsp + 0x20], r12d
call fcn.18006132c
xor r8d, r8d
test al, al
je 0x180062640
mov edx, dword [rbp - 0x78]
mov rcx, rsi
call fcn.180061300
xor r8d, r8d
jmp 0x180062640
mov r12d, 2
mov ecx, dword [rsp + 0x5c]
cmp byte [r14 + 0xe24], r8b
je 0x180062656
cmp byte [r14 + 0xe26], r8b
je 0x180062664
test r13b, r13b
je 0x180062668
cmp byte [r14 + 0xe27], r8b
je 0x180062668
mov al, 1
jmp 0x18006266b
mov al, r8b
lea rbx, [r14 + 0x37c0]
cmp dword [rbx], r8d
jle 0x180062714
test al, al
jne 0x1800626ee
test cl, cl
jne 0x1800626ee
cmp byte [rbp + 0x208], r8b
jne 0x1800626ee
mov r13d, dword [rsp + 0x64]
mov r15d, r8d
mov rdi, r8
mov rax, qword [r14 + 0x37c8]
movzx ecx, word [rdi + rax]
mov dword [rbp + 0x208], ecx
cmp ecx, 9
je 0x1800626d6
mov edx, r13d
mov dword [rsp + 0x20], r12d
lea rcx, [rbp + 0x208]
call fcn.18006132c
xor r8d, r8d
test al, al
je 0x1800626d9
mov edx, dword [rbp + 0x208]
mov rcx, rsi
call fcn.180061300
xor r8d, r8d
inc r15d
add rdi, r12
cmp r15d, dword [rbx]
jl 0x180062697
mov r13b, byte [rsp + 0x6d]
mov r15d, dword [rsp + 0x68]
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x180062711
mov eax, ecx
cdq
sub eax, edx
mov edx, r8d
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.18004fe60
xor r8d, r8d
mov dword [rbx], r8d
mov ecx, dword [r14 + 0x3f28]
mov r12b, r8b
mov byte [rbp + 0x208], r8b
mov eax, ecx
cmp ecx, r15d
jne 0x1800631b9
cmp byte [r14 + 0x3f34], r8b
jne 0x1800631b9
cmp byte [rsp + 0x52], r8b
jne 0x1800631b9
movaps xmm0, xmm11
mov ebx, 1
subss xmm0, dword [r14 + 0x3834]
mov ecx, ebx
divss xmm0, dword [r14 + 0x3c28]
cvttss2si eax, xmm0
cmp eax, ebx
cmovge ecx, eax
mov dword [rsi + 0x64], ecx
mov al, byte [r14 + 0xe25]
neg al
mov dword [rbp - 0x78], ecx
sbb r15d, r15d
and r15d, 0x400000
test r13b, r13b
je 0x1800627c0
mov al, byte [r14 + 0xe26]
mov byte [rsp + 0x51], al
cmp byte [r14 + 0xe27], r8b
je 0x1800627cb
mov byte [rsp + 0x51], al
cmp byte [r14 + 0xe24], r8b
jne 0x1800627cb
mov byte [rsp + 0x51], al
cmp al, r8b
jne 0x1800627cb
mov byte [rsp + 0x53], bl
mov byte [rsp + 0x51], al
jmp 0x1800627d0
mov al, byte [r14 + 0xe24]
mov byte [rsp + 0x51], al
mov byte [rsp + 0x53], r8b
mov edi, dword [rsp + 0x68]
mov r8d, ebx
mov edx, edi
mov ecx, 0xa39
call fcn.180048b70
xor ecx, ecx
test al, al
jne 0x1800627fe
mov r8d, ebx
mov edx, edi
mov ecx, 0x220a
call fcn.180048b70
xor ecx, ecx
test al, al
je 0x180062824
mov r12d, dword [rsp + 0x5c]
mov ebx, dword [rsp + 0x58]
test r12b, r12b
jne 0x18006282d
cmp byte [rbp - 0x6c], cl
jne 0x18006282d
test bl, bl
je 0x18006281d
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
je 0x18006282d
mov byte [rsp + 0x6c], 1
jmp 0x180062831
mov ebx, dword [rsp + 0x58]
mov r12d, dword [rsp + 0x5c]
mov byte [rsp + 0x6c], cl
xor r8d, r8d
mov edx, edi
mov ecx, 0xa24
call fcn.180048b70
test al, al
jne 0x180062857
xor r8d, r8d
mov edx, edi
mov ecx, 0x1209
call fcn.180048b70
test al, al
je 0x180062873
xor eax, eax
cmp byte [rbp - 0x6c], al
jne 0x180062873
test bl, bl
je 0x18006286a
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
je 0x180062873
mov byte [rsp + 0x6f], 1
xor ebx, ebx
jmp 0x180062879
xor ebx, ebx
mov byte [rsp + 0x6f], bl
mov r8d, 1
mov edx, edi
mov ecx, 0xa37
call fcn.180048b70
test al, al
jne 0x1800628a5
mov r8d, 1
mov edx, edi
mov ecx, 0x2209
call fcn.180048b70
test al, al
je 0x1800628af
mov byte [rsp + 0x60], 1
test r12b, r12b
je 0x1800628b3
mov byte [rsp + 0x60], bl
mov r8d, 1
mov edx, edi
mov ecx, 0xa3b
call fcn.180048b70
mov ebx, dword [rbp - 0x48]
test al, al
je 0x1800628da
test r12b, r12b
jne 0x1800628da
mov byte [rsp + 0x6e], 1
test bl, bl
jne 0x1800628df
mov byte [rsp + 0x6e], 0
mov r8d, 1
mov edx, edi
mov ecx, 0xa3a
call fcn.180048b70
xor ecx, ecx
test al, al
jne 0x180062912
test r13b, r13b
je 0x18006291e
lea r8d, [rcx + 1]
mov edx, edi
mov ecx, 0x2a3b
call fcn.180048b70
xor ecx, ecx
test al, al
je 0x18006291e
test r12b, r12b
jne 0x18006291e
mov r13b, 1
test bl, bl
jne 0x180062921
mov r13b, cl
xor r8d, r8d
mov edx, edi
mov ecx, 0xa22
call fcn.180048b70
mov byte [rbp - 0x70], al
mov eax, 2
test byte [r14 + 8], al
je 0x18006294b
test byte [r14 + 0xc], 1
je 0x18006294b
mov bl, 1
xor edi, edi
jmp 0x180062950
xor edi, edi
mov bl, dil
xor edx, edx
mov ecx, 0x20d
lea r8d, [rdx + 1]
call fcn.180047264
test al, al
jne 0x18006297b
xor edx, edx
mov ecx, 0x267
lea r8d, [rdx + 1]
call fcn.180047264
mov r12b, dil
test al, al
je 0x18006297e
mov r12b, 1
test bl, bl
je 0x1800629ab
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.180047264
test al, al
jne 0x1800629a8
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.180047264
test al, al
je 0x1800629ab
mov dil, 1
mov edx, dword [rsp + 0x68]
mov r8d, 1
mov ecx, 0x20e
call fcn.180048b70
xor ecx, ecx
test al, al
jne 0x1800629e5
test bl, bl
je 0x1800629e1
mov edx, dword [rsp + 0x68]
lea r8d, [rcx + 1]
mov ecx, 0x26c
call fcn.180048b70
xor ecx, ecx
test al, al
jne 0x1800629e5
mov bl, cl
jmp 0x1800629e7
mov bl, 1
xor edx, edx
mov ecx, 0x201
lea r8d, [rdx + 1]
call fcn.180047264
xor ecx, ecx
test al, al
je 0x180062a2b
neg byte [rsp + 0x51]
mov eax, 0x200004
sbb edx, edx
and edx, 0xc
add edx, 0x200000
cmp byte [rsp + 0x53], cl
cmovne edx, eax
or edx, r15d
mov rcx, rsi
call fcn.180061300
xor r8d, r8d
jmp 0x180063186
xor edx, edx
mov ecx, 0x202
lea r8d, [rdx + 1]
call fcn.180047264
xor ecx, ecx
test al, al
je 0x180062a57
neg byte [rsp + 0x51]
mov eax, 0x200005
sbb edx, edx
and edx, 0xc
add edx, 0x200001
jmp 0x180062a11
xor edx, edx
mov ecx, 0x203
lea r8d, [rdx + 1]
call fcn.180047264
xor ecx, ecx
test al, al
je 0x180062ac4
cmp byte [rsp + 0x58], cl
je 0x180062ac4
cmp byte [r14 + 0xe24], cl
je 0x180062ab3
mov r8, qword [rbp - 0x68]
movss xmm0, dword [r8 + 0x88]
subss xmm0, dword [r14 + 0x3c28]
mov dword [r8 + 0xa0], ecx
mov dword [r8 + 0xa8], ecx
maxss xmm0, xmm10
movss dword [r8 + 0x98], xmm0
jmp 0x180062a23
movzx eax, byte [rsp + 0x53]
lea edx, [rax*4 + 0x200002]
jmp 0x180062a18
xor edx, edx
mov ecx, 0x204
lea r8d, [rdx + 1]
call fcn.180047264
xor r8d, r8d
test al, al
je 0x180062b42
cmp byte [rsp + 0x58], r8b
je 0x180062b42
cmp byte [r14 + 0xe24], r8b
je 0x180062b31
mov rdx, qword [rbp - 0x68]
mov rax, qword [0x1801b5b38]
movss xmm0, dword [rdx + 0x88]
addss xmm0, dword [r14 + 0x3c28]
mov rcx, qword [rax + 0x3ec8]
minss xmm0, dword [rcx + 0x90]
mov dword [rdx + 0xa0], r8d
mov dword [rdx + 0xa8], r8d
movss dword [rdx + 0x98], xmm0
jmp 0x180063186
movzx eax, byte [rsp + 0x53]
lea edx, [rax*4 + 0x200003]
jmp 0x180062a18
xor edx, edx
mov ecx, 0x205
lea r8d, [rdx + 1]
call fcn.180047264
xor ecx, ecx
test al, al
je 0x180062b8a
cmp byte [rsp + 0x58], cl
je 0x180062b8a
or r15d, 0x20000e
mov rcx, rsi
mov edx, r15d
call fcn.180061300
movd xmm0, dword [rbp - 0x78]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r14 + 0x3c28]
subss xmm6, xmm0
jmp 0x180062a23
xor edx, edx
mov ecx, 0x206
lea r8d, [rdx + 1]
call fcn.180047264
xor ecx, ecx
test al, al
je 0x180062bd2
cmp byte [rsp + 0x58], cl
je 0x180062bd2
or r15d, 0x20000f
mov rcx, rsi
mov edx, r15d
call fcn.180061300
movd xmm0, dword [rbp - 0x78]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [r14 + 0x3c28]
addss xmm6, xmm0
jmp 0x180062a23
xor edx, edx
mov ecx, 0x207
lea r8d, [rdx + 1]
call fcn.180047264
test al, al
je 0x180062c00
mov al, byte [r14 + 0xe24]
neg al
mov eax, 0x200004
sbb edx, edx
and edx, 2
add edx, eax
jmp 0x180062a18
xor edx, edx
mov ecx, 0x208
lea r8d, [rdx + 1]
call fcn.180047264
test al, al
je 0x180062c24
mov al, byte [r14 + 0xe24]
neg al
mov eax, 0x200005
jmp 0x180062bf4
xor edx, edx
mov ecx, 0x20a
lea r8d, [rdx + 1]
call fcn.180047264
xor ecx, ecx
test al, al
je 0x180062c70
cmp byte [rsp + 0x5c], cl
jne 0x180062c70
cmp byte [rsp + 0x6c], cl
jne 0x180062c70
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
jne 0x180062c61
cmp byte [rsp + 0x51], cl
je 0x180062c61
mov edx, 0x60000d
mov rcx, rsi
call fcn.180061300
or r15d, 0x200008
mov edx, r15d
jmp 0x180062a1b
xor edx, edx
mov ecx, 0x20b
lea r8d, [rdx + 1]
call fcn.180047264
mov r8d, dword [rsp + 0x5c]
xor r9d, r9d
test al, al
je 0x180062cdf
test r8b, r8b
jne 0x180062cdf
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
jne 0x180062cd6
cmp byte [rsp + 0x51], r9b
je 0x180062ca7
mov edx, 0x60000c
jmp 0x180062cce
cmp byte [rsp + 0x6d], r9b
je 0x180062cd6
cmp byte [r14 + 0xe27], r9b
je 0x180062cd6
cmp byte [r14 + 0xe26], r9b
jne 0x180062cd6
cmp byte [r14 + 0xe24], r9b
jne 0x180062cd6
mov edx, 0x600004
mov rcx, rsi
call fcn.180061300
or r15d, 0x200009
jmp 0x180062c68
test r12b, r12b
jne 0x1800630fb
test dil, dil
jne 0x1800630fb
xor r8d, r8d
test bl, bl
je 0x180062d4c
test dword [rsp + 0x64], 0x100000
je 0x180062d2c
mov eax, dword [rsi + 0x10]
test eax, eax
jg 0x180062d1c
mov byte [rbp + 0x1d8], r8b
mov byte [rbp + 0x200], r8b
mov byte [rsp + 0x52], 1
setg r12b
mov byte [rbp + 0x208], r12b
jmp 0x18006318d
mov r12b, 1
mov dl, r8b
mov byte [rbp + 0x208], r12b
mov cl, r8b
mov byte [rsp + 0x52], r12b
mov byte [rbp + 0x200], dl
jmp 0x180063199
movzx eax, byte [rsp + 0x6e]
test al, al
jne 0x1800630da
test r13b, r13b
jne 0x1800630da
cmp byte [rbp - 0x70], r8b
je 0x180062d85
mov eax, dword [rsi + 0xc]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x58], r8d
mov byte [rsi + 0x6a], r8b
mov byte [rsi + 0xe84], 1
jmp 0x180063186
mov r13b, byte [rsp + 0x6c]
test r13b, r13b
jne 0x180062f91
cmp byte [rsp + 0x6f], r8b
jne 0x180062f91
cmp byte [rsp + 0x60], r8b
je 0x180063186
mov rax, qword [0x1801b5b38]
mov rdx, qword [rax + 0xb0]
test rdx, rdx
je 0x180062ddd
mov rcx, qword [rax + 0xc0]
call rdx
xor r8d, r8d
mov rbx, rax
test rax, rax
je 0x180063186
mov rax, qword [0x1801b5b38]
jmp 0x180062de4
lea rbx, [0x1800f9bb0]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rbx + rcx], r8b
jne 0x180062de8
test rax, rax
je 0x180062dfc
inc dword [rax + 0xf4]
lea eax, [rcx + 1]
movsxd rcx, eax
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor r13d, r13d
mov qword [rbp - 0x48], rax
mov r12, rax
mov r15d, r13d
cmp byte [rbx], r13b
je 0x180062e70
mov r14d, dword [rsp + 0x64]
lea r12d, [r13 + 2]
mov rdi, rax
xor r8d, r8d
lea rcx, [rbp - 0x78]
mov rdx, rbx
call fcn.18003c80c
movsxd rcx, eax
mov edx, r14d
add rbx, rcx
mov dword [rsp + 0x20], 4
lea rcx, [rbp - 0x78]
call fcn.18006132c
test al, al
je 0x180062e63
movzx eax, word [rbp - 0x78]
inc r15d
mov word [rdi], ax
add rdi, r12
cmp byte [rbx], r13b
jne 0x180062e29
mov r14, qword [rbp + 8]
mov r12, qword [rbp - 0x48]
movsxd rax, r15d
mov word [r12 + rax*2], r13w
test r15d, r15d
jle 0x180062f6c
mov ecx, dword [rsi + 0xc]
lea rbx, [rsi + 0x54]
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x180062eb9
mov edx, eax
cmp eax, ecx
jle 0x180062e9f
mov dword [rbx + 4], ecx
mov edx, ecx
mov r9d, r8d
cmp r8d, ecx
jle 0x180062ead
mov dword [rbx + 8], ecx
mov r9d, ecx
mov eax, edx
mov r8d, r9d
cmp edx, r9d
jne 0x180062eb9
mov dword [rbx], edx
mov edx, dword [rbx]
cmp edx, ecx
jle 0x180062ec3
mov dword [rbx], ecx
mov edx, ecx
mov ecx, dword [rsi + 0xc]
cmp eax, r8d
je 0x180062ef7
mov r9d, eax
cmp eax, ecx
jle 0x180062ed8
mov dword [rbx + 4], ecx
mov r9d, ecx
mov r10d, r8d
cmp r8d, ecx
jle 0x180062ee6
mov dword [rbx + 8], ecx
mov r10d, ecx
mov eax, r9d
mov r8d, r10d
cmp r9d, r10d
jne 0x180062ef7
mov dword [rbx], r9d
mov edx, r9d
cmp edx, ecx
jle 0x180062eff
mov dword [rbx], ecx
mov edx, ecx
cmp eax, r8d
je 0x180062f3b
mov rdx, rbx
mov rcx, rsi
jge 0x180062f22
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.1800601a0
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x180062f33
sub eax, r8d
mov r9d, eax
call fcn.1800601a0
mov eax, dword [rbx + 8]
mov dword [rbx + 4], eax
mov dword [rbx], eax
mov edx, eax
mov byte [rbx + 0x16], r13b
mov r9d, r15d
mov r8, r12
mov rcx, rsi
call fcn.18005fcdc
test al, al
je 0x180062f65
mov edx, dword [rbx]
lea rcx, [rbx + 0x20]
mov r9d, r15d
xor r8d, r8d
call fcn.180060cb8
add dword [rbx], r15d
mov byte [rbx + 0x16], r13b
mov byte [rsi + 0xe84], 1
test r12, r12
je 0x180062f83
mov rax, qword [0x1801b5b38]
test rax, rax
je 0x180062f83
dec dword [rax + 0xf4]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180062a23
cmp qword [r14 + 0xb8], r8
je 0x180063031
mov eax, dword [rsi + 0x58]
mov ecx, dword [rsi + 0x5c]
cmp eax, ecx
je 0x180062fb2
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x180062fb8
mov edx, dword [rsi + 0xc]
mov ecx, r8d
mov rax, qword [rsi + 0x20]
movsxd r12, ecx
movsxd r15, edx
lea rcx, [rax + r12*2]
lea rdx, [rax + r15*2]
call fcn.18003cc0c
lea edi, [rax + 1]
mov rax, qword [0x1801b5b38]
test rax, rax
je 0x180062fe4
inc dword [rax + 0xf4]
movsxd rcx, edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, qword [rsi + 0x20]
mov edx, edi
mov rbx, rax
lea r9, [rcx + r15*2]
lea r8, [rcx + r12*2]
mov rcx, rax
call fcn.18003cb6c
mov rcx, rbx
call fcn.18003f064
test rbx, rbx
je 0x180063025
mov rcx, qword [0x1801b5b38]
test rcx, rcx
je 0x180063025
dec dword [rcx + 0xf4]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r8d, r8d
test r13b, r13b
je 0x180063186
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
jne 0x180063053
mov eax, dword [rsi + 0xc]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x58], r8d
mov byte [rsi + 0x6a], r8b
lea rbx, [rsi + 0x54]
mov byte [rsi + 0xe84], 1
mov eax, dword [rbx + 4]
mov r8d, dword [rbx + 8]
cmp eax, r8d
je 0x180062a23
mov ecx, dword [rsi + 0xc]
cmp eax, ecx
jle 0x18006307a
mov dword [rbx + 4], ecx
mov eax, ecx
cmp r8d, ecx
jle 0x180063085
mov dword [rbx + 8], ecx
mov r8d, ecx
cmp eax, r8d
jne 0x180063090
mov dword [rbx], eax
mov edx, eax
jmp 0x180063092
mov edx, dword [rbx]
cmp edx, ecx
jle 0x180063098
mov dword [rbx], ecx
cmp eax, r8d
je 0x1800630ce
mov rdx, rbx
mov rcx, rsi
jge 0x1800630bb
sub r8d, eax
mov r9d, r8d
mov r8d, eax
call fcn.1800601a0
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x1800630cc
sub eax, r8d
mov r9d, eax
call fcn.1800601a0
mov eax, dword [rbx + 8]
mov dword [rbx + 4], eax
mov dword [rbx], eax
xor r8d, r8d
mov byte [rbx + 0x16], r8b
jmp 0x180063186
mov edx, eax
mov rcx, rsi
xor edx, 1
add edx, 0x20000a
call fcn.180061300
mov eax, dword [rsi + 0x54]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x58], eax
jmp 0x180062a23
mov edx, dword [rsp + 0x64]
mov eax, edx
mov ecx, dword [rsp + 0x58]
shr eax, 0xb
and al, 1
test cl, cl
je 0x180063126
test dil, dil
jne 0x180063126
mov cl, byte [r14 + 0xe24]
test al, al
je 0x18006314b
test cl, cl
jne 0x18006314f
mov ecx, dword [rsp + 0x58]
xor r8d, r8d
mov byte [rsp + 0x54], 1
cmp byte [r14 + 0x7c], r8b
je 0x180063181
test cl, cl
jne 0x180063181
mov eax, dword [rsi + 0xc]
mov dword [rsi + 0x5c], eax
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x58], r8d
mov byte [rsi + 0x6a], r8b
jmp 0x180063186
test cl, cl
jne 0x180063122
test r8b, r8b
jne 0x180062a23
mov eax, 0xa
lea rcx, [rbp - 0x78]
mov dword [rbp - 0x78], eax
mov eax, 2
mov dword [rsp + 0x20], eax
call fcn.18006132c
xor r8d, r8d
test al, al
je 0x180063186
mov edx, dword [rbp - 0x78]
jmp 0x180062a1b
mov byte [rsp + 0x52], 1
mov r12b, byte [rbp + 0x208]
mov cl, byte [rbp + 0x1d8]
mov dl, byte [rbp + 0x200]
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
je 0x1800631a7
mov al, 1
test dl, dl
jne 0x1800631aa
mov al, r8b
or cl, al
mov eax, dword [r14 + 0x3f28]
mov byte [rbp + 0x1d8], cl
mov r13, r8
mov qword [rbp - 0x48], r8
mov r15d, r8d
cmp eax, dword [rsp + 0x68]
jne 0x18006339e
test r12b, r12b
je 0x180063317
cmp byte [rsp + 0x5c], r8b
jne 0x180063388
test dword [rsp + 0x64], 0x100000
je 0x180063228
mov r9d, dword [rsi + 0xc]
lea rdx, [rsi + 0x54]
mov dword [rsp + 0x20], r8d
lea r13, [0x1800f9bb0]
xor r8d, r8d
mov rcx, rsi
call fcn.180061210
mov r8d, dword [rsi + 0xc]
xor edx, edx
mov rcx, rsi
call fcn.18005fc50
xor r8d, r8d
mov qword [rsi + 0x58], r8
mov dword [rsi + 0x54], r8d
jmp 0x180063322
mov rax, qword [rbp + 0x1e0]
mov r8, qword [rsi + 0x40]
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180063249
inc rax
test ecx, ecx
jne 0x180063236
xor r8d, r8d
test edx, edx
je 0x180063322
mov r15d, dword [rsi + 0x38]
mov ebx, r8d
mov r13, qword [rsi + 0x40]
dec r15d
mov byte [rsp + 0x50], 1
mov edi, r8d
test r15d, r15d
jle 0x1800632d9
movsxd r12, r15d
mov rcx, r13
add r12, r13
mov rdx, r12
call fcn.18003ca4c
xor edx, edx
lea ebx, [rax + 1]
test ebx, ebx
jle 0x1800632ba
lea ecx, [rdi + 8]
mov eax, ebx
cmp ebx, ecx
cmovl eax, ecx
test eax, eax
jle 0x1800632ba
mov rcx, qword [0x1801b5b38]
test rcx, rcx
je 0x1800632a9
inc dword [rcx + 0xf4]
movsxd rcx, eax
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
xor edx, edx
mov qword [rsp + 0x20], rdx
mov r9, r12
mov edx, ebx
mov r8, r13
mov rcx, rdi
call fcn.18003c9ac
mov r12b, byte [rbp + 0x208]
xor r8d, r8d
mov r9d, r8d
lea ecx, [rbx - 1]
test r15d, r15d
lea rdx, [rsi + 0x54]
mov r8, rdi
cmovg r9d, ecx
mov rcx, rsi
call fcn.18006127c
test rdi, rdi
je 0x180063322
mov rax, qword [0x1801b5b38]
test rax, rax
je 0x18006330c
dec dword [rax + 0xf4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180063322
cmp byte [rsp + 0x5c], r8b
jne 0x1800634ce
mov al, byte [rsp + 0x50]
mov byte [rsp + 0x50], al
mov eax, dword [rsi + 0x18]
mov byte [rsi + 0x48], 1
mov ecx, dword [rsi + 0x2c]
mov qword [rbp - 0x48], r13
lea ebx, [rax*4 + 1]
cmp ebx, ecx
jle 0x180063367
test ecx, ecx
je 0x180063352
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180063357
mov eax, 8
cmp eax, ebx
lea rcx, [rsi + 0x28]
mov edx, ebx
cmovg edx, eax
call fcn.18004fddc
mov dword [rsi + 0x28], ebx
xor r9d, r9d
mov r8, qword [rsi + 0x20]
mov edx, ebx
mov rcx, qword [rsi + 0x30]
call fcn.18003cb6c
xor r8d, r8d
test r12b, r12b
je 0x1800634ce
cmp byte [rsp + 0x54], r8b
je 0x18006339e
mov r12d, dword [rsp + 0x64]
test r12b, 0x20
jne 0x1800634d3
mov ebx, dword [rsp + 0x5c]
mov r10, qword [rbp + 0x1e0]
mov r11b, byte [rsp + 0x50]
mov r12d, dword [rsp + 0x68]
cmp dword [r14 + 0x5a70], r12d
jne 0x18006343b
cmp dword [r14 + 0x3f28], r12d
je 0x180063434
mov r9, qword [0x1801b5b38]
call fcn.180041b20
xor r8d, r8d
test al, al
je 0x180063434
cmp byte [r9 + 0x3f5d], r8b
jne 0x1800633f3
cmp dword [r9 + 0x3f28], r8d
jne 0x180063434
cmp byte [r9 + 0x3f38], r8b
je 0x180063434
test bl, bl
jne 0x180063434
mov r13, qword [r14 + 0x5a80]
mov r8, r10
mov r15d, dword [r14 + 0x5a78]
mov rax, r13
dec r15d
sub r8, r13
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180063424
inc rax
test ecx, ecx
jne 0x180063411
xor r8d, r8d
test edx, edx
setne al
or r11b, al
mov byte [rsp + 0x50], r11b
mov dword [r14 + 0x5a70], r8d
test r13, r13
je 0x1800637b0
cmp byte [rbp - 0x40], r8b
je 0x180063775
mov eax, dword [rsp + 0x64]
lea rcx, [rbp + 0x60]
mov dword [rbp + 0x6c], eax
xorps xmm0, xmm0
lea eax, [r15 + 1]
mov qword [rbp + 0x78], r8
cmp dword [rbp + 0x1e8], eax
movdqa xmmword [rbp + 0x90], xmm0
cmovge eax, dword [rbp + 0x1e8]
mov dword [rbp + 0x8c], eax
mov qword [rbp + 0x60], r14
mov dword [rbp + 0x68], 0x40000
mov qword [rbp + 0x80], r10
mov dword [rbp + 0x88], r15d
mov qword [rbp + 0x70], r8
call r8
mov ecx, dword [rbp + 0x8c]
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x1e0], rax
lea r15d, [rcx - 1]
cmp dword [rbp + 0x88], r15d
cmovl r15d, dword [rbp + 0x88]
xor r8d, r8d
jmp 0x18006377b
mov r12d, dword [rsp + 0x64]
test r12d, 0x801c0
je 0x180063725
mov ebx, 0x40
mov edi, r8d
test bl, r12b
je 0x18006350c
mov edx, dword [rsp + 0x68]
xor r8d, r8d
mov ecx, 0x200
call fcn.180048b70
xor r8d, r8d
test al, al
je 0x18006350c
mov edi, 0x200
jmp 0x180063573
mov ebx, 0x80
test bl, r12b
je 0x180063552
xor edx, edx
lea r8d, [rbx - 0x7f]
mov ecx, 0x203
call fcn.180047264
xor r8d, r8d
test al, al
je 0x180063534
mov edi, 0x203
jmp 0x180063573
xor edx, edx
mov ecx, 0x204
lea r8d, [rdx + 1]
call fcn.180047264
xor r8d, r8d
test al, al
je 0x180063552
mov edi, 0x204
jmp 0x180063573
mov ebx, 0x80000
test ebx, r12d
je 0x180063565
cmp byte [rsi + 0xe86], r8b
jne 0x180063573
mov ebx, pe_nt_image_headers64
test ebx, r12d
je 0x180063725
mov rax, qword [rbp + 0x1e0]
mov dword [rbp + 0x38], r8d
mov word [rbp + 0x51], r8w
mov byte [rbp + 0x53], r8b
mov qword [rbp + 0x20], r14
mov dword [rbp + 0x28], ebx
mov dword [rbp + 0x2c], r12d
mov qword [rbp + 0x30], r8
cmp byte [rsp + 0x5c], r8b
jne 0x1800635a1
mov rax, qword [rsi + 0x30]
mov r11, qword [rsi + 0x20]
mov qword [rbp + 0x40], rax
mov rcx, r11
mov eax, dword [rsi + 0x10]
mov dword [rbp + 0x48], eax
mov eax, dword [rsi + 0x4c]
mov dword [rbp + 0x4c], eax
movsxd rax, dword [rsi + 0x54]
mov dword [rbp + 0x3c], edi
mov byte [rbp + 0x50], r8b
lea rdx, [r11 + rax*2]
call fcn.18003cc0c
movsxd rdx, dword [rsi + 0x58]
mov rcx, r11
mov ebx, eax
mov dword [rbp + 0x54], eax
lea rdx, [r11 + rdx*2]
call fcn.18003cc0c
movsxd rdx, dword [rsi + 0x5c]
mov rcx, r11
mov dword [rbp + 0x208], eax
mov dword [rbp + 0x58], eax
lea rdx, [r11 + rdx*2]
call fcn.18003cc0c
mov dword [rbp - 0x78], eax
lea rcx, [rbp + 0x20]
mov dword [rbp + 0x5c], eax
xor eax, eax
call rax
movsxd r13, dword [rbp + 0x54]
mov rdi, qword [rbp + 0x40]
mov r12b, byte [rbp + 0x50]
cmp r13d, ebx
jne 0x180063621
xor r8d, r8d
test r12b, r12b
je 0x18006363a
lea rdx, [rdi + r13]
mov rcx, rdi
call fcn.18003ca4c
mov dword [rsi + 0x54], eax
xor r8d, r8d
mov byte [rsi + 0xe84], 1
movsxd rbx, dword [rbp + 0x58]
cmp ebx, dword [rbp + 0x208]
jne 0x18006364b
test r12b, r12b
je 0x180063667
cmp ebx, r13d
jne 0x180063655
mov eax, dword [rsi + 0x54]
jmp 0x180063661
lea rdx, [rdi + rbx]
mov rcx, rdi
call fcn.18003ca4c
mov dword [rsi + 0x58], eax
xor r8d, r8d
movsxd rax, dword [rbp + 0x5c]
cmp eax, dword [rbp - 0x78]
jne 0x180063679
test r12b, r12b
je 0x180063721
cmp eax, ebx
jne 0x180063682
mov eax, dword [rsi + 0x58]
jmp 0x180063691
lea rdx, [rdi + rax]
mov rcx, rdi
call fcn.18003ca4c
xor r8d, r8d
mov dword [rsi + 0x5c], eax
test r12b, r12b
je 0x180063721
mov r8d, dword [rbp + 0x48]
mov rdx, rdi
mov rcx, rsi
call fcn.180061504
mov eax, dword [rbp - 0x10]
mov ebx, dword [rbp + 0x48]
cmp ebx, eax
jle 0x1800636f1
xor edx, edx
cmp byte [rbp - 0x40], dl
je 0x1800636f1
lea rdi, [rsi + 0x18]
sub ebx, eax
add ebx, dword [rdi]
mov ecx, dword [rdi + 4]
cmp ebx, ecx
jle 0x1800636ef
test ecx, ecx
je 0x1800636db
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1800636e0
mov eax, 8
cmp eax, ebx
mov edx, ebx
mov rcx, rdi
cmovg edx, eax
call fcn.18004fe60
mov dword [rdi], ebx
mov r8, qword [rbp + 0x40]
xor eax, eax
mov edx, dword [rsi + 0x18]
xor r9d, r9d
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0x20], rax
call fcn.18003c9ac
mov dword [rsi + 0xc], eax
xor r8d, r8d
mov eax, dword [rbp + 0x48]
mov dword [rsi + 0x10], eax
mov dword [rsi + 0xe80], 0xbe99999a
mov r13, qword [rbp - 0x48]
mov ebx, dword [rsp + 0x5c]
mov r10, qword [rbp + 0x1e0]
test bl, bl
jne 0x1800633a9
mov rax, qword [rsi + 0x30]
mov r8, r10
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180063755
inc rax
test ecx, ecx
jne 0x180063742
xor r8d, r8d
test edx, edx
je 0x1800633a9
mov r13, qword [rsi + 0x30]
mov r11b, 1
mov r15d, dword [rsi + 0x10]
mov byte [rsp + 0x50], r11b
jmp 0x1800633ae
mov ecx, dword [rbp + 0x1e8]
lea eax, [r15 + 1]
cmp eax, ecx
cmovl ecx, eax
movsxd rbx, ecx
cmp rbx, 1
jb 0x1800637b0
mov r15, qword [rbp + 0x1e0]
jbe 0x1800637a9
lea r8, [rbx - 1]
mov rdx, r13
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
xor r8d, r8d
mov byte [rbx + r15 - 1], r8b
jmp 0x1800637b7
mov r15, qword [rbp + 0x1e0]
cmp byte [rsp + 0x52], r8b
je 0x1800637d3
cmp dword [r14 + 0x3f28], r12d
jne 0x1800637d3
xor edx, edx
xor ecx, ecx
call fcn.18003eb2c
xor r8d, r8d
mov r11d, dword [rsp + 0x58]
test r11b, r11b
jne 0x18006384f
mov r8d, 1
lea rcx, [rsp + 0x78]
mov edx, r12d
call fcn.18003dbfc
mov rax, qword [0x1801b5b38]
lea rcx, [rbp + 8]
movdqu xmm0, xmmword [rax + 0x3940]
movups xmmword [rbp + 8], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
movss dword [rbp + 0x14], xmm0
call fcn.18003cd00
movss xmm0, dword [r14 + 0x3838]
mov r8d, eax
mov rdx, qword [rbp - 0x80]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm9
movq rcx, xmm0
call fcn.18003d930
mov r11d, dword [rsp + 0x58]
xor r8d, r8d
mov rbx, qword [rbp - 0x68]
movaps xmm0, xmm8
movss dword [rbp - 0x28], xmm7
movaps xmm12, xmm9
movss dword [rbp - 0x24], xmm9
addss xmm0, xmm7
addss xmm12, xmm11
lea rax, [rbp + 0x208]
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm12
test r11b, r11b
je 0x180063898
movsd xmm0, qword [rbx + 0x100]
movsd qword [rbp + 0x208], xmm0
jmp 0x1800638be
addss xmm7, dword [r14 + 0x3830]
movaps xmm0, xmm9
addss xmm0, dword [r14 + 0x3834]
movss dword [rbp + 0x208], xmm7
movss dword [rbp + 0x20c], xmm0
movaps xmm15, xmm10
movsd xmm0, qword [rax]
movsd qword [rbp - 0x58], xmm0
movss dword [rbp + 0x208], xmm10
cmp byte [rsp + 0x70], r8b
je 0x1800638e6
mov r15, qword [rsi + 0x30]
mov qword [rbp + 0x1e0], r15
mov r10b, byte [rbp + 0x200]
mov dl, byte [rbp + 0x1d8]
test r10b, r10b
jne 0x180063a13
test dl, dl
jne 0x180063a13
test r11b, r11b
je 0x18006395c
mov dl, byte [r15]
lea rdi, [r15 + 1]
mov ecx, r8d
test dl, dl
je 0x180063931
mov r9d, 0xa
cmp dl, r9b
lea eax, [rcx + 1]
mov dl, byte [rdi]
cmovne eax, ecx
inc rdi
mov ecx, eax
test dl, dl
jne 0x18006391d
dec rdi
mov eax, 0xa
cmp byte [rdi], al
je 0x180063944
cmp byte [rdi], 0xd
je 0x180063944
inc ecx
movd xmm15, ecx
movaps xmm6, xmm8
cvtdq2ps xmm15, xmm15
mulss xmm15, dword [r14 + 0x3c28]
jmp 0x180063995
cmp dword [r14 + 0x3f28], r12d
jne 0x18006396b
movsxd rdi, dword [rsi + 0x10]
jmp 0x180063978
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [r15 + rdi], r8b
jne 0x18006396f
movss xmm6, dword [rbp + 0x208]
add rdi, r15
mov rax, rdi
sub rax, r15
cmp rax, 0x200000
jge 0x180064285
mov rax, qword [0x1801b5b38]
lea r8, [rbp - 0x28]
lea rcx, [rsp + 0x78]
movdqu xmm0, xmmword [rax + 0x38d0]
movups xmmword [rsp + 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
xor eax, eax
test r11b, r11b
cmovne r8, rax
movss dword [rbp - 0x7c], xmm0
call fcn.18003cd00
movss xmm2, dword [r14 + 0x3c28]
lea r9, [rbp - 0x58]
mov rdx, qword [r14 + 0x3c20]
mov rcx, qword [rbx + 0x298]
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm10
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], eax
call fcn.18005506c
xor r8d, r8d
jmp 0x180064285
movsxd r13, dword [rsi + 0x10]
xor eax, eax
mov r12, qword [rsi + 0x20]
mov r9, r8
movaps xmm7, xmm10
movaps xmm14, xmm10
mov ecx, eax
lea rdi, [r15 + r13]
mov r15, r8
mov qword [rbp - 0x10], rdi
mov r8d, 0xfffffc18
mov ebx, r8d
test r10b, r10b
je 0x180063a53
movsxd rax, dword [rsi + 0x54]
or r8d, 0xffffffff
lea r9, [r12 + rax*2]
lea ecx, [r8 + 2]
test dl, dl
je 0x180063a6c
mov eax, dword [rsi + 0x5c]
cmp dword [rsi + 0x58], eax
cmovl eax, dword [rsi + 0x58]
or ebx, 0xffffffff
cdqe
inc ecx
lea r15, [r12 + rax*2]
movzx edx, word [r12]
movzx eax, r11b
xor r11d, r11d
add ecx, eax
mov r10d, r11d
mov rax, r12
test dx, dx
je 0x180063ac8
lea edi, [r11 + 2]
cmp dx, word [rbp - 0x38]
jne 0x180063ab9
inc r10d
cmp r8d, 0xffffffff
jne 0x180063aa6
cmp rax, r9
jb 0x180063aa6
dec ecx
mov r8d, r10d
test ecx, ecx
jle 0x180063ac4
cmp ebx, 0xffffffff
jne 0x180063ab9
cmp rax, r15
jb 0x180063ab9
dec ecx
mov ebx, r10d
test ecx, ecx
jle 0x180063ac4
add rax, rdi
movzx edx, word [rax]
test dx, dx
jne 0x180063a89
mov rdi, qword [rbp - 0x10]
inc r10d
mov rdx, r9
cmp r8d, 0xffffffff
mov r11d, r10d
cmovne r11d, r8d
cmp ebx, 0xffffffff
cmove ebx, r10d
cmp r9, r12
jbe 0x180063afb
mov ecx, 0xa
lea rax, [rdx - 2]
cmp word [rax], cx
je 0x180063afb
mov rdx, rax
cmp rax, r12
ja 0x180063aea
mov r8, qword [r14 + 0x3c20]
movaps xmm2, xmm10
movss xmm4, dword [r14 + 0x3c28]
movaps xmm11, xmm10
movaps xmm3, xmm4
divss xmm3, dword [r8 + 0x14]
cmp rdx, r9
jae 0x180063b72
mov eax, 0xa
movzx ecx, word [rdx]
add rdx, 2
cmp cx, ax
jne 0x180063b41
maxss xmm11, xmm2
movaps xmm2, xmm11
movaps xmm11, xmm10
jmp 0x180063b6d
cmp ecx, 0xd
je 0x180063b6d
cmp ecx, dword [r8]
jge 0x180063b56
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x180063b5c
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
mov eax, 0xa
mulss xmm0, xmm1
addss xmm11, xmm0
cmp rdx, r9
jb 0x180063b26
movd xmm13, r11d
maxss xmm11, xmm2
cvtdq2ps xmm13, xmm13
movss dword [rbp - 0x38], xmm11
mulss xmm13, xmm4
movss dword [rbp - 0x40], xmm13
test ebx, ebx
js 0x180063c26
mov rdx, r15
mov r9d, 0xa
cmp r15, r12
jbe 0x180063bb9
lea rax, [rdx - 2]
cmp word [rax], r9w
je 0x180063bb9
mov rdx, rax
cmp rax, r12
ja 0x180063ba7
movaps xmm2, xmm10
movaps xmm7, xmm10
cmp rdx, r15
jae 0x180063c14
mov eax, 2
movzx ecx, word [rdx]
add rdx, rax
cmp cx, r9w
jne 0x180063be4
maxss xmm7, xmm2
movaps xmm2, xmm7
movaps xmm7, xmm10
jmp 0x180063c0f
cmp ecx, 0xd
je 0x180063c0f
cmp ecx, dword [r8]
jge 0x180063bf9
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x180063bff
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
mov eax, 2
mulss xmm0, xmm1
addss xmm7, xmm0
cmp rdx, r15
jb 0x180063bcb
movd xmm14, ebx
maxss xmm7, xmm2
cvtdq2ps xmm14, xmm14
mulss xmm14, xmm4
mov r11d, dword [rsp + 0x58]
xor r8d, r8d
test r11b, r11b
je 0x180063c4a
movd xmm15, r10d
cvtdq2ps xmm15, xmm15
movss dword [rbp + 0x208], xmm8
mulss xmm15, xmm4
mov r15b, byte [rbp + 0x200]
test r15b, r15b
je 0x180063d74
cmp byte [rsi + 0xe84], r8b
je 0x180063d74
test dword [rsp + 0x64], 0x1000
jne 0x180063cc1
comiss xmm11, dword [rsi + 0x50]
movaps xmm1, xmm8
movaps xmm0, xmm11
mulss xmm1, dword [0x180162b58]
subss xmm8, dword [r14 + 0x3830]
jae 0x180063ca0
subss xmm0, xmm1
maxss xmm0, xmm10
cvttss2si eax, xmm0
jmp 0x180063cb3
subss xmm0, xmm8
comiss xmm0, dword [rsi + 0x50]
jb 0x180063cc5
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x50], xmm0
jmp 0x180063cc5
mov dword [rsi + 0x50], r8d
test r11b, r11b
je 0x180063d67
movss xmm2, dword [r14 + 0x3834]
movaps xmm0, xmm13
subss xmm0, dword [r14 + 0x3c28]
movss xmm4, dword [rbp - 8]
comiss xmm0, xmm6
jae 0x180063cf8
movaps xmm6, xmm0
maxss xmm6, xmm10
jmp 0x180063d1f
movaps xmm3, xmm2
movaps xmm1, xmm4
addss xmm3, xmm2
movaps xmm0, xmm13
subss xmm1, xmm3
subss xmm0, xmm1
comiss xmm0, xmm6
jb 0x180063d1f
movaps xmm6, xmm13
subss xmm6, xmm4
addss xmm6, xmm3
comiss xmm6, xmm10
jae 0x180063d2b
movaps xmm2, xmm10
jmp 0x180063d41
addss xmm2, xmm2
addss xmm2, xmm15
subss xmm2, xmm4
maxss xmm2, xmm10
minss xmm2, xmm6
movss xmm1, dword [rbp - 0x54]
mov rax, qword [rbp - 0x68]
movss xmm0, dword [rax + 0x88]
subss xmm0, xmm2
addss xmm1, xmm0
movss dword [rbp - 0x54], xmm1
movss dword [rax + 0x88], xmm2
mov byte [rsi + 0xe84], r8b
movss xmm12, dword [rbp - 0x1c]
movss xmm9, dword [rsi + 0x50]
movss xmm8, dword [0x180162ce4]
cmp byte [rbp + 0x1d8], r8b
je 0x180063ffd
mov edx, dword [rsi + 0x5c]
mov eax, edx
mov ecx, dword [rsi + 0x58]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cdqe
lea r8, [r12 + rax*2]
movsxd rax, edx
lea rbx, [r12 + rax*2]
xor r12d, r12d
test r15b, r15b
je 0x180063dbb
movaps xmm1, xmm8
jmp 0x180063dc3
movss xmm1, dword [0x180162bb8]
mov rax, qword [0x1801b5b38]
lea rcx, [rsp + 0x78]
movdqu xmm0, xmmword [rax + 0x3bc0]
mulss xmm1, dword [rax + 0x37f4]
movups xmmword [rsp + 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp - 0x7c], xmm0
call fcn.18003cd00
mov r15d, eax
test r11b, r11b
je 0x180063e08
xorps xmm0, xmm0
movss dword [rbp], xmm0
jmp 0x180063e11
movss xmm10, dword [0x180163018]
movss xmm6, dword [rbp - 0x54]
mov qword [rbp + 0x1d8], r8
addss xmm6, xmm14
addss xmm7, dword [rbp - 0x58]
subss xmm7, xmm9
cmp r8, rbx
jae 0x180063fef
movss xmm1, dword [r14 + 0x3c28]
xorps xmm8, xmm8
movss xmm14, dword [rbp - 0x24]
movss xmm11, dword [0x180162b9c]
movss xmm13, dword [rbp]
mov rdi, qword [rbp - 0x68]
movaps xmm0, xmm12
addss xmm0, xmm1
comiss xmm6, xmm0
ja 0x180063fd1
comiss xmm6, xmm14
jae 0x180063ea4
cmp r8, rbx
jae 0x180063fb1
mov ecx, 0xa
lea edx, [rcx - 8]
movzx eax, word [r8]
add r8, rdx
mov qword [rbp + 0x1d8], r8
cmp ax, cx
je 0x180063fb1
cmp r8, rbx
jb 0x180063e83
jmp 0x180063fb1
lea rax, [rbp + 0x1d8]
mov byte [rsp + 0x30], 1
mov r9, rbx
mov qword [rsp + 0x20], rax
mov rdx, r14
lea rcx, [rbp]
call fcn.18005f8a0
movss xmm5, dword [rbp]
comiss xmm5, xmm8
ja 0x180063f03
mov rax, qword [r14 + 0x3c20]
cmp dword [rax], 0x20
jle 0x180063ee9
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x180063eee
movss xmm0, dword [rax + 0x10]
mulss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
movss dword [rbp], xmm5
movss xmm14, dword [rbp - 0x24]
movaps xmm3, xmm7
movss xmm12, dword [rbp - 0x1c]
addss xmm3, xmm5
movss xmm4, dword [rbp - 0x28]
movaps xmm2, xmm13
subss xmm2, dword [r14 + 0x3c28]
movss xmm5, dword [rbp - 0x20]
maxss xmm7, xmm4
movaps xmm1, xmm10
movaps xmm0, xmm12
addss xmm1, xmm6
minss xmm3, xmm5
addss xmm2, xmm6
movss dword [rsp + 0x78], xmm7
minss xmm0, xmm1
movss dword [rbp - 0x80], xmm3
maxss xmm2, xmm14
comiss xmm14, xmm0
movss dword [rsp + 0x7c], xmm2
movss dword [rbp - 0x7c], xmm0
jae 0x180063faa
comiss xmm12, xmm2
jbe 0x180063faa
comiss xmm4, xmm3
jae 0x180063faa
comiss xmm5, xmm7
jbe 0x180063faa
mov rcx, qword [rdi + 0x298]
lea r8, [rbp - 0x80]
mov dword [rsp + 0x28], r12d
lea rdx, [rsp + 0x78]
mov r9d, r15d
movss dword [rsp + 0x20], xmm8
call fcn.18005394c
movss xmm12, dword [rbp - 0x1c]
movss xmm14, dword [rbp - 0x24]
mov r8, qword [rbp + 0x1d8]
movss xmm7, dword [rbp - 0x58]
movss xmm1, dword [r14 + 0x3c28]
subss xmm7, xmm9
addss xmm6, xmm1
cmp r8, rbx
jb 0x180063e5b
movss xmm8, dword [0x180162ce4]
movss xmm11, dword [rbp - 0x38]
movss xmm13, dword [rbp - 0x40]
mov rdi, qword [rbp - 0x10]
mov r11d, dword [rsp + 0x58]
mov r15b, byte [rbp + 0x200]
xor r8d, r8d
xorps xmm10, xmm10
test r11b, r11b
jne 0x18006400f
cmp r13, 0x200000
jge 0x1800640b7
mov rax, qword [0x1801b5b38]
lea r8, [rbp - 0x28]
lea rcx, [rsp + 0x78]
movdqu xmm0, xmmword [rax + 0x38d0]
movups xmmword [rsp + 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
xor eax, eax
test r11b, r11b
cmovne r8, rax
movss dword [rbp - 0x7c], xmm0
movss xmm0, dword [rbp - 0x58]
subss xmm0, xmm9
movss dword [rbp + 0x1d8], xmm0
movss xmm0, dword [rbp - 0x54]
movss dword [rbp + 0x1dc], xmm0
call fcn.18003cd00
mov rcx, qword [rbp + 0x1e0]
lea r9, [rbp + 0x1d8]
mov rbx, qword [rbp - 0x68]
movss xmm2, dword [r14 + 0x3c28]
mov rdx, qword [r14 + 0x3c20]
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm10
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbx + 0x298]
mov dword [rsp + 0x20], eax
call fcn.18005506c
xor r8d, r8d
jmp 0x1800640bb
mov rbx, qword [rbp - 0x68]
test r15b, r15b
je 0x18006425f
movss xmm0, dword [r14 + 0x18]
addss xmm0, dword [rsi + 0xe80]
movss dword [rsi + 0xe80], xmm0
cmp byte [r14 + 0x7b], r8b
je 0x180064102
comiss xmm0, xmm10
jbe 0x180064102
movss xmm1, dword [0x180162d80]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
xor r8d, r8d
comiss xmm0, dword [0x180162c40]
mov cl, r8b
ja 0x180064104
mov cl, 1
movss xmm0, dword [rbp - 0x54]
addss xmm0, xmm13
addss xmm11, dword [rbp - 0x58]
subss xmm11, xmm9
cvttss2si eax, xmm11
movd xmm6, eax
cvtdq2ps xmm6, xmm6
cvttss2si eax, xmm0
movss dword [rsp + 0x78], xmm6
movaps xmm3, xmm6
addss xmm3, xmm8
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp - 0x80], xmm3
movaps xmm1, xmm7
movaps xmm2, xmm7
subss xmm1, dword [r14 + 0x3c28]
subss xmm2, dword [0x180162e8c]
addss xmm1, dword [0x180162b9c]
movss dword [rbp - 0x7c], xmm2
movss dword [rsp + 0x7c], xmm1
test cl, cl
je 0x180064203
movss xmm0, dword [rbp - 0x24]
comiss xmm0, xmm2
jae 0x180064203
movss xmm0, dword [rbp - 0x1c]
comiss xmm0, xmm1
jbe 0x180064203
movss xmm0, dword [rbp - 0x28]
comiss xmm0, xmm3
jae 0x180064203
movss xmm0, dword [rbp - 0x20]
comiss xmm0, xmm6
jbe 0x180064203
mov rax, qword [0x1801b5b38]
lea rcx, [rbp + 8]
movss dword [rbp + 0x1d8], xmm6
movss dword [rbp + 0x1dc], xmm2
movdqu xmm0, xmmword [rax + 0x38d0]
movups xmmword [rbp + 8], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37f4]
movss dword [rbp + 0x14], xmm0
call fcn.18003cd00
mov rcx, qword [rbx + 0x298]
lea rdx, [rsp + 0x78]
mov r9d, eax
movss dword [rsp + 0x20], xmm8
lea r8, [rbp + 0x1d8]
call fcn.18005370c
xor r8d, r8d
movss xmm9, dword [rbp - 0x50]
movss xmm13, dword [rbp - 0x60]
movss xmm14, dword [rbp - 0x18]
mov r12d, dword [rsp + 0x68]
mov r15, qword [rbp + 0x1e0]
cmp byte [rsp + 0x5c], r8b
jne 0x18006427d
movss xmm0, dword [r14 + 0x3c28]
subss xmm6, xmm8
subss xmm7, xmm0
movss dword [r14 + 0x5bac], xmm0
mov byte [r14 + 0x5ba0], 1
movss dword [r14 + 0x5ba4], xmm6
movss dword [r14 + 0x5ba8], xmm7
jmp 0x18006427d
movss xmm9, dword [rbp - 0x50]
movss xmm13, dword [rbp - 0x60]
movss xmm14, dword [rbp - 0x18]
mov r12d, dword [rsp + 0x68]
mov r15, qword [rbp + 0x1e0]
movss xmm6, dword [rbp + 0x208]
mov ebx, dword [rbp - 0x6c]
test bl, bl
je 0x180064294
call fcn.18004672c
xor r8d, r8d
cmp byte [rsp + 0x58], r8b
je 0x180064329
addss xmm15, dword [r14 + 0x3834]
lea rcx, [rbp + 0x1d8]
movss dword [rbp + 0x1d8], xmm6
movss dword [rbp + 0x1dc], xmm15
call fcn.18005cf68
mov ebx, dword [r14 + 0x4748]
mov eax, ebx
or eax, 0x401
mov dword [r14 + 0x4748], eax
call fcn.180041d94
mov eax, dword [r14 + 0x476c]
mov esi, dword [rbp + 0xa8]
and eax, 0x80
or esi, eax
mov dword [r14 + 0x4748], ebx
call fcn.1800493c4
mov ebx, dword [rbp - 0x6c]
xor r8d, r8d
cmp dword [r14 + 0x4764], r8d
jne 0x180064329
mov eax, dword [rbp + 0xa4]
mov dword [r14 + 0x4768], eax
mov dword [r14 + 0x4764], r12d
mov dword [r14 + 0x476c], esi
cmp byte [r14 + 0x5c58], r8b
je 0x180064368
test bl, bl
jne 0x180064368
mov rax, qword [0x1801b5b38]
lea rcx, [0x1800f9ccc]
mov r8, rdi
mov rdx, r15
mov qword [rax + 0x5c78], rcx
lea rcx, [0x1800f9cc8]
mov qword [rax + 0x5c80], rcx
lea rcx, [rbp - 0x58]
call fcn.18004de40
comiss xmm14, xmm10
jbe 0x18006439f
addss xmm13, dword [r14 + 0x3848]
addss xmm9, dword [r14 + 0x3834]
mov rdx, qword [rbp + 0x1d0]
mov r9b, 1
xor r8d, r8d
movaps xmm0, xmm13
unpcklps xmm0, xmm9
movq rcx, xmm0
call fcn.18003d490
movzx r9d, byte [rsp + 0x50]
mov r8d, dword [rsp + 0x64]
test r9b, r9b
je 0x1800643be
bt r8d, 0x1b
jb 0x1800643be
mov ecx, r12d
call fcn.18003ec88
movzx ecx, byte [rsp + 0x54]
test r8b, 0x20
mov eax, r9d
cmovne eax, ecx
jmp 0x1800619f6