Function at 0x1400452e0
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
movaps xmmword [rsp + 0x2e0], xmm15
movaps xmmword [rsp + 0x2d0], xmm14
movaps xmmword [rsp + 0x2c0], xmm13
movaps xmmword [rsp + 0x2b0], xmm12
movaps xmmword [rsp + 0x2a0], xmm11
movaps xmmword [rsp + 0x290], xmm10
movaps xmmword [rsp + 0x280], xmm9
movaps xmmword [rsp + 0x270], xmm8
movaps xmmword [rsp + 0x260], xmm7
movaps xmmword [rsp + 0x250], xmm6
mov r14d, r8d
mov qword [rsp + 0x100], rdx
mov r12, rcx
mov r13, qword [0x140114180]
mov bl, byte [rcx]
test bl, bl
je 0x1400453b5
lea rcx, [r12 + 2]
mov edi, 0xffffffff
lea rbp, [0x1400d97e0]
mov eax, 0xffffffff
jmp 0x140045399
movzx ebx, bl
movzx esi, al
shr eax, 8
xor esi, ebx
xor eax, dword [rbp + rsi*4]
add rcx, 1
mov ebx, edx
test dl, dl
je 0x1400453b1
movzx edx, byte [rcx - 1]
cmp bl, 0x23
jne 0x140045380
cmp dl, 0x23
jne 0x140045380
cmp byte [rcx], 0x23
cmove eax, edi
mov dl, 0x23
jmp 0x140045380
not eax
jmp 0x1400453b7
xor eax, eax
mov rcx, qword [r13 + 0x4168]
movsxd rsi, dword [r13 + 0x4160]
test rsi, rsi
je 0x140045406
mov rdx, rcx
mov rdi, rsi
mov rbp, rsi
jmp 0x1400453e8
mov rdi, rbp
test rbp, rbp
je 0x14004540b
shr rbp, 1
mov rbx, rbp
shl rbx, 4
cmp dword [rdx + rbx], eax
jae 0x1400453e0
not rbp
add rbp, rdi
add rdx, rbx
add rdx, 0x10
jmp 0x1400453e0
xor esi, esi
mov rdx, rcx
shl rsi, 4
add rcx, rsi
cmp rdx, rcx
je 0x14004543d
cmp dword [rdx], eax
jne 0x14004543d
mov rdi, qword [rdx + 8]
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x7c], 0
mov r15d, 0
test rdi, rdi
jne 0x14004584d
jmp 0x140045446
mov qword [rsp + 0x50], 0
mov rdx, qword [0x140114190]
mov ecx, 0x490
call qword [0x14010a998]
mov r15, rax
mov rax, qword [0x140114180]
test rax, rax
je 0x1400454e0
mov ecx, dword [rax + 0x40c8]
movzx ebp, word [rax + 0x6370]
movsx rdx, bp
cmp dword [rax + rdx*8 + 0x6374], ecx
jne 0x14004548b
movzx ecx, word [rax + rdx*8 + 0x6378]
jmp 0x1400454ce
movsx edx, bp
add edx, 1
movsxd rdx, edx
imul rbp, rdx, 0x2aaaaaab
mov rbx, rbp
shr rbx, 0x3f
shr rbp, 0x20
add ebp, ebx
add ebp, ebp
lea ebp, [rbp + rbp*2]
sub edx, ebp
mov word [rax + 0x6370], dx
movsxd rdx, edx
mov dword [rax + rdx*8 + 0x6374], ecx
mov dword [rax + rdx*8 + 0x6378], 0
xor ecx, ecx
add ecx, 1
mov word [rax + rdx*8 + 0x6378], cx
add dword [rax + 0x6368], 1
mov rcx, r15
mov rdx, r13
mov r8, r12
call fcn.140039860
mov qword [rsp + 0x60], r15
mov dword [r15 + 0x14], r14d
mov eax, dword [r15 + 0x10]
mov rcx, qword [r13 + 0x4168]
movsxd rdi, dword [r13 + 0x4160]
test rdi, rdi
je 0x140045546
mov rdx, rcx
mov rsi, rdi
mov rbp, rdi
jmp 0x140045528
mov rsi, rbp
test rbp, rbp
je 0x14004554b
shr rbp, 1
mov rbx, rbp
shl rbx, 4
cmp dword [rdx + rbx], eax
jae 0x140045520
not rbp
add rbp, rsi
add rdx, rbx
add rdx, 0x10
jmp 0x140045520
xor edi, edi
mov rdx, rcx
shl rdi, 4
add rcx, rdi
cmp rdx, rcx
je 0x14004556d
cmp dword [rdx], eax
jne 0x14004556d
mov qword [rdx + 8], r15
test r14d, 0x100
je 0x14004559d
jmp 0x140045630
lea rcx, [r13 + 0x4160]
mov dword [rsp + 0x1f0], eax
mov qword [rsp + 0x1f8], r15
lea r8, [rsp + 0x1f0]
call fcn.1400315c0
test r14d, 0x100
jne 0x140045630
movsxd rcx, dword [r15 + 0x2e0]
cmp rcx, 0xffffffffffffffff
je 0x1400455d7
mov rax, qword [0x140114180]
mov rdi, qword [rax + 0x6200]
test rdi, rdi
je 0x140045630
add rdi, rcx
mov eax, dword [r13 + 0x6200]
mov ecx, edi
sub ecx, eax
mov dword [r15 + 0x2e0], ecx
mov rdx, rdi
jmp 0x140045632
mov rcx, qword [0x140114180]
mov rbp, qword [rcx + 0x6200]
test rbp, rbp
je 0x140045630
mov ebx, dword [r15 + 0x10]
lea rdi, [rbp + 4]
xor edx, edx
jmp 0x140045624
movsxd rax, dword [rdi - 4]
add rax, rdi
movsxd rdi, dword [rcx + 0x61f8]
add rdi, rbp
add rdi, 4
cmp rax, rdi
cmove rax, rdx
mov rdi, rax
test rax, rax
je 0x140045632
cmp dword [rdi], ebx
jne 0x140045600
cmp byte [rdi + 0x21], 0
jne 0x140045600
jmp 0x1400455c0
xor edx, edx
mov rcx, r15
call fcn.140059350
lea rcx, [r13 + 0x4120]
test r14d, 0x2000
je 0x1400456c7
mov eax, dword [rcx]
test eax, eax
je 0x1400456c7
cmp eax, dword [r13 + 0x4124]
jne 0x140045808
mov ebx, 1
cmp eax, 4
jl 0x140045670
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
test ebx, ebx
jle 0x140045808
add ebx, eax
movsxd rcx, ebx
shl rcx, 3
mov rdx, qword [0x140114190]
call qword [0x14010a998]
mov rdi, rax
mov rax, qword [0x140114180]
test rax, rax
je 0x14004572a
mov ecx, dword [rax + 0x40c8]
movzx ebp, word [rax + 0x6370]
movsx rdx, bp
cmp dword [rax + rdx*8 + 0x6374], ecx
jne 0x1400456d6
mov ecx, dword [rax + rdx*8 + 0x6378]
add ecx, 1
jmp 0x14004571b
lea rdx, [rsp + 0x60]
call fcn.1400388a0
jmp 0x14004583a
movsx edx, bp
add edx, 1
movsxd rdx, edx
imul rbp, rdx, 0x2aaaaaab
mov rsi, rbp
shr rsi, 0x3f
shr rbp, 0x20
add ebp, esi
add ebp, ebp
lea ebp, [rbp + rbp*2]
sub edx, ebp
mov word [rax + 0x6370], dx
movsxd rdx, edx
mov dword [rax + rdx*8 + 0x6374], ecx
mov dword [rax + rdx*8 + 0x6378], 0
mov cx, 1
mov word [rax + rdx*8 + 0x6378], cx
add dword [rax + 0x6368], 1
mov rdx, qword [r13 + 0x4128]
test rdx, rdx
je 0x1400457f3
movsxd r8, dword [r13 + 0x4120]
shl r8, 3
mov rcx, rdi
call fcn.1400a5150
mov rcx, qword [r13 + 0x4128]
test rcx, rcx
je 0x1400457e6
mov rax, qword [0x140114180]
test rax, rax
je 0x1400457e6
mov r8d, dword [rax + 0x40c8]
movzx esi, word [rax + 0x6370]
movsx rbp, si
cmp dword [rax + rbp*8 + 0x6374], r8d
jne 0x140045792
movzx edx, word [rax + rbp*8 + 0x637a]
add edx, 1
jmp 0x1400457d7
movsx ebp, si
add ebp, 1
movsxd rbp, ebp
imul rsi, rbp, 0x2aaaaaab
mov rdx, rsi
shr rdx, 0x3f
shr rsi, 0x20
add esi, edx
add esi, esi
lea edx, [rsi + rsi*2]
sub ebp, edx
mov word [rax + 0x6370], bp
movsxd rbp, ebp
mov dword [rax + rbp*8 + 0x6374], r8d
mov dword [rax + rbp*8 + 0x6378], 0
mov dx, 1
mov word [rax + rbp*8 + 0x637a], dx
add dword [rax + 0x636c], 1
mov rdx, qword [0x140114190]
call qword [0x14010a9a0]
mov qword [r13 + 0x4128], rdi
mov dword [r13 + 0x4124], ebx
mov eax, dword [r13 + 0x4120]
test eax, eax
jle 0x140045823
mov r8d, eax
mov rdx, qword [r13 + 0x4128]
lea rcx, [rdx + 8]
shl r8, 3
call fcn.1400a5150
mov rax, qword [r13 + 0x4128]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
add dword [r13 + 0x4120], 1
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x50], rdi
mov al, 1
mov dword [rsp + 0x7c], eax
mov r15b, 1
mov eax, dword [r13 + 0x417c]
cmp eax, dword [rdi + 0x10]
jne 0x14004585f
int3
mov eax, r14d
not eax
mov esi, r14d
or esi, 6
test eax, 0x30200
cmovne esi, r14d
mov ebp, dword [r13 + 0x40c8]
mov r14d, dword [rdi + 0x2a8]
cmp dword [r13 + 0x4150], 0
je 0x14004588f
xor eax, eax
jmp 0x140045896
mov al, byte [r13 + 0x40d9]
mov byte [rdi + 0x108], al
lea eax, [rbp - 1]
cmp r14d, eax
setl byte [rsp + 0x94]
test esi, 0x4000000
mov qword [rsp + 0xf0], rbp
je 0x1400458f9
cmp r14d, eax
setl al
movsxd rcx, dword [r13 + 0x4ca8]
mov rdx, qword [r13 + 0x4ca0]
mov ebp, dword [rdi + 0xc8]
imul rcx, rcx, 0x38
cmp ebp, dword [rdx + rcx]
mov rbp, qword [rsp + 0xf0]
setne bl
cmp rdi, qword [rdx + rcx + 8]
setne cl
or cl, bl
or cl, al
mov byte [rsp + 0x94], cl
mov al, byte [rdi + 0x106]
mov byte [rsp + 0x4c], al
cmp r14d, ebp
mov dword [rsp + 0xa4], r14d
jne 0x140045926
mov esi, dword [rdi + 0x14]
test byte [r13 + 0x4b91], 8
jne 0x140045adf
jmp 0x140045afa
mov qword [rsp + 0x1f0], rdi
mov rbp, qword [0x140114180]
mov ecx, esi
shr ecx, 0x18
mov eax, esi
and eax, 0x14000000
cmp eax, 0x4000000
setne r14b
and r14b, cl
mov cl, byte [rdi + 0x109]
cmp cl, r14b
sete dl
mov ebx, r15d
not bl
test bl, dl
jne 0x140045998
test r14b, r14b
jne 0x140045998
lea rcx, [rbp + 0x4130]
lea rdx, [rsp + 0x1f0]
call fcn.1400388a0
mov eax, dword [rbp + 0x4130]
add eax, 0xffffffff
mov rdi, qword [rsp + 0x1f0]
mov word [rdi + 0x116], ax
jmp 0x140045a43
cmp cl, r14b
sete cl
or cl, r15b
jne 0x140045a43
mov ecx, esi
and ecx, 0x1000000
je 0x140045a43
cmp eax, 0x4000000
je 0x140045a43
movsx eax, word [rdi + 0x116]
lea edx, [rax + 1]
mov ecx, dword [rbp + 0x4130]
cmp edx, ecx
jge 0x140045a0a
cdqe
add rax, 1
nop word [rax + rax]
mov rcx, qword [rbp + 0x4138]
mov rcx, qword [rcx + rax*8]
add word [rcx + 0x116], 0xffff
add rax, 1
movsxd rcx, dword [rbp + 0x4130]
cmp rax, rcx
jl 0x1400459e0
movzx eax, word [rdi + 0x116]
movsxd rbx, ecx
mov rdx, qword [rbp + 0x4138]
movsx r8, ax
lea rcx, [rdx + r8*8]
lea rdx, [rdx + r8*8]
add rdx, 8
not r8
add r8, rbx
shl r8, 3
call fcn.1400a5150
add dword [rbp + 0x4130], 0xffffffff
mov word [rdi + 0x116], 0xffff
mov byte [rdi + 0x109], r14b
mov rdi, qword [rsp + 0x50]
mov al, byte [rsp + 0x94]
mov byte [rdi + 0x106], al
test al, al
mov rbp, qword [rsp + 0xf0]
je 0x140045a72
or dword [rdi + 0x124], 0x8080808
mov eax, dword [rdi + 0x14]
mov dword [rdi + 0x18], eax
mov dword [rdi + 0x14], esi
xor eax, eax
test byte [r13 + 0x4b91], 1
mov r14d, dword [rsp + 0xa4]
je 0x140045a96
mov eax, dword [r13 + 0x4bcc]
mov dword [rdi + 0x1c], eax
mov dword [rdi + 0x2a8], ebp
movsd xmm0, qword [r13 + 0x40c0]
cvtsd2ss xmm0, xmm0
movss dword [rdi + 0x2b0], xmm0
mov word [rdi + 0x112], 0
mov eax, dword [r13 + 0x4170]
lea ecx, [rax + 1]
mov dword [r13 + 0x4170], ecx
mov word [rdi + 0x114], ax
test byte [r13 + 0x4b91], 8
je 0x140045afa
mov r8d, dword [r13 + 0x4ba0]
mov edx, dword [r13 + 0x4c00]
mov rcx, rdi
call fcn.1400511b0
mov rdi, qword [rsp + 0x50]
cmp r14d, ebp
jne 0x140045b07
mov al, byte [rdi + 0x445]
jmp 0x140045b6a
mov al, 1
cmp dword [rdi + 0x478], 0
jne 0x140045b47
cmp qword [rdi + 0x468], 0
jne 0x140045b47
mov rax, qword [0x140114180]
cmp byte [rax + 0x5a], 0
jne 0x140045b2f
cmp byte [rdi + 0x3c], 0
je 0x140045b45
test dword [rdi + 0x14], 0x1080001
jne 0x140045b45
cmp byte [rdi + 0x108], 0
je 0x140047314
xor eax, eax
xor ecx, ecx
mov bl, byte [rdi + 0x445]
test al, al
jne 0x140045d12
test cl, cl
jne 0x140045d12
and bl, 0xf8
mov byte [rdi + 0x445], bl
mov eax, ebx
test al, 1
je 0x140045b8f
mov rax, qword [rdi + 0x468]
mov r8, qword [rax + 0x88]
test r8, r8
je 0x140045b8f
cmp r14d, ebp
jne 0x140045bb4
mov rax, qword [rdi + 0x3b8]
jmp 0x140045bc0
movsxd rax, dword [r13 + 0x4150]
test rax, rax
je 0x140045d01
mov rcx, qword [r13 + 0x4158]
imul rax, rax, 0x70
mov r8, qword [rax + rcx - 0x70]
cmp r14d, ebp
je 0x140045b86
xor eax, eax
test esi, 0x5000000
cmovne rax, r8
mov qword [rsp + 0x88], rax
cmp dword [rdi + 0x138], 0
mov qword [rsp + 0xf8], r12
mov dword [rsp + 0x4c], esi
mov qword [rsp + 0xe0], r8
mov dword [rsp + 0x90], r15d
jne 0x140045c11
lea rcx, [rdi + 0x138]
add rdi, 0x10
mov rdx, rdi
call fcn.140031f70
mov r8, qword [rsp + 0xe0]
mov esi, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x50]
mov qword [r13 + 0x4180], rdi
movups xmm0, xmmword [r13 + 0x4b80]
movaps xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [r13 + 0x4b40]
movups xmm1, xmmword [r13 + 0x4b50]
movups xmm2, xmmword [r13 + 0x4b60]
movups xmm3, xmmword [r13 + 0x4b70]
movaps xmmword [rsp + 0x220], xmm3
movaps xmmword [rsp + 0x210], xmm2
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x1f0], xmm0
movzx r9d, word [rdi + 0x138]
movzx r11d, word [r13 + 0x4c38]
movzx edx, word [r13 + 0x4c48]
mov rcx, r13
movzx r14d, word [r13 + 0x4c58]
movzx r10d, word [r13 + 0x4c68]
movzx r13d, word [r13 + 0x4c88]
movzx ebx, word [rcx + 0x4c78]
movzx r12d, word [rcx + 0x4ca8]
movzx ebp, word [rcx + 0x60d4]
mov al, byte [rcx + 0x4b0c]
shr al, 2
and al, 1
mov byte [rsp + 0x84], al
mov eax, dword [rcx + 0x4150]
mov qword [rsp + 0x128], rcx
cmp eax, dword [rcx + 0x4154]
mov word [rsp + 0x74], bp
jne 0x140045cfa
lea r15d, [rax + 1]
test eax, eax
je 0x140045d84
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x140045d89
mov ebp, edx
jmp 0x140045f90
xor r8d, r8d
cmp r14d, ebp
je 0x140045b86
jmp 0x140045bb4
mov rcx, rdi
mov rdx, qword [rsp + 0x100]
call fcn.1400512c0
mov rdi, qword [rsp + 0x50]
mov esi, dword [rdi + 0x14]
mov al, byte [rdi + 0x445]
test al, 1
je 0x140045d42
and byte [r13 + 0x4b90], 0xef
mov al, byte [rdi + 0x445]
test al, 4
je 0x140045b6a
mov ecx, ebx
and cl, 4
jne 0x140045b6a
and bl, 2
je 0x140045b6a
mov cl, byte [rsp + 0x4c]
or cl, byte [rdi + 0x106]
jne 0x140045b6a
mov byte [rdi + 0x106], 1
or dword [rdi + 0x124], 0x8080808
jmp 0x140045b6a
mov ecx, 8
mov ebp, edx
cmp ecx, r15d
cmovg r15d, ecx
cmp eax, r15d
jge 0x140045f90
mov word [rsp + 0xd4], bx
mov word [rsp + 0xd8], r13w
mov word [rsp + 0x170], r11w
mov word [rsp + 0x78], r10w
mov word [rsp + 0x130], r9w
movsxd rax, r15d
imul rcx, rax, 0x70
mov rdx, qword [0x140114190]
call qword [0x14010a998]
mov rsi, rax
mov rax, qword [0x140114180]
test rax, rax
je 0x140045e63
mov r8d, dword [rax + 0x40c8]
movzx ecx, word [rax + 0x6370]
movsx rdx, cx
cmp dword [rax + rdx*8 + 0x6374], r8d
jne 0x140045e0f
mov ecx, dword [rax + rdx*8 + 0x6378]
add ecx, 1
jmp 0x140045e54
movsx ecx, cx
add ecx, 1
movsxd rcx, ecx
imul rdx, rcx, 0x2aaaaaab
mov rbx, rdx
shr rbx, 0x3f
shr rdx, 0x20
add edx, ebx
add edx, edx
lea edx, [rdx + rdx*2]
sub ecx, edx
mov word [rax + 0x6370], cx
movsxd rdx, ecx
mov dword [rax + rdx*8 + 0x6374], r8d
mov dword [rax + rdx*8 + 0x6378], 0
mov cx, 1
mov word [rax + rdx*8 + 0x6378], cx
add dword [rax + 0x6368], 1
mov rbx, qword [rsp + 0x128]
mov rdx, qword [rbx + 0x4158]
test rdx, rdx
je 0x140045f47
movsxd rax, dword [rbx + 0x4150]
imul r8, rax, 0x70
mov rcx, rsi
call fcn.1400a5150
mov rcx, qword [rbx + 0x4158]
test rcx, rcx
je 0x140045f32
mov rax, qword [0x140114180]
test rax, rax
je 0x140045f32
mov r8d, dword [rax + 0x40c8]
movzx r9d, word [rax + 0x6370]
movsx rdx, r9w
cmp dword [rax + rdx*8 + 0x6374], r8d
jne 0x140045eda
movzx r8d, word [rax + rdx*8 + 0x637a]
add r8d, 1
jmp 0x140045f22
movsx edx, r9w
add edx, 1
movsxd rdx, edx
imul rbx, rdx, 0x2aaaaaab
mov r9, rbx
shr r9, 0x3f
shr rbx, 0x20
add ebx, r9d
add ebx, ebx
lea ebx, [rbx + rbx*2]
sub edx, ebx
mov word [rax + 0x6370], dx
movsxd rdx, edx
mov dword [rax + rdx*8 + 0x6374], r8d
mov dword [rax + rdx*8 + 0x6378], 0
mov r8w, 1
mov word [rax + rdx*8 + 0x637a], r8w
add dword [rax + 0x636c], 1
mov rdx, qword [0x140114190]
call qword [0x14010a9a0]
mov rbx, qword [rsp + 0x128]
mov qword [rbx + 0x4158], rsi
mov dword [rbx + 0x4154], r15d
mov eax, dword [rbx + 0x4150]
mov esi, dword [rsp + 0x4c]
mov r8, qword [rsp + 0xe0]
movzx r9d, word [rsp + 0x130]
movzx r10d, word [rsp + 0x78]
movzx r11d, word [rsp + 0x170]
movzx r13d, word [rsp + 0xd8]
movzx ebx, word [rsp + 0xd4]
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rdx + 0x4158]
cdqe
imul rax, rax, 0x70
mov qword [rcx + rax], rdi
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmm1, xmmword [rsp + 0x200]
movaps xmm2, xmmword [rsp + 0x210]
movaps xmm3, xmmword [rsp + 0x220]
movups xmmword [rcx + rax + 8], xmm0
movups xmmword [rcx + rax + 0x18], xmm1
movups xmmword [rcx + rax + 0x28], xmm2
movups xmmword [rcx + rax + 0x38], xmm3
movaps xmm0, xmmword [rsp + 0x230]
movups xmmword [rcx + rax + 0x48], xmm0
mov word [rcx + rax + 0x58], r9w
mov word [rcx + rax + 0x5a], r11w
mov word [rcx + rax + 0x5c], bp
mov word [rcx + rax + 0x5e], r14w
mov word [rcx + rax + 0x60], r10w
mov word [rcx + rax + 0x62], r13w
mov r13, rdx
mov word [rcx + rax + 0x64], bx
mov word [rcx + rax + 0x66], r12w
movzx edx, word [rsp + 0x74]
mov word [rcx + rax + 0x68], dx
mov r14b, byte [rsp + 0x84]
mov byte [rcx + rax + 0x6a], r14b
add dword [r13 + 0x4150], 1
test esi, 0x10000000
je 0x14004604a
add dword [r13 + 0x6044], 1
mov rax, qword [rsp + 0x50]
mov rbp, qword [rsp + 0xf0]
cmp dword [rsp + 0xa4], ebp
jne 0x140046079
mov r9d, 0x100
and r9d, dword [rax + 0x1c]
mov r15d, esi
and r15d, 0x4000000
jmp 0x140046246
mov rbx, qword [rsp + 0x88]
mov qword [rax + 0x3b8], rbx
mov qword [rax + 0x3e8], rax
mov qword [rax + 0x3e0], rax
mov qword [rax + 0x3d8], rax
mov qword [rax + 0x3d0], rax
mov qword [rax + 0x3c8], rax
mov rdx, rax
test rbx, rbx
je 0x1400460fe
mov ecx, esi
mov rdx, rax
and ecx, 0x1000000
je 0x1400460fe
mov ecx, esi
mov rdx, rax
and ecx, 0x2000000
jne 0x1400460fe
mov rcx, qword [rbx + 0x3d8]
mov qword [rax + 0x3d8], rcx
test byte [rax + 0x445], 1
mov rdx, rax
jne 0x1400460fe
test byte [rbx + 0x17], 0x20
mov rdx, rax
jne 0x1400460fe
mov rdx, qword [rbx + 0x3c8]
mov qword [rax + 0x3c8], rdx
mov r15d, esi
and r15d, 0x4000000
test rbx, rbx
je 0x140046120
test r15d, r15d
je 0x140046120
mov rcx, qword [rbx + 0x3d0]
mov qword [rax + 0x3d0], rcx
test rbx, rbx
je 0x140046147
mov ecx, esi
and ecx, 0x8000000
jne 0x140046147
mov ecx, esi
and ecx, 0x5000000
je 0x140046147
mov rcx, qword [rbx + 0x3e0]
mov qword [rax + 0x3e0], rcx
mov r9d, 0x100
and r9d, dword [rax + 0x1c]
je 0x140046184
mov qword [rax + 0x3e8], rbx
test byte [rbx + 0x1d], 1
je 0x140046184
mov rcx, rbx
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, qword [rcx + 0x3b8]
mov qword [rax + 0x3e8], rcx
test byte [rcx + 0x1d], 1
jne 0x140046170
mov qword [rax + 0x3c0], r8
xor ecx, ecx
cmp rdx, rax
cmovne rcx, r8
mov qword [rax + 0x3f0], rcx
test rcx, rcx
je 0x1400461f7
mov edx, dword [rax + 0x28]
test edx, edx
je 0x140046246
mov rcx, qword [0x140114180]
mov r8, qword [rcx + 0x4168]
movsxd rcx, dword [rcx + 0x4160]
test rcx, rcx
je 0x140046219
mov rbp, r8
mov rdi, rcx
mov rbx, rcx
jmp 0x1400461d8
mov rdi, rbx
test rbx, rbx
je 0x14004621e
shr rbx, 1
mov rsi, rbx
shl rsi, 4
cmp dword [rbp + rsi], edx
jae 0x1400461d0
not rbx
add rbx, rdi
add rbp, rsi
add rbp, 0x10
jmp 0x1400461d0
mov rdx, qword [rax + 0x468]
test rdx, rdx
je 0x1400461a0
test byte [rdx + 0x12], 4
je 0x1400461a0
mov rcx, qword [rdx + 0x88]
mov qword [rax + 0x3f0], rcx
jmp 0x1400461a0
xor ecx, ecx
mov rbp, r8
shl rcx, 4
add r8, rcx
cmp rbp, r8
je 0x140046235
cmp dword [rbp], edx
jne 0x140046235
mov rdx, qword [rbp + 8]
jmp 0x140046237
xor edx, edx
mov qword [rax + 0x3f0], rdx
mov rbp, qword [rsp + 0xf0]
lea rcx, [r13 + 0x4b08]
add rax, 0x10
test r9d, r9d
cmovne rax, rcx
mov esi, dword [rax]
mov rbx, qword [0x140114180]
mov dword [rsp + 0x60], esi
mov rax, qword [rbx + 0x4180]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x64], eax
lea rcx, [rbx + 0x4c68]
lea rdi, [rsp + 0x60]
mov rdx, rdi
call fcn.1400388a0
mov dword [rbx + 0x4b08], esi
mov eax, dword [r13 + 0x4b08]
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x438], eax
test r15d, r15d
je 0x1400462ee
lea rax, [r13 + 0x4ca8]
movsxd rdx, dword [r13 + 0x4ca8]
mov rsi, qword [r13 + 0x4ca0]
imul rbx, rdx, 0x38
lea rdx, [rsi + rbx]
mov qword [rsi + rbx + 8], rcx
mov rcx, qword [rsp + 0xe0]
mov ecx, dword [rcx + 0x1a0]
mov dword [rsi + rbx + 0x18], ecx
mov rcx, rax
call fcn.140051930
mov eax, dword [rsi + rbx]
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0xc8], eax
test byte [r13 + 0x4b90], 1
jne 0x1400462fd
xor r12d, r12d
jmp 0x14004636c
mov eax, dword [rcx + 0x124]
movsx edx, al
mov r8d, dword [r13 + 0x4b94]
test edx, r8d
setne r12b
je 0x140046360
movsd xmm0, qword [r13 + 0x4bac]
mulps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
addss xmm1, xmm0
ucomiss xmm1, dword [0x1400dab7c]
jbe 0x140046360
mov rdx, qword [r13 + 0x4ba4]
mov qword [rcx + 0x128], rdx
mov rdx, qword [r13 + 0x4bac]
mov qword [rcx + 0x130], rdx
and eax, 0xfffffff1
mov dword [rcx + 0x124], eax
mov r12b, 1
jmp 0x14004636c
lea rdx, [r13 + 0x4ba4]
call fcn.14003d010
mov eax, dword [r13 + 0x4b90]
test al, 2
jne 0x14004638f
xor r15d, r15d
mov dword [rsp + 0x74], 0
test al, al
jns 0x140046481
jmp 0x140046434
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + 0x124]
mov edx, eax
shr edx, 8
movsx edx, dl
mov r8d, dword [r13 + 0x4b98]
test edx, r8d
je 0x1400463d6
movss xmm0, dword [r13 + 0x4bb4]
movss xmm1, dword [r13 + 0x4bb8]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
seta dl
mov dword [rsp + 0x74], edx
ucomiss xmm1, xmm2
seta r15b
jmp 0x1400463e1
mov dword [rsp + 0x74], 0
xor r15d, r15d
mov edx, dword [rcx + 0x1c]
test dl, 4
je 0x140046401
and eax, 0x400
jne 0x140046401
movss xmm0, dword [rcx + 0x68]
movss dword [r13 + 0x4bb4], xmm0
mov edx, dword [rcx + 0x1c]
test dl, 8
je 0x14004641d
test byte [rcx + 0x125], 4
jne 0x14004641d
movss xmm0, dword [rcx + 0x6c]
movss dword [r13 + 0x4bb8], xmm0
lea rdx, [r13 + 0x4bb4]
call fcn.140051b10
mov eax, dword [r13 + 0x4b90]
test al, al
jns 0x140046481
movss xmm1, dword [r13 + 0x4bc4]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jb 0x14004645c
mov rax, qword [rsp + 0x50]
movss dword [rax + 0xdc], xmm1
mov dword [rax + 0xe4], 0
movss xmm1, dword [r13 + 0x4bc8]
ucomiss xmm1, xmm0
jb 0x140046481
mov rax, qword [rsp + 0x50]
movss dword [rax + 0xe0], xmm1
mov dword [rax + 0xe8], 0
test byte [r13 + 0x4b90], 4
jne 0x1400464a6
cmp dword [rsp + 0xa4], ebp
je 0x1400464b9
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x80], 0
jmp 0x1400464b9
mov rax, qword [rsp + 0x50]
mov rcx, qword [r13 + 0x4bbc]
mov qword [rax + 0x80], rcx
mov eax, dword [r13 + 0x4b90]
test eax, 0x1000
je 0x1400464eb
mov rax, qword [rsp + 0x50]
movups xmm0, xmmword [r13 + 0x4c04]
movups xmm1, xmmword [r13 + 0x4c14]
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x20], xmm0
mov eax, dword [r13 + 0x4b90]
test al, 8
je 0x14004653a
mov ebx, dword [r13 + 0x4b9c]
mov cl, byte [r13 + 0x4bd1]
mov rdx, qword [rsp + 0x50]
mov esi, dword [rdx + 0x124]
test ebx, ebx
je 0x140046521
mov ebp, esi
shr ebp, 0x10
movsx ebp, bpl
test ebp, ebx
mov rbp, qword [rsp + 0xf0]
je 0x14004653a
and esi, 0xfff1ffff
mov dword [rdx + 0x124], esi
mov byte [rdx + 0x102], cl
mov eax, dword [r13 + 0x4b90]
test al, 0x20
je 0x14004654a
mov rcx, qword [rsp + 0x50]
xor edx, edx
call fcn.14003c490
mov rcx, qword [rsp + 0x50]
mov dl, byte [rcx + 0x106]
test dl, dl
je 0x140046563
and dword [rcx + 0x124], 0xf7f7f7f7
mov rsi, qword [0x140114180]
mov byte [rcx + 0x105], 0
test byte [rsi + 0x4b91], 2
je 0x1400465eb
mov eax, dword [rsi + 0x4c2c]
test al, 1
je 0x1400465eb
test dl, dl
jne 0x1400465eb
cmp byte [rcx + 0x107], 0
jne 0x1400465eb
test al, 2
je 0x1400465b9
mov rdx, qword [rsi + 0x4188]
test rdx, rdx
je 0x1400465b9
mov rbp, qword [rcx + 0x3c8]
cmp rbp, qword [rdx + 0x3c8]
mov rbp, qword [rsp + 0xf0]
je 0x1400465eb
test al, 4
je 0x1400465d9
mov rax, qword [rsi + 0x4d48]
test rax, rax
je 0x1400465d9
mov rdx, qword [rcx + 0x3c8]
cmp rdx, qword [rax + 0x3c8]
je 0x1400465eb
mov qword [rcx + 0x2e8], 0
mov byte [rcx + 0x105], 1
test r14b, r14b
jne 0x1400465f9
mov ebx, dword [rsp + 0xa4]
jmp 0x140046640
cmp qword [rcx + 0x3c8], rcx
mov ebx, dword [rsp + 0xa4]
jne 0x140046640
movss xmm0, dword [rsi + 0x60d0]
movss dword [rsi + 0x39f8], xmm0
lea rdx, [rsi + 0x4b0c]
and byte [rsi + 0x4b0c], 0xfb
lea rcx, [rsi + 0x4c78]
call fcn.140031f70
add word [rsi + 0x60d4], 1
mov rcx, qword [rsp + 0x50]
mov qword [r13 + 0x4180], 0
mov al, byte [rcx + 0x105]
cmp ebx, ebp
jne 0x14004665b
test al, al
jne 0x140046663
jmp 0x14004666a
test al, al
je 0x140046980
mov byte [rcx + 0xff], 1
mov rax, qword [rcx + 0x40]
mov rdx, qword [0x140114180]
test rax, rax
je 0x1400466c9
mov ebp, dword [rdx + 0x40c8]
mov dword [rax + 0x6c], ebp
cmp qword [rdx + 0x4cd8], rax
mov r14d, dword [rsp + 0x4c]
je 0x1400466ed
movss xmm0, dword [rax + 0x28]
movss dword [rdx + 0x3ea8], xmm0
mov qword [rdx + 0x4cd8], rax
mov rbp, qword [rdx + 0x39a0]
test rbp, rbp
je 0x1400466ed
mov rcx, rax
call rbp
mov r14d, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [0x140114180]
jmp 0x1400466ed
cmp qword [rdx + 0x4cd8], 0
mov r14d, dword [rsp + 0x4c]
je 0x1400466ed
mov dword [rdx + 0x3ea8], 0x3f800000
mov qword [rdx + 0x4cd8], 0
mov qword [rdx + 0x4180], rcx
movsxd rax, dword [rcx + 0x1f8]
cmp rax, 0xffffffffffffffff
je 0x140046711
imul rax, rax, 0x250
add rax, qword [rdx + 0x5058]
jmp 0x140046713
xor eax, eax
mov qword [rdx + 0x5030], rax
mov rbp, qword [rcx]
movss xmm0, dword [rbp + 0x3ea4]
mulss xmm0, dword [rcx + 0x2d8]
mulss xmm0, dword [rcx + 0x2dc]
mov rbp, qword [rcx + 0x3b8]
test rbp, rbp
je 0x140046749
mulss xmm0, dword [rbp + 0x2d8]
movss dword [rdx + 0x3ec0], xmm0
movss dword [rdx + 0x3ea0], xmm0
test rax, rax
je 0x140046762
xor eax, eax
jmp 0x14004676d
cmp qword [rcx + 0x1f0], 0
sete al
mov byte [rcx + 0x1a8], al
mov dword [r13 + 0x4b90], 0
movss xmm0, dword [rcx + 0x58]
movss xmm1, dword [rcx + 0x5c]
addss xmm1, dword [rcx + 0x98]
addss xmm0, dword [rcx + 0x68]
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x60], rax
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x6c], xmm1
test byte [rcx + 0x445], 1
jne 0x1400467db
movd xmm2, eax
movss xmm4, dword [rdx + 0x100]
movss xmm5, dword [rdx + 0x3a5c]
movdqa xmm3, xmm2
subss xmm3, xmm5
ucomiss xmm4, xmm3
jae 0x140046812
xor eax, eax
jmp 0x140046891
lea rdi, [rcx + 0x480]
mov eax, dword [rcx + 0x47c]
mov ebp, dword [rdx + 0x4b0c]
mov ebx, dword [rcx + 0xbc]
mov dword [rdx + 0x4b40], ebx
mov dword [rdx + 0x4b44], ebp
mov dword [rdx + 0x4b48], eax
movups xmm0, xmmword [rcx + 0x480]
jmp 0x1400468b7
shr rax, 0x20
movd xmm8, eax
movss xmm6, dword [rdx + 0x104]
movss xmm7, dword [rdx + 0x3a60]
movdqa xmm3, xmm8
subss xmm3, xmm7
xor eax, eax
ucomiss xmm6, xmm3
jb 0x140046891
addss xmm5, xmm0
ucomiss xmm5, xmm4
jbe 0x140046891
addss xmm7, xmm1
ucomiss xmm7, xmm6
jbe 0x140046891
mov rax, qword [rdx + 0x4ce0]
movss xmm3, dword [rax + 8]
movss xmm4, dword [rax + 0xc]
movss xmm5, dword [rax + 0x14]
addss xmm5, xmm4
movss xmm6, dword [rax + 0x10]
ucomiss xmm5, xmm8
seta al
ucomiss xmm1, xmm4
seta bl
addss xmm6, xmm3
and bl, al
ucomiss xmm6, xmm2
seta r8b
ucomiss xmm0, xmm3
seta al
and al, r8b
and al, bl
movzx eax, al
mov ebp, dword [rdx + 0x4b0c]
mov ecx, dword [rcx + 0xbc]
mov dword [rdx + 0x4b40], ecx
mov dword [rdx + 0x4b44], ebp
mov dword [rdx + 0x4b48], eax
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x4b5c], xmm0
movups xmm0, xmmword [rdi]
movups xmmword [rdx + 0x4b4c], xmm0
mov rdi, qword [rsp + 0xf0]
test r14d, 0x20000000
jne 0x140046946
mov r8, qword [rsp + 0x50]
cmp byte [r8 + 0x105], 0
jne 0x140046946
lea rdx, [r8 + 0x250]
add r8, 0x258
mov rax, qword [0x140114180]
mov rcx, qword [rax + 0x4180]
mov byte [rcx + 0x101], 1
mov rsi, qword [rax + 0x4180]
mov rcx, qword [rsi + 0x2e8]
mov r9b, 1
call fcn.14006c040
mov rax, qword [rsi + 0x2e8]
mov rcx, qword [rax + 0xa0]
movsxd rax, dword [rax + 0x98]
shl rax, 4
movups xmm0, xmmword [rax + rcx - 0x10]
movups xmmword [rsi + 0x280], xmm0
mov rax, qword [rsp + 0x50]
add word [rax + 0x10e], 1
mov byte [rax + 0x101], 0
cmp dword [rsp + 0xa4], edi
je 0x140046e14
cmp byte [rax + 0x105], 0
je 0x140046a7b
mov byte [rax + 0x104], 1
jmp 0x140046e14
mov al, byte [rcx + 0x121]
mov byte [rsp + 0x170], al
mov byte [rcx + 0xff], 1
cmp qword [rsp + 0x100], 0
setne byte [rcx + 0x10a]
movaps xmm0, xmmword [0x1400dab80]
movups xmmword [rcx + 0x280], xmm0
add rcx, 0x138
mov edx, 1
call fcn.140043cf0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x2e8]
call fcn.14006b4f0
mov rdi, qword [rsp + 0x50]
mov dword [rdi + 0x1f8], 0xffffffff
test dword [rsp + 0x4c], 0x20000000
je 0x140046a29
mov rdx, qword [rdi + 0x2e8]
lea rcx, [rdx + 0x80]
mov r8d, 2
call fcn.14006fcd0
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax + 0x2e8]
lea rcx, [rdx + 0x80]
mov r8d, 1
call fcn.14006fe50
mov rdi, qword [rsp + 0x50]
cmp byte [rdi + 0x444], 0
je 0x140046a3f
mov rcx, rdi
call fcn.14003aff0
mov rdi, qword [rsp + 0x50]
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x140046a4e
cmp qword [rax + 0x60], rdi
je 0x140046ab4
test byte [rdi + 0x445], 1
jne 0x140046ab4
cmp qword [r13 + 0x4f38], 0
je 0x140046b1e
mov al, byte [rdi + 0x16]
and al, 2
shr al, 1
or al, byte [rsp + 0x90]
jne 0x140046b1e
jmp 0x140046ac9
mov cl, byte [rax + 0x445]
and cl, 5
cmp cl, 1
mov rdx, qword [rsp + 0x88]
jne 0x140046cb5
mov ecx, dword [rax + 0x2ac]
cmp ecx, dword [r13 + 0x40c8]
jne 0x140046cae
mov byte [rax + 0x121], 1
jmp 0x140046cb5
cmp byte [rsp + 0x90], 0
je 0x140046ac9
mov al, 1
mov dword [rsp + 0x90], eax
jmp 0x140046b1e
mov rbx, qword [rdi + 8]
mov rsi, qword [rsp + 0xf8]
mov rcx, rsi
mov rdx, rbx
call fcn.1400d3980
test eax, eax
je 0x140046b13
movsxd rax, dword [rdi + 0xb8]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
mov rcx, rbx
mov r8, rsi
call fcn.1400306a0
mov rdi, qword [rsp + 0x50]
mov qword [rdi + 8], rax
mov eax, dword [rsp + 0x60]
mov dword [rdi + 0xb8], eax
mov dword [rsp + 0x90], 0
lea r8, [rdi + 0x78]
lea rdx, [rdi + 0x70]
mov rcx, rdi
call fcn.140050af0
mov rdi, qword [rsp + 0x50]
mov al, byte [rdi + 0x120]
test al, al
jle 0x140046b45
add al, 0xff
mov byte [rdi + 0x120], al
mov al, byte [rdi + 0x121]
test al, al
mov ecx, dword [rsp + 0x4c]
jle 0x140046b5b
add al, 0xff
mov byte [rdi + 0x121], al
mov al, byte [rdi + 0x122]
test al, al
jle 0x140046b6d
add al, 0xff
mov byte [rdi + 0x122], al
cmp byte [rsp + 0x90], 0
je 0x140046b8a
cmp byte [rsp + 0x74], 0
je 0x140046b83
test r15b, r15b
jne 0x140046b8a
mov byte [rdi + 0x121], 1
mov al, byte [rsp + 0x94]
xor al, 1
mov byte [rsp + 0x130], al
jne 0x140046be0
mov eax, ecx
and eax, 0x6000000
je 0x140046be0
mov byte [rdi + 0x121], 1
test cl, 0x40
je 0x140046be0
cmp byte [rsp + 0x74], 0
jne 0x140046bc6
mov dword [rdi + 0x68], 0
mov dword [rdi + 0x60], 0
test r15b, r15b
jne 0x140046bd9
mov dword [rdi + 0x6c], 0
mov dword [rdi + 0x64], 0
xorps xmm0, xmm0
movups xmmword [rdi + 0x70], xmm0
mov dword [rsp + 0x84], r15d
mov rbx, qword [0x140114180]
mov r14d, dword [rdi + 0x14]
mov dword [rdi + 0x54], 0xffffffff
mov rax, qword [rbx + 0x4cd0]
mov r15, qword [rax]
test byte [rbx + 0x3e8d], 4
jne 0x140046c42
cmp byte [rdi + 0xfe], 0
je 0x140046c28
mov rax, qword [rdi + 0x40]
cmp qword [rax + 0x60], rdi
jne 0x140046c28
mov qword [rax + 0x10], 0
mov qword [rdi + 0x40], r15
mov eax, dword [r15]
mov dword [rdi + 0x48], eax
cmp qword [r15 + 0x60], rdi
sete byte [rdi + 0xfe]
jmp 0x140047362
mov byte [rdi + 0xfe], 0
test r14d, 0x6000000
je 0x140046c6a
cmp byte [rdi + 0x106], 0
je 0x140046c6a
mov qword [rdi + 0x40], 0
mov dword [rdi + 0x48], 0
test byte [rbx + 0x4b91], 4
jne 0x140046c7e
cmp qword [rdi + 0x40], 0
je 0x140046fe7
test byte [rbx + 0x4b91], 4
jne 0x140046eec
test r14d, 0x11000000
je 0x1400470a4
mov rax, qword [rdi + 0x3b8]
mov rax, qword [rax + 0x40]
mov qword [rdi + 0x40], rax
xor esi, esi
jmp 0x140046f4a
mov byte [rax + 0x120], 1
and r14d, 0x11000000
cmp r14d, 0x1000000
jne 0x140046d7e
test byte [rax + 0x1d], 1
je 0x140046cf8
cmp byte [r13 + 0x4da4], 0
je 0x140046cf8
mov rcx, qword [r13 + 0x4d48]
test rcx, rcx
je 0x140046cf8
mov rcx, qword [rcx + 0x3e8]
cmp rcx, qword [rax + 0x3e8]
sete cl
jmp 0x140046cfa
xor ecx, ecx
cmp byte [r13 + 0x6288], 0
jne 0x140046d47
test cl, cl
jne 0x140046d47
movss xmm0, dword [rax + 0x230]
ucomiss xmm0, dword [rax + 0x238]
jae 0x140046d2a
movss xmm0, dword [rax + 0x234]
ucomiss xmm0, dword [rax + 0x23c]
jb 0x140046d47
cmp byte [rax + 0x118], 0
jg 0x140046d40
cmp byte [rax + 0x119], 0
jle 0x140047bf3
mov byte [rax + 0x121], 1
test rdx, rdx
je 0x140046d7e
cmp byte [rdx + 0x102], 0
jne 0x140046d5e
cmp byte [rdx + 0x120], 0
jle 0x140046d6e
mov byte [rax + 0x120], 1
cmp byte [rdx + 0x102], 0
jne 0x140046d77
cmp byte [rdx + 0x121], 0
jle 0x140046d7e
mov byte [rax + 0x121], 1
xorps xmm0, xmm0
ucomiss xmm0, dword [r13 + 0x39f8]
jae 0x140046db3
mov cl, 1
cmp byte [rax + 0x120], 0
mov dl, 1
jg 0x140046dbe
mov cl, 1
cmp byte [rax + 0x121], 0
mov dl, 1
jg 0x140046dbe
cmp byte [rax + 0x122], 0
setg dl
xor ecx, ecx
jmp 0x140046dbe
mov byte [rax + 0x120], 1
mov cl, 1
mov dl, 1
mov byte [rax + 0x107], dl
mov dl, byte [rax + 0x123]
test dl, dl
jle 0x140046dde
add dl, 0xff
mov byte [rax + 0x123], dl
or dword [rax + 0x14], 0x30200
cmp byte [rax + 0x102], 0
jne 0x140046df7
cmp byte [rax + 0xff], 0
setne dl
not cl
test cl, dl
jne 0x140046e0d
cmp byte [rax + 0x118], 0
jg 0x140046e0d
cmp byte [rax + 0x119], 0
jle 0x140046fc0
mov byte [rax + 0x104], 0
cmp byte [rax + 0x108], 0
je 0x140046e29
cmp byte [rax + 0x104], 0
sete al
jmp 0x140046e80
cmp byte [r13 + 0x81], 0
setne cl
test byte [rsp + 0x90], cl
jne 0x140046e58
cmp byte [r13 + 0x82], 0
je 0x140046e1d
movsx ecx, byte [r13 + 0x6304]
cmp dword [r13 + 0x4150], ecx
jne 0x140046e1d
mov cl, byte [rax + 0x118]
test cl, cl
jle 0x140046e6b
add cl, 1
mov byte [rax + 0x118], cl
mov cl, byte [rax + 0x119]
test cl, cl
jle 0x140046e7e
add cl, 1
mov byte [rax + 0x119], cl
xor eax, eax
movaps xmm6, xmmword [rsp + 0x250]
movaps xmm7, xmmword [rsp + 0x260]
movaps xmm8, xmmword [rsp + 0x270]
movaps xmm9, xmmword [rsp + 0x280]
movaps xmm10, xmmword [rsp + 0x290]
movaps xmm11, xmmword [rsp + 0x2a0]
movaps xmm12, xmmword [rsp + 0x2b0]
movaps xmm13, xmmword [rsp + 0x2c0]
movaps xmm14, xmmword [rsp + 0x2d0]
movaps xmm15, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [0x140114180]
movsxd rax, dword [rdx + 0x4cc8]
test rax, rax
je 0x140046f36
mov ecx, dword [rbx + 0x4bfc]
mov rdx, qword [rdx + 0x4cd0]
shl rax, 3
xor esi, esi
nop word cs:[rax + rax]
nop dword [rax]
mov rbp, qword [rdx + rsi]
cmp dword [rbp], ecx
je 0x1400471ef
add rsi, 8
cmp rax, rsi
jne 0x140046f20
mov qword [rdi + 0x40], 0
mov eax, dword [rbx + 0x4bfc]
mov dword [rdi + 0x48], eax
mov sil, 1
cmp qword [rdi + 0x40], 0
jne 0x140046f7f
mov rcx, rdi
mov rdx, r15
call fcn.14003d110
test al, al
jne 0x140046f7f
lea r9, [rdi + 0x60]
lea r8, [rdi + 0x58]
mov edx, dword [rdi + 0x10]
mov dword [rsp + 0x20], 0
mov rcx, rdi
call fcn.140052070
mov qword [rdi + 0x40], rax
test sil, sil
jne 0x140047339
test r14d, 0x6000000
je 0x14004713f
test r14d, 0x2000000
jne 0x140047229
mov rax, qword [rbx + 0x4cb0]
movsxd rcx, dword [rbx + 0x4ca8]
imul rcx, rcx, 0x38
add rax, rcx
add rax, 0xfffffffffffffff4
jmp 0x140047230
cmp byte [rax + 0x121], 0
setle byte [rax + 0x104]
jg 0x140046e14
movzx ecx, word [rax + 0x1a4]
mov word [rax + 0x1a6], cx
jmp 0x140046e14
mov rax, qword [rdi + 0x3b8]
test rax, rax
je 0x140047016
cmp byte [rax + 0x108], 0
je 0x140047005
cmp byte [rax + 0x100], 0
je 0x140047016
mov rax, qword [rax + 0x40]
mov qword [rdi + 0x40], rax
test rax, rax
jne 0x140046c7e
mov eax, dword [rdi + 0x48]
test eax, eax
je 0x140046c7e
movsxd rcx, dword [rbx + 0x4cc8]
test rcx, rcx
je 0x140047050
mov rdx, qword [rbx + 0x4cd0]
shl rcx, 3
xor esi, esi
mov rbp, qword [rdx + rsi]
cmp dword [rbp], eax
je 0x14004a866
add rsi, 8
cmp rcx, rsi
jne 0x14004703a
mov qword [rdi + 0x40], 0
movss xmm0, dword [rdi + 0x4c]
ucomiss xmm0, dword [0x1400da9c0]
jne 0x14004706c
jnp 0x140046c7e
movss xmm0, dword [rdi + 0x50]
ucomiss xmm0, dword [0x1400da9c0]
jne 0x140047080
jnp 0x140046c7e
lea r8, [rdi + 0x4c]
lea r9, [rdi + 0x60]
mov edx, dword [rdi + 0x10]
mov dword [rsp + 0x20], 0
mov rcx, rdi
call fcn.140052070
mov qword [rdi + 0x40], rax
jmp 0x140046c7e
mov rax, qword [rdi + 0x468]
test rax, rax
je 0x1400470c0
mov rax, qword [rax + 0x88]
test rax, rax
jne 0x140046c9f
test r14d, 0x2000000
jne 0x140047be7
mov rax, qword [0x140114180]
cmp byte [rax + 0x5c], 0
jne 0x1400470e4
test byte [rdi + 0x2d], 2
je 0x140047c08
test byte [rax + 0x3e8d], 4
je 0x140047c08
test byte [rdi + 0x445], 1
jne 0x140047c08
mov ecx, dword [rdi + 0x14]
test ecx, 0x13000000
jne 0x140047c08
and ecx, 0xc000000
cmp ecx, 0x4000000
je 0x140047c08
lea r9, [rdi + 0x60]
lea r8, [rdi + 0x58]
mov edx, dword [rdi + 0x10]
mov dword [rsp + 0x20], 0
mov rcx, rdi
call fcn.140052070
jmp 0x140046ca3
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x14004731d
mov rcx, qword [rax + 0x60]
and r14d, 0x1000000
cmp rcx, rdi
je 0x140047324
test rcx, rcx
je 0x140047324
test r14d, r14d
jne 0x140047324
xor r14d, r14d
cmp qword [rdi + 0x468], 0
jne 0x140047324
test byte [rdi + 0x17], 0x20
je 0x14004afa5
mov edx, dword [rax + 0x6c]
cmp edx, dword [rbx + 0x40c8]
jge 0x14004afa5
mov dl, byte [rdi + 0x445]
and dl, 5
cmp dl, 1
je 0x14004afa5
test byte [rbx + 0x62cd], 2
je 0x1400471d2
mov r9, qword [rcx + 8]
mov r8d, dword [rax]
mov rdx, qword [rdi + 8]
lea rcx, str._viewport__Window__s_steal_Viewport__08X_from_Window__s_n
call fcn.1400302c0
mov rax, qword [rdi + 0x40]
mov qword [rax + 0x60], rdi
mov eax, dword [rdi + 0x10]
mov rcx, qword [rdi + 0x40]
mov dword [rcx], eax
mov rax, qword [rdi + 0x40]
mov dword [rax + 0x74], 0
jmp 0x140047339
mov qword [rdi + 0x40], rbp
mov eax, dword [rbx + 0x4bfc]
mov dword [rdi + 0x48], eax
mov sil, 1
test byte [rdi + 0x17], 0x20
je 0x140046f4a
cmp qword [rbp + 0x60], 0
je 0x140046f4a
mov qword [rbp + 0x60], rdi
mov eax, dword [rdi + 0x10]
mov dword [rdi + 0x48], eax
mov rcx, qword [rdi + 0x40]
mov dword [rcx], eax
jmp 0x140046f4a
lea rax, [rbx + 0x100]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
cmp byte [rbx + 0x4da2], 0
je 0x140047246
xor eax, eax
jmp 0x14004725a
cmp byte [rbx + 0x4da3], 0
je 0x140047242
cmp qword [rbx + 0x4d48], 0
setne al
movss xmm2, dword [0x1400daac0]
ucomiss xmm0, xmm2
setae cl
ucomiss xmm1, xmm2
setae dl
cmp byte [rdi + 0x106], 0
jne 0x140047284
and r14d, 0x12000000
je 0x14004730e
and cl, dl
mov edx, eax
or dl, cl
cmp dl, 1
jne 0x14004730e
xor cl, 1
or al, cl
cmp al, 1
jne 0x1400472ae
lea rcx, [rsp + 0x60]
call fcn.140056a40
movss xmm0, dword [rsp + 0x60]
movss xmm1, dword [rsp + 0x64]
mov rdx, qword [0x140114180]
mov ecx, dword [rdx + 0x39d8]
mov eax, 0xffffffff
test ecx, ecx
jle 0x140047336
mov rdx, qword [rdx + 0x39e0]
add rdx, 0xc
xor ebp, ebp
jmp 0x1400472e0
add rbp, 1
add rdx, 0x30
cmp rcx, rbp
je 0x140047336
movss xmm3, dword [rdx - 0xc]
ucomiss xmm0, xmm3
jb 0x1400472d3
movss xmm2, dword [rdx - 8]
ucomiss xmm1, xmm2
jb 0x1400472d3
addss xmm3, dword [rdx - 4]
ucomiss xmm3, xmm0
jbe 0x1400472d3
addss xmm2, dword [rdx]
ucomiss xmm2, xmm1
jbe 0x1400472d3
mov eax, ebp
mov dword [rdi + 0x54], ebp
jmp 0x140047339
mov rax, qword [rdi + 0x40]
jmp 0x14004732f
mov cl, 1
xor eax, eax
jmp 0x140045b49
and r14d, 0x1000000
cmp dword [rdi + 0x54], 0
jns 0x140047339
test r14d, r14d
jne 0x140047339
movsx eax, word [rax + 0x8a]
mov dword [rdi + 0x54], eax
mov rax, qword [rdi + 0x40]
cmp qword [rax + 0x60], rdi
sete byte [rdi + 0xfe]
mov eax, dword [rax]
mov dword [rdi + 0x48], eax
mov rdi, qword [rsp + 0x50]
mov r15, qword [rdi + 0x40]
mov rbx, qword [0x140114180]
test r15, r15
je 0x1400473a2
mov eax, dword [rbx + 0x40c8]
mov dword [r15 + 0x6c], eax
cmp qword [rbx + 0x4cd8], r15
je 0x1400473c1
movss xmm0, dword [r15 + 0x28]
movss dword [rbx + 0x3ea8], xmm0
mov qword [rbx + 0x4cd8], r15
mov rax, qword [rbx + 0x39a0]
test rax, rax
je 0x1400473c1
mov rcx, r15
call rax
mov rdi, qword [rsp + 0x50]
jmp 0x1400473c1
cmp qword [rbx + 0x4cd8], 0
je 0x1400473c1
mov dword [rbx + 0x3ea8], 0x3f800000
mov qword [rbx + 0x4cd8], 0
cmp word [r13 + 8], 0
js 0x1400473d3
movss xmm0, dword [0x1400d9774]
jmp 0x1400473dc
mov rax, qword [rdi + 0x40]
movss xmm0, dword [rax + 0x28]
movss dword [rdi + 0x2dc], xmm0
mov rax, qword [0x140114180]
mov qword [rax + 0x4180], rdi
movsxd rcx, dword [rdi + 0x1f8]
cmp rcx, 0xffffffffffffffff
je 0x14004740f
imul rcx, rcx, 0x250
add rcx, qword [rax + 0x5058]
jmp 0x140047411
xor ecx, ecx
mov qword [rax + 0x5030], rcx
mov rdx, qword [rdi]
movss xmm0, dword [rdx + 0x3ea4]
mulss xmm0, dword [rdi + 0x2d8]
mulss xmm0, dword [rdi + 0x2dc]
mov rdx, qword [rdi + 0x3b8]
test rdx, rdx
je 0x140047447
mulss xmm0, dword [rdx + 0x2d8]
movss dword [rax + 0x3ec0], xmm0
movss dword [rax + 0x3ea0], xmm0
test rcx, rcx
je 0x140047460
xor eax, eax
jmp 0x14004746b
cmp qword [rdi + 0x1f0], 0
sete al
mov byte [rdi + 0x1a8], al
mov r14d, dword [rdi + 0x14]
mov al, byte [rdi + 0x445]
and al, 1
test r14d, 0x1000000
sete cl
or cl, al
je 0x1400474b7
test r14d, 0x8000000
mov edx, 0x38
mov ebp, setsockopt
cmovne rdx, rbp
test r14d, 0x6000000
cmove rdx, rbp
add rdx, r13
add rdx, 0x39f8
jmp 0x1400474be
lea rdx, [r13 + 0x3a28]
movss xmm1, dword [rdx]
movss dword [rdi + 0x94], xmm1
mov rdx, qword [r13 + 0x3a00]
mov qword [rdi + 0x88], rdx
mov r15d, r14d
and r15d, 0x4000000
movd xmm0, edx
test cl, cl
jne 0x140047527
test r15d, r15d
jne 0x140047527
test byte [rdi + 0x1c], 2
jne 0x140047527
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jne 0x140047527
jp 0x140047527
test r14d, 0x400
je 0x140047511
movss xmm2, dword [r13 + 0x3a04]
mov dword [rdi + 0x88], 0
movss dword [rdi + 0x8c], xmm2
pxor xmm0, xmm0
movss xmm1, dword [r13 + 0x4c24]
movss xmm2, dword [r13 + 0x3a44]
movaps xmm3, xmm2
cmpless xmm3, xmm0
andps xmm0, xmm3
andnps xmm3, xmm2
orps xmm3, xmm0
movaps xmm0, xmm1
cmpless xmm0, xmm3
movaps xmm2, xmm0
andps xmm2, xmm3
andnps xmm0, xmm1
orps xmm0, xmm2
movss dword [rdi + 0x1ac], xmm0
movss xmm2, dword [r13 + 0x4c28]
movss dword [rdi + 0x1b0], xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
test r14b, 1
jne 0x140047599
movss xmm0, dword [r13 + 0x3a38]
addss xmm0, xmm0
addss xmm0, dword [r13 + 0x3ea0]
movss dword [rdi + 0x98], xmm0
test r14d, 0x400
je 0x1400475c4
addss xmm2, dword [r13 + 0x3ea0]
movss xmm1, dword [r13 + 0x3a38]
addss xmm1, xmm1
addss xmm1, xmm2
movss dword [rdi + 0x9c], xmm1
mov ecx, dword [rsp + 0x7c]
mov edx, ecx
cmp byte [rsp + 0x74], 0
je 0x1400475f3
movss xmm2, dword [rdi + 0x80]
xorps xmm3, xmm3
ucomiss xmm2, xmm3
mov ecx, dword [rsp + 0x7c]
mov edx, ecx
jne 0x1400475f1
jnp 0x1400475f3
mov dl, 1
cmp byte [rsp + 0x84], 0
je 0x140047615
movss xmm2, dword [rdi + 0x84]
xorps xmm3, xmm3
ucomiss xmm2, xmm3
jne 0x14004760f
jnp 0x140047615
mov cl, 1
mov dword [rsp + 0x7c], ecx
test r14b, 0x21
mov dword [rsp + 0x78], edx
jne 0x140047712
test al, al
jne 0x140047712
addss xmm0, dword [rdi + 0x5c]
movss xmm1, dword [rdi + 0x58]
addss xmm1, dword [rdi + 0x68]
mov rax, qword [rdi + 0x58]
mov qword [rsp + 0x60], rax
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x6c], xmm0
cmp qword [r13 + 0x4188], rdi
jne 0x1400476a8
cmp dword [r13 + 0x41d8], 0
jne 0x1400476a8
cmp dword [r13 + 0x41dc], 0
jne 0x1400476a8
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x60]
mov r8b, 1
call fcn.14003bd10
test al, al
je 0x1400476a8
cmp word [r13 + 0x2b32], 2
jne 0x1400476a8
mov ecx, 0x28f
call fcn.140051ce0
cmp eax, 0xffffffff
jne 0x1400476a8
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x103], 1
mov rdi, qword [rsp + 0x50]
cmp byte [rdi + 0x103], 0
je 0x140047700
mov al, byte [rdi + 0x102]
mov ecx, eax
xor cl, 1
mov byte [rdi + 0x102], cl
test al, al
movzx eax, byte [rsp + 0x7c]
mov ecx, 1
cmove ecx, eax
mov dword [rsp + 0x7c], ecx
test byte [rdi + 0x15], 1
jne 0x140047700
mov rax, qword [0x140114180]
xorps xmm0, xmm0
ucomiss xmm0, dword [rax + 0x61d4]
jb 0x140047700
movss xmm0, dword [rax + 0x1c]
movss dword [rax + 0x61d4], xmm0
movss xmm0, dword [rdi + 0x98]
movss xmm1, dword [rdi + 0x9c]
jmp 0x140047719
mov byte [rdi + 0x102], 0
addss xmm1, xmm0
mov byte [rdi + 0x103], 0
movss xmm10, dword [rdi + 0xf4]
movss xmm9, dword [rdi + 0xf8]
mov dword [rdi + 0xa0], 0
mov qword [rdi + 0xa8], 0
movss dword [rdi + 0xa4], xmm1
mov qword [rdi + 0xf4], 0
lea r8, [rdi + 0x78]
lea rcx, [rsp + 0x118]
mov rdx, rdi
call fcn.140050c30
mov rdx, qword [rsp + 0x50]
test r14b, 0x40
je 0x14004778a
cmp byte [rdx + 0x102], 0
je 0x140047859
cmp byte [rdx + 0x118], 0
jle 0x1400477d2
cmp byte [rsp + 0x74], 0
jne 0x1400477df
cmp byte [rdx + 0x11a], 0
movss xmm0, dword [rsp + 0x118]
je 0x1400477c5
movss xmm1, dword [rdx + 0x68]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
movss dword [rdx + 0x68], xmm0
mov al, 1
mov dword [rsp + 0x78], eax
jmp 0x1400477df
cmp byte [rdx + 0x119], 0
jle 0x140047892
cmp byte [rsp + 0x84], 0
jne 0x140047828
cmp byte [rdx + 0x119], 0
jle 0x140047828
cmp byte [rdx + 0x11a], 0
movss xmm0, dword [rsp + 0x11c]
je 0x14004781d
movss xmm1, dword [rdx + 0x6c]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
movss dword [rdx + 0x6c], xmm0
mov al, 1
mov dword [rsp + 0x7c], eax
cmp byte [rdx + 0x102], 0
jne 0x140047892
test byte [rdx + 0x15], 1
jne 0x140047892
mov rax, qword [0x140114180]
xorps xmm0, xmm0
ucomiss xmm0, dword [rax + 0x61d4]
jb 0x140047892
movss xmm0, dword [rax + 0x1c]
movss dword [rax + 0x61d4], xmm0
jmp 0x140047892
cmp byte [rsp + 0x74], 0
jne 0x140047874
movss xmm0, dword [rsp + 0x118]
movss dword [rdx + 0x68], xmm0
mov al, 1
mov dword [rsp + 0x78], eax
cmp byte [rsp + 0x84], 0
jne 0x140047892
movss xmm0, dword [rsp + 0x11c]
movss dword [rdx + 0x6c], xmm0
mov al, 1
mov dword [rsp + 0x7c], eax
lea r8, [rdx + 0x68]
lea rcx, [rsp + 0x60]
call fcn.140050fa0
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0x68], rax
cmp byte [rdi + 0x102], 0
je 0x1400478f2
mov ecx, r14d
and ecx, 0x1000000
jne 0x1400478f2
movd xmm0, eax
movss xmm1, dword [rdi + 0x58]
movss xmm2, dword [rdi + 0x5c]
movss xmm3, dword [rdi + 0x98]
addss xmm3, xmm2
addss xmm0, xmm1
subss xmm3, xmm2
subss xmm0, xmm1
movd eax, xmm0
movd ecx, xmm3
jmp 0x1400478f9
mov rcx, rax
shr rcx, 0x20
mov r8d, dword [rsp + 0x4c]
mov dword [rdi + 0x60], eax
mov dword [rdi + 0x64], ecx
cmp byte [rsp + 0x94], 0
je 0x140047948
mov dword [rdi + 0x11c], 0xffffffff
mov eax, r14d
and eax, 0xc000000
cmp eax, 0x4000000
setne al
or al, r12b
jne 0x140047948
mov rax, qword [r13 + 0x4cb0]
movsxd rcx, dword [r13 + 0x4ca8]
imul rcx, rcx, 0x38
mov rax, qword [rcx + rax - 0x14]
mov qword [rdi + 0x58], rax
and r8d, 0x3000000
test r14d, 0x1000000
mov dword [rsp + 0x4c], r8d
je 0x1400479bf
mov esi, r14d
shr esi, 0x1a
and esi, 1
mov rax, qword [rsp + 0x88]
lea rcx, [rax + 0x1d8]
movzx eax, word [rax + 0x1d8]
mov word [rdi + 0x112], ax
lea rdx, [rsp + 0x50]
call fcn.1400388a0
mov r8d, dword [rsp + 0x4c]
or sil, r12b
jne 0x1400479ba
cmp r8d, 0x3000000
je 0x1400479ba
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x148]
mov qword [rdi + 0x58], rax
jmp 0x1400479bf
mov rdi, qword [rsp + 0x50]
movss xmm0, dword [rdi + 0x128]
ucomiss xmm0, dword [0x1400da9c0]
jne 0x1400479d2
jnp 0x1400479df
cmp byte [rdi + 0x121], 0
je 0x140047ae8
test r14d, 0x10000000
jne 0x140047a19
test r14d, 0x4000000
sete al
or al, r12b
jne 0x140047a01
cmp byte [rsp + 0x170], 0
jg 0x140047a19
test r14d, 0x2000000
sete al
or al, r12b
jne 0x140047a39
cmp r8d, 0x3000000
je 0x140047a39
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.140051d80
mov r8d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0x58], rax
cmp dword [rdi + 0x54], 0
js 0x140047c85
cmp byte [rdi + 0xfe], 0
jne 0x140047c85
mov rax, qword [rdi + 0x40]
test byte [rax + 5], 0x10
jne 0x140047c85
movss xmm2, dword [rax + 8]
movss xmm3, dword [rdi + 0x58]
ucomiss xmm3, xmm2
jb 0x140047a9e
movss xmm0, dword [rax + 0xc]
movss xmm1, dword [rdi + 0x5c]
ucomiss xmm1, xmm0
jb 0x140047a9e
addss xmm2, dword [rax + 0x10]
addss xmm3, dword [rdi + 0x60]
ucomiss xmm2, xmm3
jb 0x140047a9e
addss xmm0, dword [rax + 0x14]
addss xmm1, dword [rdi + 0x64]
ucomiss xmm0, xmm1
jae 0x140047c85
lea r9, [rdi + 0x60]
lea r8, [rdi + 0x58]
mov edx, dword [rdi + 0x10]
mov dword [rsp + 0x20], 0x20
mov rcx, rdi
call fcn.140052070
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x40], rax
mov rdx, rax
call fcn.14004d290
cmp word [r13 + 8], 0
mov rcx, qword [rsp + 0x50]
js 0x140047c65
movss xmm0, dword [0x1400d9774]
jmp 0x140047c6e
movsd xmm1, qword [rdi + 0x58]
movsd xmm2, qword [rdi + 0x60]
movsd xmm3, qword [rdi + 0x130]
mulps xmm3, xmm2
movss xmm2, dword [rdi + 0x12c]
unpcklps xmm0, xmm2
subps xmm0, xmm3
and byte [rdi + 0x124], 0xf1
mov dword [rdi + 0x128], 0x7f7fffff
mov dword [rdi + 0x12c], 0x7f7fffff
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x58], xmm0
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
movss dword [rdi + 0x5c], xmm2
subps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
xorps xmm2, xmm2
ucomiss xmm0, xmm2
jne 0x140047b5d
jp 0x140047b5d
ucomiss xmm1, xmm2
jne 0x140047b5d
jnp 0x140047a39
movaps xmm2, xmm0
movlhps xmm2, xmm0
test byte [rdi + 0x15], 1
jne 0x140047b89
mov rax, qword [0x140114180]
xorps xmm3, xmm3
ucomiss xmm3, dword [rax + 0x61d4]
jb 0x140047b89
movss xmm3, dword [rax + 0x1c]
movss dword [rax + 0x61d4], xmm3
movss xmm3, dword [rdi + 0x148]
addss xmm3, xmm0
movss dword [rdi + 0x148], xmm3
movss xmm3, dword [rdi + 0x14c]
addss xmm3, xmm1
movss dword [rdi + 0x14c], xmm3
addss xmm0, dword [rdi + 0x168]
movss dword [rdi + 0x168], xmm0
addss xmm1, dword [rdi + 0x16c]
movss dword [rdi + 0x16c], xmm1
movups xmm0, xmmword [rdi + 0x158]
addps xmm2, xmm0
movups xmmword [rdi + 0x158], xmm2
jmp 0x140047a39
mov rax, qword [rbx + 0x4ce0]
jmp 0x140046ca3
mov byte [rax + 0x120], 1
test rdx, rdx
jne 0x140046d4c
jmp 0x140046d7e
mov rcx, qword [rbx + 0x41a0]
test rcx, rcx
je 0x140047c21
cmp qword [rcx + 0x3d8], rdi
je 0x14004afea
mov rcx, qword [rdi + 0x40]
test rcx, rcx
je 0x140046ca7
cmp qword [rcx + 0x60], rdi
jne 0x140046ca7
cmp dword [rbx + 0x41ec], 0
je 0x140047c4e
cmp byte [rbx + 0x41f9], 0
je 0x140046ca7
mov rax, qword [rax + 0x4cd0]
mov rdx, qword [rax]
mov rcx, rdi
call fcn.14003d110
jmp 0x140046ca7
mov rax, qword [rcx + 0x40]
movss xmm0, dword [rax + 0x28]
movss dword [rcx + 0x2dc], xmm0
call fcn.140051c30
mov rdi, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x4c]
cmp byte [rdi + 0xfe], 0
je 0x140047e83
mov rsi, qword [0x140114180]
mov rax, qword [rdi + 0x40]
cmp byte [rax + 0x59], 0
je 0x140047ccc
mov rax, qword [rax + 8]
mov qword [rdi + 0x58], rax
test byte [rdi + 0x15], 1
jne 0x140047ce2
xorps xmm0, xmm0
ucomiss xmm0, dword [rsi + 0x61d4]
jb 0x140047ce2
movss xmm0, dword [rsi + 0x1c]
movss dword [rsi + 0x61d4], xmm0
jmp 0x140047ce2
mov rcx, qword [rax + 8]
cmp rcx, qword [rdi + 0x58]
je 0x140047ce2
mov rcx, qword [rdi + 0x58]
mov qword [rax + 8], rcx
mov al, 1
jmp 0x140047ce4
xor eax, eax
mov rcx, qword [rdi + 0x40]
cmp byte [rcx + 0x5a], 0
je 0x140047d1b
mov rcx, qword [rcx + 0x10]
mov qword [rdi + 0x68], rcx
mov qword [rdi + 0x60], rcx
test byte [rdi + 0x15], 1
jne 0x140047d2f
xorps xmm0, xmm0
ucomiss xmm0, dword [rsi + 0x61d4]
jb 0x140047d2f
movss xmm0, dword [rsi + 0x1c]
movss dword [rsi + 0x61d4], xmm0
jmp 0x140047d2f
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rdi + 0x60]
je 0x140047d2f
mov rax, qword [rdi + 0x60]
mov qword [rcx + 0x10], rax
mov al, 1
mov rcx, qword [rdi + 0x40]
movss xmm0, dword [rcx + 0x124]
movss xmm1, dword [rcx + 0xc]
addss xmm1, xmm0
movss xmm2, dword [rcx + 0x120]
movss xmm3, dword [rcx + 8]
addss xmm3, xmm2
movss dword [rcx + 0x18], xmm3
movss dword [rcx + 0x1c], xmm1
movss xmm1, dword [rcx + 0x14]
subss xmm1, xmm0
addss xmm1, dword [rcx + 0x12c]
movss xmm0, dword [rcx + 0x10]
xorps xmm3, xmm3
movaps xmm4, xmm1
cmpless xmm4, xmm3
andnps xmm4, xmm1
subss xmm0, xmm2
addss xmm0, dword [rcx + 0x128]
movaps xmm1, xmm0
cmpless xmm1, xmm3
andnps xmm1, xmm0
movss dword [rcx + 0x20], xmm1
movss dword [rcx + 0x24], xmm4
test al, al
je 0x140047db1
mov rcx, qword [rdi + 0x40]
call fcn.140065c30
mov rcx, qword [rdi + 0x40]
mov edx, 0xfffffae7
and edx, dword [rcx + 4]
mov ebx, dword [rdi + 0x14]
mov eax, ebx
shr eax, 0xf
and eax, 0x400
lea ebp, [rax + rdx]
test ebx, 0x8000000
lea eax, [rax + rdx + 0x10]
cmovne eax, ebp
test ebx, 0x16000000
cmovne ebp, eax
cmp byte [rsi + 0x5d], 0
cmovne ebp, eax
lea eax, [rbp + 8]
test ebx, 0x16000000
cmovne ebp, eax
cmp byte [rsi + 0x5e], 0
cmovne ebp, eax
mov eax, ebp
or eax, 0x60
test ebx, 0x8000000
cmovne eax, ebp
test ebx, 0x16000000
cmove eax, ebp
mov edx, dword [rdi + 0x30]
or eax, dword [rdi + 0x2c]
not edx
and edx, eax
lea eax, [rbx + rbx]
not eax
and eax, 0x100
or eax, edx
mov dword [rcx + 4], eax
mov ecx, dword [rdi + 0x24]
cmp ecx, 0xffffffff
mov r8d, dword [rsp + 0x4c]
jne 0x140047e77
test ebx, 0x6000000
mov rax, qword [rsp + 0xe0]
je 0x140047e69
test rax, rax
je 0x140047e69
cmp byte [rax + 0x108], 0
je 0x140047e61
cmp byte [rax + 0x100], 0
je 0x140047e69
mov rax, qword [rax + 0x40]
mov ecx, dword [rax]
jmp 0x140047e77
xor eax, eax
cmp byte [rsi + 0x5f], 0
mov ecx, 0x11111111
cmovne ecx, eax
mov rax, qword [rdi + 0x40]
mov dword [rax + 0x2c], ecx
mov rdi, qword [rsp + 0x50]
mov esi, r14d
shr esi, 0x18
and esi, 1
mov rcx, qword [rdi + 0x40]
movss xmm3, dword [rcx + 8]
movss xmm8, dword [rcx + 0xc]
movss xmm2, dword [rcx + 0x14]
addss xmm2, xmm8
movss xmm4, dword [rcx + 0x10]
addss xmm4, xmm3
movss dword [rsp + 0x150], xmm3
movss dword [rsp + 0x154], xmm8
movss dword [rsp + 0x158], xmm4
movss dword [rsp + 0x15c], xmm2
movsd xmm5, qword [rcx + 0x18]
movsd xmm6, qword [rcx + 0x20]
addps xmm6, xmm5
movsd xmm1, qword [r13 + 0x3ac4]
movsd xmm0, qword [r13 + 0x3acc]
movaps xmm7, xmm0
cmpleps xmm7, xmm1
andps xmm1, xmm7
andnps xmm7, xmm0
orps xmm7, xmm1
pshufd xmm1, xmm7, 0x44
movlhps xmm0, xmm6
addps xmm7, xmm5
subps xmm0, xmm1
movsd xmm0, xmm7
movapd xmmword [rsp + 0x180], xmm0
or r12b, sil
je 0x140047f2e
mov bl, byte [rsp + 0x130]
jmp 0x1400480c3
cmp byte [rdi + 0xfe], 0
je 0x140047f9b
cmp dword [r13 + 0x39d8], 0
mov bl, byte [rsp + 0x130]
jle 0x1400480c3
mov rax, qword [r13 + 0x41a0]
test rax, rax
je 0x140047f6c
mov rdx, qword [rdi + 0x3d8]
cmp rdx, qword [rax + 0x3d8]
je 0x140047ff8
mov rax, qword [0x140114180]
movzx ecx, word [rcx + 0x8a]
test cx, cx
js 0x140047fdf
movzx ecx, cx
cmp dword [rax + 0x39d8], ecx
jle 0x140047fdf
lea rcx, [rcx + rcx*2]
shl rcx, 4
add rcx, qword [rax + 0x39e0]
jmp 0x140047fe6
subss xmm4, xmm3
xorps xmm1, xmm1
ucomiss xmm4, xmm1
mov bl, byte [rsp + 0x130]
jbe 0x1400480c3
subss xmm2, xmm8
ucomiss xmm2, xmm1
jbe 0x1400480c3
lea rdx, [rsp + 0x180]
mov rcx, rdi
call fcn.140052500
mov r8d, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x50]
jmp 0x1400480c3
lea rcx, [rax + 0x4cf8]
movsd xmm0, qword [rcx + 0x10]
movsd xmm2, qword [rcx + 0x18]
addps xmm2, xmm0
movlhps xmm0, xmm2
jmp 0x140048017
movups xmm0, xmmword [r13 + 0x4d28]
movaps xmmword [rsp + 0x180], xmm0
movaps xmm0, xmmword [rsp + 0x180]
mov rax, qword [0x140114180]
movaps xmm2, xmm0
addps xmm2, xmm1
subps xmm0, xmm1
movaps xmm1, xmm0
movsd xmm1, xmm2
movapd xmmword [rsp + 0x180], xmm1
movss xmm1, dword [rdi + 0x60]
mov ecx, dword [rdi + 0x64]
cmp byte [rax + 0x67], 0
je 0x14004806e
cmp qword [rdi + 0x470], 0
je 0x140048062
movss xmm3, dword [rax + 0x3a38]
addss xmm3, xmm3
addss xmm3, dword [rax + 0x3ea0]
movd ecx, xmm3
jmp 0x14004806e
test byte [rdi + 0x14], 1
jne 0x14004806e
mov ecx, dword [rdi + 0x98]
movd xmm3, ecx
movaps xmm4, xmm2
shufps xmm4, xmm2, 0x55
subss xmm4, xmm3
subss xmm2, xmm1
movss xmm1, dword [rdi + 0x58]
movss xmm3, dword [rdi + 0x5c]
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xff
minss xmm5, xmm3
cmpltss xmm3, xmm4
andps xmm4, xmm3
andnps xmm3, xmm5
orps xmm3, xmm4
movhlps xmm0, xmm0
minss xmm0, xmm1
cmpltss xmm1, xmm2
andps xmm2, xmm1
andnps xmm1, xmm0
orps xmm1, xmm2
movss dword [rdi + 0x58], xmm1
movss dword [rdi + 0x5c], xmm3
movss xmm0, dword [rdi + 0x58]
movss xmm1, dword [rdi + 0x5c]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x58], xmm0
movss dword [rdi + 0x5c], xmm1
xorps xmm11, xmm11
cmp byte [rdi + 0xfe], 0
jne 0x140048131
test byte [rdi + 0x445], 1
jne 0x140048131
test r14d, 0x1000000
jne 0x14004811c
mov eax, r14d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x140048125
lea rax, [r13 + 0x3a2c]
jmp 0x14004812c
lea rax, [r13 + 0x3a24]
jmp 0x14004812c
lea rax, [r13 + 0x3a08]
movss xmm11, dword [rax]
movss dword [rdi + 0x90], xmm11
mov eax, r14d
shr eax, 0xc
and eax, 1
or bl, al
mov eax, ebx
xor al, 1
test bl, bl
jne 0x140048172
test r15d, r15d
mov ecx, eax
jne 0x140048174
test r14d, 0x1000000
sete al
or al, byte [rdi + 0x445]
test r14d, 0x2000000
sete cl
and cl, al
jmp 0x140048174
mov ecx, eax
mov r15b, 1
cmp qword [rdi + 0x470], 0
jne 0x14004818c
test byte [rdi + 0x445], 1
sete r15b
mov byte [rsp + 0xe0], cl
test r14d, 0x4000000
sete al
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1e0], xmm0
mov dword [rsp + 0x84], 0
and sil, al
jne 0x1400481cc
cmp byte [r13 + 0x66], 1
mov eax, 2
sbb eax, 0
mov dword [rsp + 0x84], eax
addss xmm11, dword [0x1400d9774]
movss xmm12, dword [r13 + 0x3ea0]
mov ebx, 0xffffffff
movabs r12, 0x7f7fffff7f7fffff
test r15b, r15b
je 0x140048219
cmp byte [rdi + 0x102], 0
jne 0x140048219
mov edx, dword [rdi + 0x14]
test dl, 0x42
jne 0x140048219
cmp byte [rdi + 0x118], 0
jg 0x140048219
cmp byte [rdi + 0x119], 0
jle 0x14004a86f
mov eax, 0xffffffff
mov rbp, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x50]
mov byte [rdx + 0x10b], al
mov byte [rdx + 0x10c], bl
cmp byte [rdx + 0xfe], 0
mov rax, qword [rdx + 0x40]
je 0x14004832a
cmp byte [rax + 0x59], 0
mov bl, byte [rsp + 0xe0]
jne 0x140048261
mov rcx, qword [rdx + 0x58]
mov qword [rax + 8], rcx
mov rax, qword [rdx + 0x40]
cmp byte [rax + 0x5a], 0
jne 0x140048273
mov rcx, qword [rdx + 0x60]
mov qword [rax + 0x10], rcx
mov rax, qword [rdx + 0x40]
movss xmm0, dword [rax + 0x124]
movss xmm1, dword [rax + 0xc]
addss xmm1, xmm0
movss xmm2, dword [rax + 0x120]
movss xmm3, dword [rax + 8]
addss xmm3, xmm2
movss dword [rax + 0x18], xmm3
movss dword [rax + 0x1c], xmm1
movss xmm1, dword [rax + 0x10]
movss xmm3, dword [rax + 0x14]
subss xmm3, xmm0
addss xmm3, dword [rax + 0x12c]
xorps xmm0, xmm0
movaps xmm4, xmm3
cmpless xmm4, xmm0
subss xmm1, xmm2
addss xmm1, dword [rax + 0x128]
andnps xmm4, xmm3
movaps xmm2, xmm1
cmpless xmm2, xmm0
andnps xmm2, xmm1
movss dword [rax + 0x20], xmm2
movss dword [rax + 0x24], xmm4
mov rax, qword [rdx + 0x40]
movss xmm0, dword [rax + 8]
movss xmm1, dword [rax + 0xc]
movss xmm2, dword [rax + 0x14]
addss xmm2, xmm1
movss xmm3, dword [rax + 0x10]
addss xmm3, xmm0
movss dword [rsp + 0x150], xmm0
movss dword [rsp + 0x154], xmm1
movss dword [rsp + 0x158], xmm3
movss dword [rsp + 0x15c], xmm2
jmp 0x140048331
mov bl, byte [rsp + 0xe0]
mov rax, qword [rax + 8]
mov qword [rdx + 0x4c], rax
cmp byte [rdx + 0x102], 0
je 0x14004834c
movss xmm0, dword [rdx + 0x68]
jmp 0x140048546
movss xmm1, dword [rdx + 0xac]
movss xmm3, dword [rdx + 0x24c]
xorps xmm2, xmm2
cmp byte [rsp + 0x90], 0
jne 0x14004837c
movsd xmm0, qword [rdx + 0x70]
movsd xmm2, qword [rdx + 0x88]
addps xmm2, xmm2
addps xmm2, xmm0
movss xmm4, dword [rdx + 0x6c]
movss xmm5, dword [rdx + 0xa4]
addss xmm5, xmm1
subss xmm3, dword [rdx + 0x244]
movss xmm0, dword [rdx + 0x68]
cmp byte [rsp + 0x78], 0
je 0x1400483da
movaps xmm10, xmm0
cmp byte [rsp + 0x7c], 0
jne 0x1400483f6
addss xmm9, xmm3
test r14d, 0x4000
je 0x140048407
mov byte [rdx + 0xfd], 1
test r14w, r14w
js 0x14004844e
lea rax, [rdx + 0xfd]
mov ebp, r14d
and ebp, 8
jmp 0x14004843f
movss xmm6, dword [rdx + 0x248]
subss xmm6, dword [rdx + 0x240]
addss xmm10, xmm6
cmp byte [rsp + 0x7c], 0
je 0x1400483ac
subss xmm4, xmm5
movaps xmm9, xmm4
test r14d, 0x4000
jne 0x1400483ba
mov r9d, ebx
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
ucomiss xmm3, xmm9
seta al
mov edi, r14d
and edi, 8
sete bl
and bl, al
lea rax, [rdx + 0xfd]
mov byte [rdx + 0xfd], bl
test r14w, r14w
js 0x14004845c
xor ebp, ebp
test bl, bl
je 0x140048479
mov ebx, r9d
movss xmm3, dword [r13 + 0x3a6c]
mov cl, 1
mov edi, ebp
jmp 0x140048481
mov byte [rdx + 0xfc], 1
mov cl, 1
jmp 0x1400484f7
mov byte [rdx + 0xfc], 1
mov cl, 1
test bl, bl
mov ebx, r9d
jne 0x1400484f7
lea rbp, [rdx + 0xfc]
jmp 0x1400484cc
xorps xmm3, xmm3
xor ecx, ecx
mov ebx, r9d
subss xmm10, xmm3
ucomiss xmm2, xmm10
jbe 0x1400484b3
test edi, edi
jne 0x1400484b3
mov r9d, ebx
mov ebp, r14d
and ebp, 0x800
mov ebx, ebp
shr ebx, 0xb
mov byte [rdx + 0xfc], bl
xorps xmm3, xmm3
test ebp, ebp
jne 0x1400484bf
mov ebx, r9d
jmp 0x140048500
mov byte [rdx + 0xfc], 0
xorps xmm3, xmm3
jmp 0x140048500
test cl, cl
jne 0x1400484ec
lea rbp, [rdx + 0xfc]
xor edi, edi
subss xmm9, dword [r13 + 0x3a6c]
shufps xmm2, xmm2, 0x55
ucomiss xmm2, xmm9
seta bl
test edi, edi
sete cl
and cl, bl
mov byte [rax], cl
mov bl, byte [rbp]
test bl, bl
je 0x140048d17
mov ebx, r9d
movss xmm3, dword [r13 + 0x3a6c]
test cl, cl
mov rbp, qword [rsp + 0x88]
je 0x140048517
movss xmm2, dword [r13 + 0x3a6c]
jmp 0x14004851a
xorps xmm2, xmm2
movss dword [rdx + 0xf4], xmm2
movss dword [rdx + 0xf8], xmm3
addss xmm2, dword [rdx + 0xa8]
movss dword [rdx + 0xa8], xmm2
addss xmm1, xmm3
movss dword [rdx + 0xac], xmm1
lea rax, [rbp + 0x280]
cmp r8d, 0x3000000
lea rcx, [rsp + 0x150]
cmove rax, rcx
test sil, sil
cmove rax, rcx
movups xmm1, xmmword [rax]
movaps xmmword [rsp + 0x140], xmm1
movss xmm5, dword [rdx + 0x58]
movss xmm6, dword [rdx + 0x5c]
movsd xmm8, qword [rdx + 0x60]
movaps xmm2, xmm8
shufps xmm2, xmm8, 0x55
addss xmm2, xmm6
movaps xmm4, xmm5
addss xmm4, xmm8
movss xmm3, dword [rdx + 0x98]
addss xmm3, xmm6
addss xmm0, xmm5
mov rax, qword [rdx + 0x58]
mov qword [rsp + 0xc0], rax
movss dword [rsp + 0xc8], xmm0
movss dword [rsp + 0xcc], xmm3
movss dword [rdx + 0x230], xmm5
movss dword [rdx + 0x234], xmm6
movss dword [rdx + 0x238], xmm4
movss dword [rdx + 0x23c], xmm2
test byte [rdx + 0x445], 1
movq xmm9, rax
je 0x1400485fe
movss dword [rdx + 0x234], xmm3
movaps xmm6, xmm3
lea rcx, [r13 + 0x3a40]
lea rax, [rdx + 0x94]
test r14b, 1
cmove rax, rcx
test r14d, 0x400
movsd xmm3, qword [rsp + 0x140]
movaps xmm0, xmm3
movaps xmm1, xmm3
cmpless xmm1, xmm5
andps xmm5, xmm1
andnps xmm1, xmm3
movlhps xmm3, xmm3
shufps xmm0, xmm0, 0x55
movaps xmm7, xmm0
cmpless xmm7, xmm6
andps xmm6, xmm7
andnps xmm7, xmm0
orps xmm7, xmm6
orps xmm1, xmm5
movss dword [rdx + 0x230], xmm1
movss dword [rdx + 0x234], xmm7
movsd xmm0, qword [rsp + 0x148]
movaps xmm5, xmm0
movlhps xmm5, xmm0
minss xmm4, xmm0
shufps xmm0, xmm0, 0x55
minss xmm2, xmm0
movss dword [rdx + 0x238], xmm4
movss dword [rdx + 0x23c], xmm2
movaps xmm0, xmm8
addps xmm0, xmm9
movups xmm1, xmmword [rdx + 0xa0]
movaps xmm2, xmm9
movlhps xmm2, xmm0
addps xmm9, xmm1
subps xmm2, xmm1
shufps xmm9, xmm2, 0xe4
movups xmmword [rdx + 0x240], xmm9
cmovne rax, rcx
movaps xmm0, xmmword [0x1400dabc0]
addps xmm0, xmm9
movss xmm1, dword [rax]
movss xmm4, dword [rdx + 0x94]
movaps xmm6, xmm4
unpcklps xmm6, xmm1
shufps xmm4, xmm4, 0
addps xmm6, xmm0
subps xmm0, xmm4
movsd xmm0, xmm6
xorps xmm1, xmm1
cmpnleps xmm1, xmm0
cvttps2dq xmm4, xmm0
cvtdq2ps xmm6, xmm4
cmpneqps xmm6, xmm0
andps xmm6, xmm1
paddd xmm6, xmm4
cvtdq2ps xmm0, xmm6
minps xmm5, xmm0
cmpltps xmm0, xmm3
andps xmm3, xmm0
andnps xmm0, xmm5
orps xmm0, xmm3
movups xmmword [rdx + 0x250], xmm0
xorps xmm0, xmm0
ucomiss xmm8, xmm0
jbe 0x140048743
mov eax, r14d
and eax, 0x2000000
jne 0x140048743
mov eax, r14d
and eax, 0x40
jne 0x140048743
mov ebp, esi
movss xmm3, dword [0x1400dabd0]
mulss xmm3, xmm8
jmp 0x140048756
mov ebp, esi
movss xmm3, dword [r13 + 0x3ea0]
mulss xmm3, dword [0x1400dabd4]
cvttps2dq xmm0, xmm3
cvtdq2ps xmm0, xmm0
movss dword [rdx + 0x2b4], xmm0
movss xmm0, dword [rdx + 0x88]
movss xmm1, dword [rdx + 0x8c]
addss xmm0, xmm0
addss xmm0, dword [rdx + 0x70]
movaps xmm3, xmm2
unpckhpd xmm3, xmm2
subss xmm3, xmm9
subss xmm0, xmm3
xorps xmm6, xmm6
movaps xmm3, xmm0
cmpless xmm3, xmm6
andnps xmm3, xmm0
movss dword [rdx + 0xd4], xmm3
addss xmm1, xmm1
addss xmm1, dword [rdx + 0x74]
shufps xmm9, xmm9, 0x55
shufps xmm2, xmm2, 0xff
subss xmm2, xmm9
subss xmm1, xmm2
movaps xmm0, xmm1
cmpless xmm0, xmm6
andnps xmm0, xmm1
movss dword [rdx + 0xd8], xmm0
lea rcx, [rsp + 0x60]
call fcn.1400525b0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0xcc], rcx
mov qword [rax + 0xdc], r12
mov qword [rax + 0xb0], 0
mov rcx, qword [rax + 0x2e8]
mov rax, qword [r13 + 0x3e98]
mov rax, qword [rax + 0x40]
mov rdx, qword [rax + 8]
call fcn.14006c260
lea r8, [rsp + 0x148]
mov rax, qword [0x140114180]
mov rcx, qword [rax + 0x4180]
mov byte [rcx + 0x101], 1
mov rsi, qword [rax + 0x4180]
mov rcx, qword [rsi + 0x2e8]
lea rdx, [rsp + 0x140]
xor r9d, r9d
call fcn.14006c040
mov rax, qword [rsi + 0x2e8]
mov rcx, qword [rax + 0xa0]
movsxd rax, dword [rax + 0x98]
shl rax, 4
movups xmm0, xmmword [rax + rcx - 0x10]
movups xmmword [rsi + 0x280], xmm0
mov rdi, qword [rsp + 0x50]
mov r12b, byte [rdi + 0x445]
mov eax, r12d
and al, 5
cmp al, 1
je 0x14004988a
xor esi, esi
test bpl, bpl
je 0x14004895b
cmp dword [rsp + 0x4c], 0x3000000
je 0x14004895b
mov rcx, qword [rsp + 0x88]
mov eax, dword [rcx + 0x1d8]
cmp eax, 2
jl 0x14004891b
add eax, 0xfffffffe
mov rcx, qword [rcx + 0x1e0]
mov rcx, qword [rcx + rax*8]
test rcx, rcx
je 0x14004891b
movss xmm0, dword [rcx + 0x5c]
movss xmm2, dword [rcx + 0x64]
addss xmm2, xmm0
movss xmm1, dword [rdi + 0x5c]
xor eax, eax
ucomiss xmm2, xmm1
jbe 0x14004891d
addss xmm1, dword [rdi + 0x64]
ucomiss xmm1, xmm0
jbe 0x14004891d
movss xmm0, dword [rcx + 0x58]
movss xmm2, dword [rcx + 0x60]
addss xmm2, xmm0
movss xmm1, dword [rdi + 0x58]
ucomiss xmm2, xmm1
jbe 0x14004891d
addss xmm1, dword [rdi + 0x60]
ucomiss xmm1, xmm0
seta al
jmp 0x14004891d
xor eax, eax
mov rcx, qword [rdi + 0x2e8]
mov rdx, qword [rcx + 8]
movsxd rcx, dword [rcx]
imul rcx, rcx, 0x38
xor esi, esi
cmp dword [rcx + rdx - 0x18], 0
jne 0x14004895b
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + 0x2e8]
cmp dword [rcx + 0x20], 0
je 0x14004895b
test al, al
jne 0x14004895b
mov qword [rdi + 0x2e8], rcx
mov sil, 1
mov rax, qword [r13 + 0x4f28]
test rax, rax
jne 0x14004896e
mov rax, qword [r13 + 0x4d48]
mov dl, 1
test bl, bl
jne 0x1400489a3
test rax, rax
je 0x1400489a1
mov rcx, qword [rdi + 0x3e0]
cmp rcx, qword [rax + 0x3e0]
je 0x1400489a3
mov rcx, qword [rdi + 0x468]
test rcx, rcx
je 0x1400489a1
cmp rcx, qword [rax + 0x468]
sete dl
jmp 0x1400489a3
xor edx, edx
mov r13, qword [0x140114180]
mov ebp, dword [rdi + 0x14]
mov byte [rdi + 0x104], 0
movss xmm13, dword [rdi + 0x90]
movss xmm14, dword [rdi + 0x94]
cmp byte [rdi + 0x102], 0
je 0x140048b37
movss xmm8, dword [r13 + 0x3a40]
movss dword [r13 + 0x3a40], xmm14
mov eax, 0xc
test dl, dl
je 0x1400489ff
cmp byte [r13 + 0x4da2], 1
mov eax, 0xc
sbb rax, 0
shl rax, 4
movss xmm6, dword [r13 + rax + 0x3ae8]
movss xmm7, dword [r13 + rax + 0x3aec]
movss xmm0, dword [r13 + rax + 0x3af4]
mulss xmm0, dword [r13 + 0x39f8]
movss xmm5, dword [r13 + rax + 0x3af0]
movss xmm3, dword [0x1400d9774]
movaps xmm1, xmm3
minss xmm1, xmm6
movss xmm9, dword [0x1400d6030]
mulss xmm1, xmm9
movss xmm2, dword [0x1400d9768]
addss xmm1, xmm2
xorps xmm10, xmm10
cmpltss xmm6, xmm10
movaps xmm4, xmm6
andnps xmm4, xmm1
andps xmm6, xmm2
orps xmm6, xmm4
cvttss2si ecx, xmm6
movaps xmm1, xmm3
minss xmm1, xmm7
mulss xmm1, xmm9
addss xmm1, xmm2
cmpltss xmm7, xmm10
movaps xmm4, xmm7
andnps xmm4, xmm1
andps xmm7, xmm2
orps xmm7, xmm4
cvttss2si eax, xmm7
shl eax, 8
or eax, ecx
movaps xmm1, xmm3
minss xmm1, xmm5
mulss xmm1, xmm9
addss xmm1, xmm2
cmpltss xmm5, xmm10
movaps xmm4, xmm5
andnps xmm4, xmm1
andps xmm5, xmm2
orps xmm5, xmm4
cvttss2si ecx, xmm5
shl ecx, 0x10
minss xmm3, xmm0
mulss xmm3, xmm9
addss xmm3, xmm2
cmpltss xmm0, xmm10
movaps xmm1, xmm0
andnps xmm1, xmm3
andps xmm0, xmm2
orps xmm0, xmm1
cvttss2si edx, xmm0
or ecx, eax
shl edx, 0x18
cmp byte [rdi + 0xfe], 0
mov r8d, 0xff000000
cmove r8d, edx
or r8d, ecx
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
movss dword [rsp + 0x20], xmm13
mov r9b, 1
call fcn.140033c30
movss dword [r13 + 0x3a40], xmm8
xorps xmm6, xmm6
jmp 0x14004986a
test bpl, bpl
mov dword [rsp + 0x4c], ebp
mov dword [rsp + 0x7c], esi
js 0x140048e76
cmp byte [r13 + 0x4f64], 0
mov dword [rsp + 0x74], edx
je 0x140048b95
mov eax, dword [r13 + 0x40c8]
sub eax, dword [r13 + 0x4fec]
cmp eax, 1
jg 0x140048b95
cmp byte [r13 + 0x5b], 0
je 0x140048b95
xor eax, eax
mov ecx, 4
test ebp, 0x6000000
jne 0x140048bb9
mov ecx, ebp
shr ecx, 0x18
test r12b, 1
sete dl
and dl, cl
movzx ecx, dl
or rcx, 2
shl rcx, 4
movss xmm5, dword [r13 + rcx + 0x3ae8]
movss xmm4, dword [r13 + rcx + 0x3aec]
movss xmm0, dword [0x1400d9774]
movaps xmm6, xmm0
minss xmm6, xmm5
movss xmm2, dword [0x1400d6030]
mulss xmm6, xmm2
movss xmm1, dword [0x1400d9768]
addss xmm6, xmm1
xorps xmm3, xmm3
cmpltss xmm5, xmm3
movaps xmm7, xmm5
andnps xmm7, xmm6
andps xmm5, xmm1
orps xmm5, xmm7
cvttss2si edx, xmm5
movaps xmm5, xmm0
minss xmm5, xmm4
mulss xmm5, xmm2
addss xmm5, xmm1
cmpltss xmm4, xmm3
movaps xmm6, xmm4
andnps xmm6, xmm5
andps xmm4, xmm1
orps xmm4, xmm6
cvttss2si ebx, xmm4
movss xmm4, dword [r13 + rcx + 0x3af0]
shl ebx, 8
or ebx, edx
movaps xmm5, xmm0
minss xmm5, xmm4
mulss xmm5, xmm2
addss xmm5, xmm1
cmpltss xmm4, xmm3
movaps xmm6, xmm4
andnps xmm6, xmm5
andps xmm4, xmm1
orps xmm4, xmm6
cvttss2si ebp, xmm4
shl ebp, 0x10
or ebp, ebx
cmp byte [rdi + 0xfe], 0
je 0x140048ce0
xorps xmm3, xmm3
mov ebx, r9d
jmp 0x140048500
movaps xmmword [rsp + 0x170], xmm12
movaps xmmword [rsp + 0x130], xmm11
test r12b, 1
je 0x140048e9c
mov rax, qword [rdi + 0x468]
or byte [rax + 0xcc], 4
mov ebp, dword [rsp + 0x4c]
test bpl, 1
jne 0x140048fef
test byte [rdi + 0x445], 1
jne 0x140048fef
mov byte [rsp + 0x74], r15b
test ebp, 0x400
je 0x140049310
mov rdi, qword [rsp + 0x50]
test sil, sil
mov r13, qword [rsp + 0x128]
je 0x14004988a
lea rax, [rdi + 0x2f0]
mov qword [rdi + 0x2e8], rax
movss xmm13, dword [rdi + 0x80]
ucomiss xmm13, xmm6
movaps xmm5, xmm13
jne 0x1400498f0
jp 0x1400498f0
mov eax, r14d
movss xmm1, dword [rdi + 0x60]
movss xmm2, dword [rdi + 0x88]
addss xmm2, xmm2
subss xmm1, xmm2
movss xmm2, dword [rdi + 0xa0]
addss xmm2, dword [rdi + 0xa8]
and eax, 0x808
subss xmm1, xmm2
xorps xmm2, xmm2
cmp eax, 0x800
jne 0x1400498df
movss xmm2, dword [rdi + 0x70]
movaps xmm5, xmm1
cmpless xmm5, xmm2
andps xmm2, xmm5
andnps xmm5, xmm1
orps xmm5, xmm2
movss xmm15, dword [rdi + 0x84]
xorps xmm2, xmm2
ucomiss xmm15, xmm2
jne 0x140049904
jnp 0x14004991c
movss xmm11, dword [rdi + 0x8c]
movss xmm9, dword [rdi + 0xa4]
movaps xmm1, xmm15
jmp 0x14004996d
movss xmm4, dword [rdi + 0x64]
movss xmm11, dword [rdi + 0x8c]
movaps xmm1, xmm11
addss xmm1, xmm11
subss xmm4, xmm1
movss xmm9, dword [rdi + 0xa4]
movss xmm1, dword [rdi + 0xac]
addss xmm1, xmm9
subss xmm4, xmm1
test r14b, 8
jne 0x14004995c
movss xmm2, dword [rdi + 0x74]
movaps xmm1, xmm4
cmpless xmm1, xmm2
andps xmm2, xmm1
andnps xmm1, xmm4
orps xmm1, xmm2
xorps xmm8, xmm8
ucomiss xmm13, xmm8
movss xmm2, dword [rdi + 0x240]
movss xmm14, dword [rdi + 0xcc]
subss xmm2, xmm14
movss xmm0, dword [rdi + 0x94]
movss xmm7, dword [rdi + 0x88]
movaps xmm6, xmm0
cmpless xmm6, xmm7
movaps xmm4, xmm6
andps xmm4, xmm7
andnps xmm6, xmm0
orps xmm6, xmm4
addss xmm6, xmm2
cvttps2dq xmm2, xmm6
cvtdq2ps xmm2, xmm2
movss dword [rdi + 0x260], xmm2
movss xmm4, dword [rdi + 0x244]
movss xmm12, dword [rdi + 0xd0]
subss xmm4, xmm12
movaps xmm6, xmm0
cmpless xmm6, xmm11
movaps xmm3, xmm6
andps xmm3, xmm11
andnps xmm6, xmm0
orps xmm6, xmm3
addss xmm6, xmm4
cvttps2dq xmm0, xmm6
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x264], xmm0
addss xmm5, xmm2
movss dword [rdi + 0x268], xmm5
addss xmm1, xmm0
movss dword [rdi + 0x26c], xmm1
movups xmm0, xmmword [rdi + 0x260]
movups xmmword [rdi + 0x270], xmm0
movss xmm6, dword [rdi + 0x58]
movss xmm10, dword [rdi + 0x5c]
movaps xmm1, xmm6
subss xmm1, xmm14
addss xmm1, xmm7
movss xmm5, dword [rdi + 0xa0]
addss xmm1, xmm5
movss dword [rdi + 0x290], xmm1
movaps xmm2, xmm10
subss xmm2, xmm12
addss xmm2, xmm11
addss xmm2, xmm9
movss dword [rdi + 0x294], xmm2
jne 0x140049a94
jp 0x140049a94
movss xmm13, dword [rdi + 0x60]
movaps xmm0, xmm7
addss xmm0, xmm7
subss xmm13, xmm0
movss xmm0, dword [rdi + 0xa8]
addss xmm0, xmm5
subss xmm13, xmm0
ucomiss xmm15, xmm8
addss xmm1, xmm13
movss dword [rdi + 0x298], xmm1
jne 0x140049acf
jp 0x140049acf
movss xmm15, dword [rdi + 0x64]
movaps xmm0, xmm11
addss xmm0, xmm11
subss xmm15, xmm0
movss xmm0, dword [rdi + 0xac]
addss xmm0, xmm9
subss xmm15, xmm0
addss xmm2, xmm15
movss dword [rdi + 0x29c], xmm2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
addss xmm7, xmm5
subss xmm7, xmm14
movss dword [rdi + 0x18c], xmm7
mov qword [rdi + 0x190], 0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm14
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm5
addsd xmm0, xmm1
xorpd xmm1, xmm1
xorps xmm2, xmm2
cvtss2sd xmm2, xmm10
xorps xmm3, xmm3
cvtss2sd xmm3, xmm11
addsd xmm3, xmm2
xorps xmm2, xmm2
cvtss2sd xmm2, xmm12
subsd xmm3, xmm2
xorps xmm2, xmm2
cvtss2sd xmm2, xmm9
addsd xmm2, xmm3
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm2
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [rdi + 0x158], xmm0
xorps xmm4, xmm4
cvtss2sd xmm4, xmm3
subsd xmm2, xmm4
cvtsd2ss xmm2, xmm2
cvtss2sd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [rdi + 0x15c], xmm3
movss dword [rdi + 0x198], xmm0
movss dword [rdi + 0x19c], xmm2
mov rax, qword [rdi + 0x158]
mov qword [rdi + 0x148], rax
mov qword [rdi + 0x150], rax
mov qword [rdi + 0x160], rax
mov qword [rdi + 0x168], rax
mov dword [rdi + 0x1a0], 0
xorps xmm0, xmm0
movups xmmword [rdi + 0x170], xmm0
movups xmmword [rdi + 0x17a], xmm0
movzx eax, word [rdi + 0x1a6]
mov word [rdi + 0x1a4], ax
mov word [rdi + 0x1a6], 0
mov word [rdi + 0x1a8], 1
movss xmm0, dword [rdi + 0xd8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
seta byte [rdi + 0x1aa]
mov byte [rdi + 0x1ab], 0
add rdi, 0x1b4
movss xmm1, dword [r13 + 0x3a44]
mov rcx, rdi
mov r8b, byte [rsp + 0x94]
call fcn.14008ee20
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x1d0], 0
add rcx, 0x1d8
xor edx, edx
call fcn.14004d460
mov rcx, qword [rsp + 0x50]
lea rax, [rcx + 0x2b8]
mov qword [rcx + 0x1e8], rax
mov qword [rcx + 0x1f0], 0
mov dword [rcx + 0x1fc], 1
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x140049c96
mov eax, dword [rax + 0x1fc]
jmp 0x140049c9b
mov eax, 1
mov dword [rcx + 0x200], eax
movss xmm0, dword [rcx + 0x2b4]
movss dword [rcx + 0x208], xmm0
mov dword [rcx + 0x20c], 0xbf800000
add rcx, 0x210
xor edx, edx
call fcn.140043cf0
mov ecx, 0x220
add rcx, qword [rsp + 0x50]
xor edx, edx
call fcn.140043cf0
test r14d, 0x8000000
jne 0x140049ced
mov rcx, qword [rsp + 0x50]
jmp 0x140049dd6
mov rax, qword [0x140114180]
movss xmm5, dword [rax + 0x3e68]
movss xmm4, dword [rax + 0x3e6c]
movss xmm0, dword [0x1400d9774]
movaps xmm6, xmm0
minss xmm6, xmm5
movss xmm2, dword [0x1400d6030]
mulss xmm6, xmm2
movss xmm1, dword [0x1400d9768]
addss xmm6, xmm1
xorps xmm3, xmm3
cmpltss xmm5, xmm3
movaps xmm7, xmm5
andnps xmm7, xmm6
andps xmm5, xmm1
orps xmm5, xmm7
cvttss2si edx, xmm5
movaps xmm5, xmm0
minss xmm5, xmm4
mulss xmm5, xmm2
addss xmm5, xmm1
cmpltss xmm4, xmm3
movaps xmm6, xmm4
andnps xmm6, xmm5
andps xmm4, xmm1
orps xmm4, xmm6
cvttss2si ecx, xmm4
shl ecx, 8
or ecx, edx
movss xmm4, dword [rax + 0x3e70]
movaps xmm5, xmm0
minss xmm5, xmm4
mulss xmm5, xmm2
addss xmm5, xmm1
cmpltss xmm4, xmm3
movaps xmm6, xmm4
andnps xmm6, xmm5
andps xmm4, xmm1
orps xmm4, xmm6
cvttss2si edx, xmm4
shl edx, 0x10
movss xmm4, dword [rax + 0x3e74]
minss xmm0, xmm4
mulss xmm0, xmm2
addss xmm0, xmm1
cmpltss xmm4, xmm3
movaps xmm2, xmm4
andnps xmm2, xmm0
andps xmm4, xmm1
orps xmm4, xmm2
cvttss2si eax, xmm4
shl eax, 0x18
or eax, edx
or eax, ecx
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x204], eax
mov al, byte [rcx + 0x118]
test al, al
jle 0x140049de8
mov qword [rdi + 0x40], rbp
jmp 0x140046c7e
cmp byte [rdi + 0x100], 0
je 0x140048219
mov rbp, qword [0x140114180]
movss xmm0, dword [rbp + 0x3ea0]
movss xmm1, dword [0x1400dab90]
mulss xmm1, xmm0
addss xmm1, xmm11
mulss xmm0, dword [0x1400dab98]
movaps xmm2, xmm1
cmpless xmm2, xmm0
movaps xmm3, xmm2
andnps xmm3, xmm1
andps xmm2, xmm0
orps xmm2, xmm3
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
xor eax, eax
cmp dword [rsp + 0x84], 0
sete al
mulss xmm0, dword [0x1400dab9c]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm1, xmm0
xor ecx, ecx
cmp byte [rbp + 0x66], 0
sete cl
movd xmm7, ecx
pinsrw xmm7, eax, 2
pslld xmm7, 0x1f
psrad xmm7, 0x1f
movaps xmm0, xmmword [0x1400daba0]
unpcklps xmm0, xmm1
movss xmm1, dword [rsp + 0x184]
cmp byte [rbp + 0x67], 0
setne al
test dl, 1
sete cl
and cl, al
mov byte [rsp + 0x83], cl
cmp cl, 1
jne 0x14004a92d
subss xmm1, dword [rdi + 0x98]
movaps xmmword [rsp + 0x1c0], xmm1
mov bl, byte [rsp + 0xe0]
mov dword [rsp + 0x19c], edx
pandn xmm7, xmm0
movss xmm0, dword [rsp + 0x180]
movaps xmmword [rsp + 0x1d0], xmm0
movsd xmm0, qword [rsp + 0x188]
movaps xmmword [rsp + 0x240], xmm0
mov qword [rsp + 0xc0], r12
test byte [rbp + 0xd], 8
je 0x14004a98c
mov eax, dword [rbp + 0x11c]
cmp eax, dword [rdi + 0x48]
jne 0x14004a98c
mov rax, qword [rdi + 0x40]
test byte [rax + 4], 8
jne 0x14004a9cc
mov rax, qword [rdi + 0x40]
movss xmm0, dword [rax + 8]
movss xmm1, dword [rax + 0xc]
movss xmm2, dword [rax + 0x14]
addss xmm2, xmm1
movss xmm3, dword [rax + 0x10]
addss xmm3, xmm0
movss dword [rdi + 0x280], xmm0
movss dword [rdi + 0x284], xmm1
movss dword [rdi + 0x288], xmm3
movss dword [rdi + 0x28c], xmm2
movaps xmmword [rsp + 0x170], xmm12
movaps xmmword [rsp + 0x130], xmm11
mov byte [rsp + 0x74], r15b
mov dword [rdi + 0x1a0], 1
lea rcx, str.RESIZE
call fcn.140054970
movdqa xmm1, xmm7
shufps xmm1, xmm7, 0x55
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x108], rax
mov eax, dword [rsp + 0x84]
test eax, eax
mov qword [rsp + 0x120], rbp
movaps xmmword [rsp + 0x1a0], xmm1
mov dword [rsp + 0xd4], esi
je 0x14004b042
pshufd xmm6, xmm7, 0x50
mov cl, byte [rsp + 0x83]
xor cl, 1
mov byte [rsp + 0xa3], cl
movaps xmm0, xmmword [0x1400d8ea0]
xorps xmm0, xmm1
movaps xmmword [rsp + 0x1b0], xmm0
mov eax, eax
mov qword [rsp + 0x110], rax
movaps xmm0, xmmword [0x1400dab40]
xor r15d, r15d
lea rax, [0x1400da528]
movss xmm13, dword [0x1400d9774]
movss xmm12, dword [0x1400d6030]
movss xmm15, dword [0x1400d9768]
mov dword [rsp + 0xd0], 0
movaps xmmword [rsp + 0x160], xmm0
jmp 0x14004abdd
cmp cl, 1
mov ecx, 0x1f
sbb rcx, 0
test al, al
mov rax, qword [0x140114180]
mov edx, 0x20
cmovne rcx, rdx
shl rcx, 4
movss xmm3, dword [rax + rcx + 0x3ae8]
movss xmm2, dword [rax + rcx + 0x3aec]
movss xmm0, dword [rax + rcx + 0x3af4]
mulss xmm0, dword [rax + 0x39f8]
movss xmm1, dword [rax + rcx + 0x3af0]
movaps xmm4, xmm13
minss xmm4, xmm3
mulss xmm4, xmm12
addss xmm4, xmm15
movaps xmm7, xmm6
xorps xmm6, xmm6
cmpltss xmm3, xmm6
movaps xmm5, xmm3
andnps xmm5, xmm4
andps xmm3, xmm15
orps xmm3, xmm5
cvttss2si ecx, xmm3
movaps xmm3, xmm13
minss xmm3, xmm2
mulss xmm3, xmm12
addss xmm3, xmm15
cmpltss xmm2, xmm6
movaps xmm4, xmm2
andnps xmm4, xmm3
andps xmm2, xmm15
orps xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 8
or eax, ecx
movaps xmm2, xmm13
minss xmm2, xmm1
mulss xmm2, xmm12
addss xmm2, xmm15
cmpltss xmm1, xmm6
movaps xmm3, xmm1
andnps xmm3, xmm2
andps xmm1, xmm15
orps xmm1, xmm3
cvttss2si ecx, xmm1
shl ecx, 0x10
movaps xmm1, xmm13
minss xmm1, xmm0
mulss xmm1, xmm12
addss xmm1, xmm15
cmpltss xmm0, xmm6
movaps xmm6, xmm7
movaps xmm2, xmm0
andnps xmm2, xmm1
andps xmm0, xmm15
orps xmm0, xmm2
cvttss2si edx, xmm0
or ecx, eax
shl edx, 0x18
or edx, ecx
mov dword [rsp + r15*4 + 0x1e0], edx
add r15, 1
mov rax, qword [rsp + 0xd8]
add rax, 0x18
cmp qword [rsp + 0x110], r15
mov edx, dword [rsp + 0x78]
je 0x14004b065
movsd xmm1, qword [rdi + 0x58]
movsd xmm0, qword [rdi + 0x60]
addps xmm0, xmm1
movsd xmm8, qword [rax - 8]
subps xmm0, xmm1
mulps xmm0, xmm8
addps xmm0, xmm1
movlhps xmm0, xmm0
movsd xmm11, qword [rax]
movaps xmm14, xmm11
movlhps xmm14, xmm11
mulps xmm14, xmm6
movaps xmm1, xmm0
subps xmm1, xmm14
addps xmm0, xmm14
movaps xmm2, xmm0
movsd xmm2, xmm1
movapd xmmword [rsp + 0x60], xmm2
movaps xmm2, xmm0
unpckhpd xmm2, xmm0
ucomiss xmm1, xmm2
jbe 0x14004ac3e
movss dword [rsp + 0x60], xmm2
movss dword [rsp + 0x68], xmm1
mov qword [rsp + 0xd8], rax
mov r12d, ebx
shufps xmm1, xmm1, 0x55
shufps xmm0, xmm0, 0xff
ucomiss xmm1, xmm0
jbe 0x14004ac62
movss dword [rsp + 0x64], xmm0
movss dword [rsp + 0x6c], xmm1
mov eax, r15d
shr eax, 8
mov ecx, r15d
shr ecx, 0x10
mov rdx, qword [rdi + 0x140]
movsxd rbx, dword [rdi + 0x138]
mov ebx, dword [rdx + rbx*4 - 4]
not ebx
mov ebp, ebx
shr ebp, 8
xor ebx, r15d
mov esi, r15d
movzx ebx, bl
lea r8, [0x1400d97e0]
xor ebp, dword [r8 + rbx*4]
shr esi, 0x18
mov edx, ebp
shr edx, 8
xor ebp, eax
movzx eax, bpl
xor edx, dword [r8 + rax*4]
mov ebx, edx
shr ebx, 8
xor edx, ecx
movzx eax, dl
xor ebx, dword [r8 + rax*4]
movzx eax, bl
shr ebx, 8
xor eax, esi
xor ebx, dword [r8 + rax*4]
mov rax, qword [rdi]
not ebx
cmp dword [rax + 0x41d4], ebx
jne 0x14004ace6
mov ecx, ebx
mov edx, 4
mov r8, r15
xor r9d, r9d
call fcn.140054480
lea rsi, [rsp + 0x60]
mov rcx, rsi
mov edx, ebx
xor r8d, r8d
mov r9d, 8
call fcn.14004fef0
mov dword [rsp + 0x20], 0x40800
mov rcx, rsi
mov edx, ebx
lea r8, [rsp + 0xb8]
lea r9, [rsp + 0x98]
call fcn.140086100
movzx eax, byte [rsp + 0x98]
movzx ecx, byte [rsp + 0xb8]
or cl, al
mov rbp, qword [rsp + 0x120]
je 0x14004ad4f
mov ecx, r15d
and ecx, 1
mov edx, 6
sub edx, ecx
mov dword [rbp + 0x5100], edx
test al, al
mov r8d, dword [rsp + 0x4c]
mov ebx, r12d
mov esi, dword [rsp + 0xd4]
je 0x14004adbb
cmp byte [rbp + 0x2b2d], 0
movabs r12, 0x7f7fffff7f7fffff
je 0x14004adca
lea rcx, [rsp + 0xa8]
mov rdx, rdi
lea r8, [rsp + 0x118]
call fcn.140050fa0
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x108], rax
xor ecx, ecx
xor edx, edx
call fcn.14003b310
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0xd0], 3
jmp 0x14004af77
movabs r12, 0x7f7fffff7f7fffff
jmp 0x14004af77
mov eax, r15d
and eax, 0x7ffffffe
cmp r15, 2
jb 0x14004adef
cmp eax, 2
setne cl
or cl, byte [rsp + 0xa3]
movss xmm1, dword [0x1400da9f0]
jne 0x14004adf7
movaps xmm1, xmmword [rsp + 0x1c0]
movaps xmm13, xmm6
mov rcx, r15
movaps xmm0, xmmword [rsp + 0x1d0]
sub rcx, 1
jb 0x14004ae14
movss xmm0, dword [0x1400da9f0]
unpcklps xmm0, xmm1
xor edx, edx
cmp eax, 2
sete dl
xor eax, eax
cmp rcx, 2
setb al
movd xmm12, eax
pinsrw xmm12, edx, 2
pslld xmm12, 0x1f
psrad xmm12, 0x1f
movdqa xmm2, xmmword [rsp + 0x240]
pand xmm2, xmm12
movdqa xmm1, xmm12
pandn xmm1, xmmword [0x1400dab40]
por xmm1, xmm2
movaps xmm2, xmm11
shufps xmm2, xmm11, 0x55
movaps xmm3, xmmword [rsp + 0x1b0]
mulss xmm2, xmm3
mulss xmm11, xmm3
movaps xmm3, xmm14
shufps xmm3, xmm14, 0x55
subss xmm2, xmm3
movaps xmm3, xmm8
shufps xmm3, xmm8, 0x55
mulss xmm3, xmm2
subss xmm11, xmm14
mulss xmm11, xmm8
movlhps xmm3, xmm14
shufps xmm3, xmm14, 0xe2
movss xmm14, xmm11
addps xmm14, xmm3
movsd xmm6, qword [rbp + 0x100]
movsd xmm2, qword [rbp + 0x4204]
subps xmm6, xmm2
addps xmm6, xmm14
minps xmm1, xmm6
cmpltps xmm6, xmm0
andps xmm0, xmm6
andnps xmm6, xmm1
orps xmm6, xmm0
movsd xmm7, qword [rdi + 0x58]
movsd xmm0, qword [rdi + 0x60]
addps xmm0, xmm7
subps xmm7, xmm6
mulps xmm7, xmm8
addps xmm7, xmm6
subps xmm6, xmm0
mulps xmm6, xmm8
addps xmm6, xmm0
subps xmm6, xmm7
movss dword [rsp + 0xa8], xmm6
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
movss dword [rsp + 0xac], xmm0
lea rcx, [rsp + 0x140]
mov rdx, rdi
lea r8, [rsp + 0xa8]
call fcn.140050fa0
movsd xmm0, qword [rsp + 0x140]
movlps qword [rsp + 0x108], xmm0
subps xmm0, xmm6
movaps xmm1, xmm7
subps xmm1, xmm0
andps xmm1, xmm12
andnps xmm12, xmm7
orps xmm12, xmm1
movaps xmmword [rsp + 0x160], xmm12
mov r8d, dword [rsp + 0x4c]
movaps xmm0, xmm13
movss xmm13, dword [0x1400d9774]
movaps xmm6, xmm0
movss xmm12, dword [0x1400d6030]
movzx eax, byte [rsp + 0x98]
movzx ecx, byte [rsp + 0xb8]
test r15, r15
je 0x14004aaad
test al, al
jne 0x14004aaad
test cl, cl
je 0x14004abbb
jmp 0x14004aaad
mov rax, qword [0x140114180]
mov rax, qword [rax + 0x4cd0]
mov rdx, qword [rax]
mov rcx, rdi
call fcn.14003d110
test al, al
jne 0x140047339
lea r9, [rdi + 0x60]
lea r8, [rdi + 0x58]
mov edx, dword [rdi + 0x10]
mov dword [rsp + 0x20], 0x20
mov rcx, rdi
call fcn.140052070
mov qword [rdi + 0x40], rax
jmp 0x140047339
movss xmm0, dword [rax + 0x100]
ucomiss xmm0, dword [0x1400daac0]
jb 0x140047c21
movss xmm0, dword [rax + 0x104]
ucomiss xmm0, dword [0x1400daac0]
jb 0x140047c21
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x140046ca7
cmp qword [rax + 0x60], rdi
jne 0x140046ca7
jmp 0x14004711f
mov dword [rsp + 0xd0], 0
movaps xmm0, xmmword [0x1400dab40]
movaps xmmword [rsp + 0x160], xmm0
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x78]
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xc0], rax
test byte [rdi + 0x17], 1
jne 0x14004b08b
xor eax, eax
cmp byte [rbp + 0x66], 0
mov ecx, select
cmove ecx, eax
jmp 0x14004b09a
mov ecx, dword [rdi + 0x1c]
mov eax, ecx
shr eax, 1
and eax, 2
and ecx, 8
or ecx, eax
mov dword [rsp + 0x108], ecx
movaps xmm6, xmmword [rsp + 0x1a0]
movaps xmm15, xmmword [rsp + 0x160]
lea rax, [rbp + 0x60a4]
mov qword [rsp + 0x1b0], rax
mov ebx, 0xffffffff
xor r15d, r15d
xorps xmm14, xmm14
movss xmm12, dword [0x1400daa3c]
movss xmm11, dword [0x1400dabb0]
movss xmm13, dword [0x1400daa38]
mov dword [rsp + 0x110], 0xffffffff
jmp 0x14004b131
cmp byte [rsp + 0xe8], 0
mov eax, dword [rsp + 0x110]
cmovne eax, r15d
mov dword [rsp + 0x110], eax
cmp byte [rsp + 0x5f], 0
cmovne ebx, r15d
add r15, 1
cmp r15, 4
je 0x14004b7ac
mov eax, dword [rsp + 0x108]
bt eax, r15d
jae 0x14004b123
cmp r15, 2
setae dl
cmp r15d, 3
mov dword [rsp + 0x160], edx
ja case.default.0x14004b17f
movss xmm2, dword [rdi + 0x58]
movss xmm1, dword [rdi + 0x5c]
movss xmm0, dword [rdi + 0x64]
addss xmm0, xmm1
movss xmm3, dword [rdi + 0x60]
addss xmm3, xmm2
mov eax, r15d
lea rcx, [0x14004bc70]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
subss xmm0, xmm6
movaps xmm3, xmm2
addss xmm3, xmm12
addss xmm1, xmm6
addss xmm2, xmm13
jmp 0x14004b1e7
movaps xmmword [rsp + 0x60], xmm14
jmp 0x14004b22e
subss xmm0, xmm6
movaps xmm2, xmm3
addss xmm2, xmm12
addss xmm1, xmm6
addss xmm3, xmm13
movss dword [rsp + 0x60], xmm3
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x68], xmm2
movss dword [rsp + 0x6c], xmm0
jmp 0x14004b22e
movaps xmm0, xmm1
addss xmm0, xmm12
subss xmm3, xmm6
addss xmm1, xmm13
addss xmm2, xmm6
movss dword [rsp + 0x60], xmm2
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x68], xmm3
movss dword [rsp + 0x6c], xmm0
jmp 0x14004b22e
movaps xmm1, xmm0
addss xmm1, xmm12
subss xmm3, xmm6
addss xmm0, xmm13
addss xmm2, xmm6
movss dword [rsp + 0x60], xmm2
movss dword [rsp + 0x64], xmm0
movss dword [rsp + 0x68], xmm3
movss dword [rsp + 0x6c], xmm1
mov dword [rsp + 0xd8], ebx
lea r8, [r15 + 4]
mov eax, r8d
shr eax, 8
mov ecx, r8d
shr ecx, 0x10
mov rdx, qword [rdi + 0x140]
movsxd rbx, dword [rdi + 0x138]
mov ebx, dword [rdx + rbx*4 - 4]
not ebx
mov ebp, ebx
shr ebp, 8
xor ebx, r8d
mov esi, r8d
movzx ebx, bl
lea r9, [0x1400d97e0]
xor ebp, dword [r9 + rbx*4]
shr esi, 0x18
mov edx, ebp
shr edx, 8
xor ebp, eax
movzx eax, bpl
xor edx, dword [r9 + rax*4]
mov ebx, edx
shr ebx, 8
xor edx, ecx
movzx eax, dl
xor ebx, dword [r9 + rax*4]
movzx eax, bl
shr ebx, 8
xor eax, esi
xor ebx, dword [r9 + rax*4]
mov rax, qword [rdi]
not ebx
cmp dword [rax + 0x41d4], ebx
jne 0x14004b2ba
mov ecx, ebx
mov edx, 4
xor r9d, r9d
call fcn.140054480
lea rsi, [rsp + 0x60]
mov rcx, rsi
mov edx, ebx
xor r8d, r8d
mov r9d, 8
call fcn.14004fef0
mov dword [rsp + 0x20], 0x40800
mov rcx, rsi
mov edx, ebx
lea r8, [rsp + 0xe8]
lea r9, [rsp + 0x5f]
call fcn.140086100
cmp byte [rsp + 0xe8], 0
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x78]
mov esi, dword [rsp + 0xd4]
movabs r12, 0x7f7fffff7f7fffff
mov rbp, qword [rsp + 0x120]
mov ebx, dword [rsp + 0xd8]
je 0x14004b354
ucomiss xmm11, dword [rbp + 0x41e0]
jae 0x14004b34c
cmp r15, 2
mov eax, 3
adc eax, 0
cmp byte [rsp + 0x5f], 0
mov dword [rbp + 0x5100], eax
jne 0x14004b371
jmp 0x14004b100
mov byte [rsp + 0xe8], 0
cmp byte [rsp + 0x5f], 0
je 0x14004b100
cmp r15, 2
mov eax, 3
adc eax, 0
mov dword [rbp + 0x5100], eax
cmp byte [rbp + 0x2b2d], 0
je 0x14004b3f7
mov eax, r15d
and eax, 0x7ffffffd
cmp eax, 1
jne 0x14004b3d9
lea rcx, [rsp + 0xa8]
mov rdx, rdi
lea r8, [rsp + 0x118]
call fcn.140050fa0
mov ecx, dword [rsp + 0x160]
movzx eax, cl
movss xmm0, dword [rsp + rax*4 + 0xa8]
movss dword [rsp + rax*4 + 0xc0], xmm0
mov eax, dword [rsp + 0xd0]
bts eax, ecx
mov dword [rsp + 0xd0], eax
mov byte [rsp + 0x5f], 0
mov byte [rsp + 0xe8], 0
xor ecx, ecx
xor edx, edx
call fcn.14003b310
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x78]
mov ebx, dword [rsp + 0xd8]
jmp 0x14004b100
mov rax, qword [rbp + 0x41a8]
test rax, rax
je 0x14004b448
mov ecx, dword [rbp + 0x41bc]
cmp ecx, dword [rbp + 0x40c8]
jne 0x14004b448
mov rdx, rdi
mov rcx, rdx
mov rdx, qword [rdx + 0x3c8]
mov rdx, qword [rdx + 0x3d8]
cmp rcx, rdx
jne 0x14004b414
cmp byte [rbp + 0x41f8], 0
je 0x14004b468
movaps xmm0, xmmword [rsp + 0x60]
mov rax, qword [rsp + 0x1b0]
movups xmmword [rax], xmm0
mov byte [rbp + 0x60b4], 0
test byte [rdi + 0x17], 1
je 0x14004b492
mov rax, qword [0x140114180]
mov rcx, qword [rax + 0x4180]
add dword [rcx + 0x138], 0xffffffff
mov dword [rdi + 0x1a0], 0
mov rcx, qword [rbp + 0x4f28]
test rcx, rcx
mov r15b, byte [rsp + 0x74]
je 0x14004b7e9
cmp qword [rcx + 0x3d8], rdi
je 0x14004b989
movss xmm0, dword [rdi + 0x68]
movss xmm2, dword [rsp + 0xc0]
ucomiss xmm2, dword [0x1400da9c0]
movaps xmm8, xmm0
jne 0x14004b806
jnp 0x14004b82b
movss xmm1, dword [rdi + 0x60]
ucomiss xmm1, xmm2
jne 0x14004b81d
jp 0x14004b81d
ucomiss xmm0, xmm2
movaps xmm8, xmm0
jne 0x14004b81d
jnp 0x14004b82b
movss dword [rdi + 0x68], xmm2
movss dword [rdi + 0x60], xmm2
movaps xmm8, xmm2
movss xmm2, dword [rdi + 0x6c]
movss xmm4, dword [rsp + 0xc4]
ucomiss xmm4, dword [0x1400da9c0]
movaps xmm3, xmm2
jne 0x14004b847
jnp 0x14004b86a
movss xmm1, dword [rdi + 0x64]
ucomiss xmm1, xmm4
jne 0x14004b85d
jp 0x14004b85d
ucomiss xmm2, xmm4
movaps xmm3, xmm2
jne 0x14004b85d
jnp 0x14004b86a
movss dword [rdi + 0x6c], xmm4
movss dword [rdi + 0x64], xmm4
movaps xmm3, xmm4
movss xmm4, dword [rdi + 0x58]
ucomiss xmm15, dword [0x1400da9c0]
movaps xmm5, xmm4
jne 0x14004b87e
jnp 0x14004b898
cvttps2dq xmm1, xmm15
cvtdq2ps xmm6, xmm1
ucomiss xmm4, xmm6
movaps xmm5, xmm4
jne 0x14004b890
jnp 0x14004b898
movss dword [rdi + 0x58], xmm6
movaps xmm5, xmm6
movss xmm6, dword [rdi + 0x5c]
shufps xmm15, xmm15, 0x55
ucomiss xmm15, dword [0x1400da9c0]
movaps xmm7, xmm6
jne 0x14004b8b1
mov ecx, dword [rbp + 0x4d90]
cmp ecx, 3
je 0x14004babf
cmp ecx, 2
jne 0x14004b7e9
cmp byte [rbp + 0x121], 0
je 0x14004b7e9
movss xmm0, dword [rax + 0x2174]
lea rcx, [rax + 0x2154]
subss xmm0, dword [rax + 0x2164]
add rax, 0x2144
jmp 0x14004badc
movss xmm0, dword [rax + 0x2934]
lea rcx, [rax + 0x2914]
subss xmm0, dword [rax + 0x2924]
add rax, 0x2904
movss xmm1, dword [rcx]
subss xmm1, dword [rax]
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jne 0x14004baf9
jp 0x14004baf9
ucomiss xmm0, xmm2
jne 0x14004baf9
jnp 0x14004b7e9
movss xmm2, dword [rbp + 0x18]
mulss xmm2, dword [0x1400dabb4]
movss xmm3, dword [rbp + 0x50]
minss xmm3, dword [rbp + 0x54]
mulss xmm3, xmm2
mulss xmm0, xmm3
mulss xmm1, xmm3
addss xmm1, dword [rbp + 0x4f58]
movss dword [rbp + 0x4f58], xmm1
addss xmm0, dword [rbp + 0x4f5c]
movss dword [rbp + 0x4f5c], xmm0
movaps xmm3, xmmword [rsp + 0x1c0]
subss xmm3, dword [rdi + 0x5c]
movaps xmm4, xmmword [rsp + 0x1d0]
subss xmm4, dword [rdi + 0x58]
subss xmm3, dword [rdi + 0x64]
subss xmm4, dword [rdi + 0x60]
movaps xmm2, xmm3
cmpless xmm2, xmm0
andps xmm0, xmm2
andnps xmm2, xmm3
orps xmm2, xmm0
movaps xmm0, xmm4
cmpless xmm0, xmm1
andps xmm1, xmm0
andnps xmm0, xmm4
orps xmm0, xmm1
movss dword [rbp + 0x4f58], xmm0
movss dword [rbp + 0x4f5c], xmm2
mov byte [rbp + 0x4f48], 0
mov byte [rbp + 0x4da3], 1
movss xmm1, dword [0x1400d9774]
mov ecx, 0x20
mov dword [rsp + 0xd8], ebx
call fcn.140032150
mov ebx, dword [rsp + 0xd8]
mov edx, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x1e0], eax
movss xmm1, dword [rbp + 0x4f5c]
cvttss2si eax, xmm1
movss xmm0, dword [rbp + 0x4f58]
cvttss2si ecx, xmm0
or ecx, eax
je 0x14004b7e9
cvttps2dq xmm1, xmm1
cvtdq2ps xmm6, xmm1
cvttps2dq xmm0, xmm0
cvtdq2ps xmm7, xmm0
movss xmm0, dword [rdi + 0x6c]
addss xmm0, xmm6
movss xmm1, dword [rdi + 0x68]
addss xmm1, xmm7
movss dword [rsp + 0x60], xmm1
movss dword [rsp + 0x64], xmm0
lea rcx, [rsp + 0xc0]
lea r8, [rsp + 0x60]
mov rdx, rdi
call fcn.140050fa0
mov ebx, dword [rsp + 0xd8]
mov edx, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x4c]
movss xmm0, dword [rbp + 0x4f58]
movss xmm1, dword [rbp + 0x4f5c]
subss xmm0, xmm7
movss dword [rbp + 0x4f58], xmm0
subss xmm1, xmm6
movss dword [rbp + 0x4f5c], xmm1
jmp 0x14004b7e9