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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x288
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1f0], xmm15
movaps xmmword [rbp + 0x1e0], xmm14
movaps xmmword [rbp + 0x1d0], xmm13
movaps xmmword [rbp + 0x1c0], xmm12
movaps xmmword [rbp + 0x1b0], xmm11
movaps xmmword [rbp + 0x1a0], xmm10
movaps xmmword [rbp + 0x190], xmm9
movaps xmmword [rbp + 0x180], xmm8
movaps xmmword [rbp + 0x170], xmm7
movaps xmmword [rbp + 0x160], xmm6
mov qword [rbp + 0x158], 0xfffffffffffffffe
mov r15, rcx
mov rax, qword [0x1800a6ba0]
movabs rcx, 0xe560bea574740c34
mov rax, qword [rax + rcx]
mov rcx, qword [rax + 0x1c08]
mov byte [rcx + 0x90], 1
mov r14, qword [rax + 0x1c08]
cmp byte [r14 + 0x93], 0
je 0x180055c40
xor eax, eax
movaps xmm6, xmmword [rbp + 0x160]
movaps xmm7, xmmword [rbp + 0x170]
movaps xmm8, xmmword [rbp + 0x180]
movaps xmm9, xmmword [rbp + 0x190]
movaps xmm10, xmmword [rbp + 0x1a0]
movaps xmm11, xmmword [rbp + 0x1b0]
movaps xmm12, xmmword [rbp + 0x1c0]
movaps xmm13, xmmword [rbp + 0x1d0]
movaps xmm14, xmmword [rbp + 0x1e0]
movaps xmm15, xmmword [rbp + 0x1f0]
add rsp, 0x288
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rsi, r8
mov r12, rdx
mov qword [rbp + 0x90], r9
mov ebx, dword [rbp + 0x278]
mov rax, qword [0x1800a6fa0]
movabs rcx, 0x54c987adebb5ea5b
mov rax, qword [rax + rcx]
mov qword [rbp + 0x138], rax
test bx, bx
setns al
mov dword [rbp + 0x108], eax
mov r13d, ebx
and r13d, 0x4000000
je 0x180055c8c
call fcn.180034af6
mov rdi, qword [rbp + 0x270]
mov qword [rbp + 0xf8], r14
mov rcx, r14
mov rdx, r15
xor r8d, r8d
call fcn.180023d58
mov r14d, eax
mov dword [rsp + 0x20], 0xbf800000
lea rcx, [rbp + 0x18]
mov rdx, r15
xor r8d, r8d
mov r9b, 1
call fcn.180022d5f
test r13d, r13d
je 0x180055ce3
mov rax, qword [rbp + 0x138]
movss xmm0, dword [rax + 0x1978]
mulss xmm0, dword [0x180094150]
jmp 0x180055cef
movss xmm0, dword [rbp + 0x1c]
mov rax, qword [rbp + 0x138]
movss xmm6, dword [rax + 0x1598]
addss xmm6, xmm6
addss xmm6, xmm0
call fcn.1800348f0
mov rdx, qword [rdi]
lea rdi, [rbp - 0x30]
mov rcx, rdi
movaps xmm2, xmm0
movaps xmm3, xmm6
call fcn.180034998
movsd xmm7, qword [rdi]
movss xmm1, dword [rbp + 0x18]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x180055d3c
mov rax, qword [rbp + 0x138]
addss xmm1, dword [rax + 0x15ac]
movaps xmm0, xmm1
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax + 0xd8]
mov qword [rbp + 0x40], rax
movq xmm1, rax
movd xmm2, eax
mov qword [rbp + 8], rax
shr rax, 0x20
movaps xmm13, xmm7
addss xmm0, xmm7
addps xmm1, xmm7
movlps qword [rbp + 0x48], xmm1
movd xmm1, eax
movaps xmm8, xmm7
shufps xmm8, xmm7, 0x55
addss xmm1, xmm8
addss xmm2, xmm0
movss dword [rbp + 0x10], xmm2
movss dword [rbp + 0x14], xmm1
test r13d, r13d
je 0x180055ec2
lea rcx, [rbp + 8]
lea r8, [rbp + 0x40]
mov edx, r14d
mov r9d, 1
call fcn.1800326fe
test al, al
je 0x180055fbf
mov qword [rbp + 0xc8], r12
mov r12, qword [rbp + 0x138]
mov eax, dword [r12 + 0x1cc8]
mov dword [rbp + 0x124], eax
lea rdx, [r12 + 0x1690]
mov ecx, 3
call fcn.180021e3d
movss xmm1, dword [r12 + 0x159c]
mov ecx, 7
call fcn.18002201f
movss xmm1, dword [r12 + 0x15a0]
mov ecx, 8
call fcn.18002201f
movsd xmm0, qword [rbp + 0x40]
movsd xmm1, qword [rbp + 0x48]
subps xmm1, xmm0
lea r8, [rbp + 0x50]
movlps qword [r8], xmm1
mov dword [rsp + 0x20], 4
mov rcx, r15
mov edx, r14d
mov r9b, 1
call fcn.180031dc0
mov edi, eax
mov ecx, 2
call fcn.18002234a
mov ebx, 1
mov ecx, 1
call fcn.180021fc1
test dil, dil
je 0x180056049
mov rax, qword [r12 + 0x1c08]
mov cl, byte [rax + 0x124]
shl ebx, cl
or word [rax + 0x12a], bx
movss xmm0, dword [r12 + 0x1594]
addss xmm0, dword [rax + 0xd8]
movss dword [rax + 0xd8], xmm0
movss xmm0, dword [r12 + 0x1598]
addss xmm0, dword [rax + 0xdc]
movss dword [rax + 0xdc], xmm0
movss xmm0, dword [rax + 0x84]
subss xmm13, xmm0
movaps xmm9, xmm13
mov rbx, r12
mov r12, qword [rbp + 0xc8]
jmp 0x180055f1c
mov rax, qword [rbp + 0x138]
movss xmm1, dword [rax + 0x1598]
lea rcx, [rbp + 8]
call fcn.180034861
bt ebx, 0x1c
jb 0x180055efe
lea rcx, [rbp + 8]
lea r8, [rbp + 0x40]
mov edx, r14d
mov r9d, 1
call fcn.1800326fe
test al, al
je 0x180055bdc
mov rbx, qword [rbp + 0x138]
mov eax, dword [rbx + 0x1cc8]
mov dword [rbp + 0x124], eax
xorps xmm9, xmm9
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xc8], r12
mov qword [rbp + 0xd8], rax
lea rcx, [rbp + 0x40]
mov dword [rbp + 0x154], r14d
mov edx, r14d
call fcn.18002496b
test al, al
je 0x180055f4b
mov dword [rbx + 0x1f70], 1
mov rdx, qword [0x1800a7078]
movabs rcx, 0x97cc586d1c998f69
mov r10, qword [rdx + rcx]
lea rcx, [r10 + 0x20d8]
mov r12d, dword [r10 + 0x20d8]
xor r9d, r9d
cmp r12d, dword [rbp + 0x154]
mov r14d, 0
mov qword [rbp + 0xe0], rcx
cmove r14, rcx
test al, al
je 0x180055f98
cmp byte [rbx + 0x420], 0
setne r9b
mov byte [rbp + 0x147], al
mov qword [rbp + 0x128], rsi
mov rcx, rbx
mov ebx, dword [rbx + 0x1c50]
mov eax, dword [rbp + 0x154]
mov esi, r13d
cmp ebx, eax
jne 0x180055fd9
xor edx, edx
jmp 0x180056002
mov rax, qword [rbp + 0x138]
movss xmm1, dword [rax + 0x1598]
lea rcx, [rbp + 8]
call fcn.180034861
jmp 0x18005604e
mov dl, 1
cmp dword [rcx + 0x1e0c], eax
je 0x180056002
mov eax, dword [rbp + 0x154]
mov rcx, qword [rbp + 0x138]
cmp dword [rcx + 0x1e00], eax
jne 0x180055fbb
cmp dword [rcx + 0x1e24], 2
sete dl
xor r13d, r13d
test esi, esi
mov dword [rbp + 0x114], edx
je 0x180056044
cmp r12d, dword [rbp + 0x154]
jne 0x180056044
mov qword [rbp + 0x118], r10
mov qword [rbp + 0xf0], r9
mov qword [rbp + 0x148], r14
test ebx, ebx
je 0x180056058
xor r13d, r13d
mov r14, qword [rbp + 0x138]
mov rdi, qword [rbp + 0xd8]
jmp 0x180056087
xor r8d, r8d
jmp 0x1800560bc
call fcn.1800323cb
call fcn.180034551
jmp 0x180055bdc
mov r14, qword [rbp + 0x138]
mov ebx, dword [r14 + 0x1c90]
mov rdi, qword [rbp + 0xd8]
mov rcx, rdi
mov edx, 1
call fcn.18004ed80
cmp ebx, eax
sete r13b
mov ebx, dword [r14 + 0x1c50]
mov rcx, rdi
mov edx, 1
call fcn.18004ed80
cmp ebx, eax
sete r8b
mov ebx, dword [r14 + 0x1c50]
mov r14, qword [rbp + 0x148]
mov edx, dword [rbp + 0x114]
mov r9, qword [rbp + 0xf0]
mov r10, qword [rbp + 0x118]
mov qword [rbp - 0x28], r15
cmp ebx, dword [rbp + 0x154]
je 0x1800560e7
test esi, esi
sete al
mov r15d, dword [rbp + 0x278]
shr r15b, 4
or r15b, dl
and r15b, al
mov dword [rbp + 0x130], r15d
jmp 0x1800560f1
mov dword [rbp + 0x130], 0
mov dword [rbp + 0x118], esi
test esi, esi
je 0x18005610a
mov rax, qword [rbp + 0xd8]
movss xmm14, dword [rax + 0x60]
jmp 0x180056113
movss xmm14, dword [0x18008a0f0]
mov rsi, qword [rbp + 0x128]
cmp r12d, dword [rbp + 0x154]
jne 0x18005618b
cmp dword [rbp + 0x118], 0
sete al
mov cl, byte [r10 + 0x213b]
cmp cl, al
setne r10b
or r13b, r9b
or r13b, dl
test dword [rbp + 0x124], 0x300
setne dil
or dil, r13b
mov edx, edi
or dl, r8b
mov r13d, dword [rbp + 0x278]
jne 0x1800561b8
mov r10b, 1
xor r15d, r15d
mov edi, 0
cmp cl, al
mov rbx, qword [rbp + 0x138]
jne 0x180056215
mov edi, dword [rbp + 0x154]
mov r12, qword [rbp + 0xe0]
jmp 0x1800565ec
or r13b, r9b
or r13b, dl
test dword [rbp + 0x124], 0x300
setne dil
or dil, r13b
mov eax, edi
or al, r8b
xor r15d, r15d
cmp al, 1
jne 0x1800561d1
xor r10d, r10d
mov r13d, dword [rbp + 0x278]
mov r15b, 1
cmp ebx, dword [rbp + 0x154]
jne 0x18005620e
test r10b, r10b
mov rbx, qword [rbp + 0x138]
je 0x1800561e2
jmp 0x180056215
xor r14d, r14d
mov r13d, dword [rbp + 0x278]
mov rbx, qword [rbp + 0x138]
mov eax, dword [rbx + 0x1c50]
test r14, r14
jne 0x180056269
mov edi, dword [rbp + 0x154]
cmp eax, edi
jne 0x1800565f5
mov r14d, r8d
call fcn.1800247b4
mov r8d, r14d
xor r12d, r12d
jmp 0x1800565ec
mov rbx, qword [rbp + 0x138]
mov qword [rbp + 0xe0], r10
mov qword [rbp + 0xf0], r9
mov dword [rbp + 0x148], r8d
mov dword [rbx + 0x2f50], 0xbe99999a
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea r12d, [rax + 1]
mov ecx, dword [rbx + 0x210c]
cmp ecx, eax
jle 0x180056253
mov r14, qword [rbx + 0x2110]
jmp 0x1800562cf
test ecx, ecx
je 0x180056274
mov r13d, ecx
shr r13d, 0x1f
add r13d, ecx
sar r13d, 1
add r13d, ecx
jmp 0x18005627a
mov edi, dword [rbp + 0x154]
jmp 0x1800565f5
mov r13d, 8
cmp r13d, r12d
cmovle r13d, r12d
movsxd rcx, r13d
call fcn.1800204e6
mov r14, rax
mov rbx, qword [rbp + 0x138]
mov rdx, qword [rbx + 0x2110]
test rdx, rdx
je 0x1800562ba
movsxd r8, dword [rbx + 0x2108]
mov rcx, r14
call fcn.1800820e0
mov rcx, qword [rbx + 0x2110]
call fcn.1800205fd
mov qword [rbx + 0x2110], r14
mov dword [rbx + 0x210c], r13d
mov r13d, dword [rbp + 0x278]
mov dword [rbx + 0x2108], r12d
movsxd r8, r12d
mov rcx, r14
mov rdx, rsi
call fcn.1800820e0
mov qword [rbp + 0x50], 0
mov rcx, qword [rbp + 0x90]
lea r12d, [rcx + 1]
mov eax, dword [rbx + 0x20ec]
cmp eax, ecx
jg 0x180056378
test eax, eax
je 0x180056317
mov r13d, eax
shr r13d, 0x1f
add r13d, eax
sar r13d, 1
add r13d, eax
jmp 0x18005631d
mov r13d, 8
cmp r13d, r12d
cmovle r13d, r12d
movsxd rcx, r13d
add rcx, rcx
call fcn.1800204e6
mov r14, rax
mov rbx, qword [rbp + 0x138]
mov rdx, qword [rbx + 0x20f0]
test rdx, rdx
je 0x180056363
movsxd r8, dword [rbx + 0x20e8]
add r8, r8
mov rcx, r14
call fcn.1800820e0
mov rcx, qword [rbx + 0x20f0]
call fcn.1800205fd
mov qword [rbx + 0x20f0], r14
mov dword [rbx + 0x20ec], r13d
mov r13d, dword [rbp + 0x278]
mov dword [rbx + 0x20e8], r12d
cmp dword [rbx + 0x20fc], 0
jns 0x1800563ca
xor ecx, ecx
call fcn.1800204e6
mov r14, rax
mov rdx, qword [rbx + 0x2100]
test rdx, rdx
je 0x1800563b9
movsxd r8, dword [rbx + 0x20f8]
mov rcx, r14
call fcn.1800820e0
mov rcx, qword [rbx + 0x2100]
call fcn.1800205fd
mov qword [rbx + 0x2100], r14
mov dword [rbx + 0x20fc], 0
mov dword [rbx + 0x20f8], 0
mov byte [rbx + 0x2118], 0
mov rcx, qword [rbx + 0x20f0]
lea r14, [rbp + 0x50]
mov qword [rsp + 0x20], r14
xor r12d, r12d
mov rdx, qword [rbp + 0x90]
mov r8, rsi
xor r9d, r9d
call fcn.180020bbc
mov dword [rbx + 0x20dc], eax
mov ecx, dword [r14]
sub ecx, esi
mov dword [rbx + 0x20e0], ecx
mov r14d, dword [rbp + 0x154]
cmp dword [rbx + 0x20d8], r14d
setne cl
or cl, byte [rbp + 0xe0]
je 0x1800564be
bt dword [rbp + 0x124], 8
movzx eax, byte [rbp + 0x130]
mov edx, 1
cmovae edx, eax
cmp dword [rbp + 0x118], 0
mov dword [rbx + 0x20d8], r14d
mov dword [rbx + 0x2120], r12d
mov dword [rbx + 0x2f42], 0x630000
movabs rcx, 0x3e700000000
mov qword [rbx + 0x2f48], rcx
mov dword [rbx + 0x212c], r12d
mov qword [rbx + 0x2124], 0
mov byte [rbx + 0x213a], r12b
mov dword [rbx + 0x2140], r12d
mov word [rbx + 0x2138], 0x100
sete byte [rbx + 0x213b]
mov byte [rbx + 0x2130], r12b
mov dword [rbx + 0x2134], r12d
cmovne edx, eax
mov dword [rbp + 0x130], edx
jmp 0x1800564f1
mov ecx, dword [rbx + 0x2124]
mov edx, dword [rbx + 0x2128]
cmp ecx, eax
cmovge ecx, eax
mov dword [rbx + 0x2124], ecx
cmp edx, eax
cmovge edx, eax
mov dword [rbx + 0x2128], edx
mov ecx, dword [rbx + 0x212c]
cmp ecx, eax
cmovl eax, ecx
mov dword [rbx + 0x212c], eax
mov rax, qword [rbp + 0xf0]
bt r13d, 0xd
jae 0x180056506
mov byte [rbx + 0x2130], 1
cmp dword [rbp + 0x118], 0
jne 0x18005652e
bt dword [rbp + 0x124], 9
jb 0x180056526
test al, al
je 0x18005652e
cmp byte [rbx + 0x140], 0
je 0x18005652e
mov al, 1
mov dword [rbp + 0x130], eax
cmp dword [rbx + 0x1c50], r14d
lea r12, [rbx + 0x20d8]
sete al
xor dil, 1
or dil, al
jne 0x1800565e2
mov ecx, r14d
mov rdi, qword [rbp + 0xf8]
mov rdx, rdi
call fcn.1800246a7
mov ecx, r14d
mov rdx, rdi
call fcn.180035c72
mov rcx, rdi
call fcn.1800261c7
test r13d, 0x4000080
mov eax, 3
mov ecx, 0xf
cmove ecx, eax
cmp dword [rbp + 0x118], 0
movd xmm0, ecx
movsd xmm1, qword [rbx + 0x1c64]
movaps xmm2, xmmword [0x180094180]
movss xmm2, xmm0
orps xmm2, xmm1
movlps qword [rbx + 0x1c64], xmm2
mov ecx, 0x1e0
mov eax, 0x180
cmovne rax, rcx
or rax, qword [rbx + 0x1c70]
mov qword [rbx + 0x1c70], rax
test r13d, 0x440
mov edi, r14d
je 0x1800565e5
or rax, 1
mov qword [rbx + 0x1c70], rax
jmp 0x1800565e5
mov edi, r14d
mov r8d, dword [rbp + 0x148]
mov eax, dword [rbx + 0x1c50]
mov r14, r12
cmp eax, edi
jne 0x18005661a
cmp byte [rbx + 0x420], 0
sete al
or r15b, al
mov eax, r15d
xor al, 1
mov dword [rbp + 0xa0], eax
mov byte [rbp + 0xf8], 1
jmp 0x180056636
test r14, r14
setne al
and al, r8b
mov byte [rbp + 0xf8], al
mov r15b, 1
mov dword [rbp + 0xa0], 0
mov qword [rbp + 0xd0], r15
test r14, r14
mov qword [rbp + 0x148], r14
je 0x180056691
mov r15d, r13d
mov eax, r13d
shr eax, 0xe
mov ecx, dword [r14 + 0x50]
cmp ecx, dword [r14 + 0x54]
setne r13b
mov cl, byte [rbp + 0xf8]
and r13b, cl
and al, cl
cmp al, 1
jne 0x18005675a
mov qword [rbp + 0x50], 0
mov rcx, qword [rbp + 0x90]
lea esi, [rcx + 1]
mov eax, dword [r14 + 0x14]
cmp eax, ecx
jle 0x18005669c
mov r12, qword [r14 + 0x18]
jmp 0x1800566f5
mov r15d, r13d
xor r13d, r13d
jmp 0x18005675a
test eax, eax
je 0x1800566ad
mov edi, eax
shr edi, 0x1f
add edi, eax
sar edi, 1
add edi, eax
jmp 0x1800566b2
mov edi, 8
cmp edi, esi
cmovle edi, esi
movsxd rcx, edi
add rcx, rcx
call fcn.1800204e6
mov r12, rax
mov r14, qword [rbp + 0x148]
mov rdx, qword [r14 + 0x18]
test rdx, rdx
je 0x1800566ed
movsxd r8, dword [r14 + 0x10]
add r8, r8
mov rcx, r12
call fcn.1800820e0
mov rcx, qword [r14 + 0x18]
call fcn.1800205fd
mov qword [r14 + 0x18], r12
mov dword [r14 + 0x14], edi
mov dword [r14 + 0x10], esi
lea rdi, [rbp + 0x50]
mov qword [rsp + 0x20], rdi
mov rcx, r12
mov edx, esi
mov rsi, qword [rbp + 0x128]
mov r8, rsi
xor r9d, r9d
call fcn.180020bbc
mov dword [r14 + 4], eax
mov ecx, dword [rdi]
sub ecx, esi
mov dword [r14 + 8], ecx
mov ecx, dword [r14 + 0x4c]
mov edx, dword [r14 + 0x50]
cmp ecx, eax
cmovge ecx, eax
mov dword [r14 + 0x4c], ecx
cmp edx, eax
cmovge edx, eax
mov dword [r14 + 0x50], edx
mov ecx, dword [r14 + 0x54]
cmp ecx, eax
cmovl eax, ecx
mov dword [r14 + 0x54], eax
cmp edx, eax
setne al
and r13b, al
mov edi, dword [rbp + 0x154]
mov al, byte [rbp + 0xf8]
xor ecx, ecx
or al, r13b
je 0x18005676e
test r14, r14
jne 0x18005677b
jmp 0x18005678d
test r14, r14
je 0x18005678d
cmp dword [rbx + 0x1c50], edi
jne 0x18005678d
mov eax, r15d
and eax, 0x4000
jne 0x18005678d
cmp byte [r14 + 0x40], 0
setne cl
cmp qword [rbp + 0xc8], 0
mov dword [rbp + 0xf0], r13d
mov dword [rbp - 0x20], ecx
je 0x1800567b1
test cl, cl
je 0x1800567a9
mov rsi, qword [r14 + 0x28]
cmp byte [rsi], 0
sete al
jmp 0x1800567b3
xor eax, eax
mov r13d, r15d
test r13w, r13w
setns r12b
mov dword [rbp + 0x124], eax
or r12b, al
jne 0x18005683f
mov rcx, qword [rbx + 0x1970]
mov dx, 0x2a
call fcn.1800431e8
lea rcx, [rbx + 0x2f70]
mov rdx, qword [rbx + 0x1970]
movss xmm0, dword [rdx + 0x14]
movss dword [rbx + 0x2f84], xmm0
movss xmm0, dword [rdx + 0x5c]
movss dword [rbx + 0x2fcc], xmm0
movss xmm0, dword [rdx + 0x60]
movss dword [rbx + 0x2fd0], xmm0
movss xmm0, dword [rdx + 0x64]
movss dword [rbx + 0x2fd4], xmm0
mov rdx, qword [rdx + 0x40]
mov qword [rbx + 0x2fb0], rdx
mov qword [rbx + 0x2fa8], rax
movss xmm0, dword [rax + 4]
movss dword [rbx + 0x2f80], xmm0
call fcn.1800339a9
mov r15, qword [rbp + 0x280]
mov dword [rbp + 0x3c], 0
cmp dword [rbx + 0x1c50], edi
jne 0x180056c3d
mov byte [r14 + 0xe7e], 0
mov rax, qword [rbp + 0x90]
mov dword [r14 + 0x44], eax
mov dword [r14 + 0xe80], r13d
mov qword [r14 + 0xe88], r15
mov rax, qword [rbp + 0x288]
mov qword [r14 + 0xe90], rax
mov al, byte [rbx + 0x130]
mov ecx, eax
xor cl, 1
mov edx, dword [r14 + 8]
mov dword [rbp + 0x3c], edx
mov byte [rbx + 0x1c5d], cl
mov dword [rbx + 0x3340], 1
cmp dword [rbp + 0x118], 0
je 0x1800568cc
movss xmm3, dword [rbx + 0x12c]
mov rcx, qword [rbp + 0xd8]
subss xmm3, dword [rcx + 0xdc]
jmp 0x1800568dc
movss xmm3, dword [rbx + 0x1978]
mulss xmm3, dword [0x18008a150]
mov bl, byte [rbx + 0xc9]
cmp byte [rbp + 0x130], 0
je 0x180056962
mov dword [r14 + 0x50], 0
mov eax, dword [r14 + 4]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x4c], eax
mov byte [r14 + 0x62], 0
mov byte [r14 + 0xe7d], 1
cmp byte [r14 + 0xe7d], 0
je 0x18005692e
mov rax, qword [rbp + 0x138]
cmp byte [rax + 0x130], 0
jne 0x18005692e
mov byte [r14 + 0xe7d], 0
mov rax, qword [rbp + 0x138]
cmp byte [rax + 0x140], 0
je 0x1800569a8
mov al, byte [rax + 0x142]
test al, al
sete sil
test bl, bl
je 0x180056a85
test al, al
mov rbx, qword [rbp + 0x138]
jne 0x1800569b3
jmp 0x180056a90
mov r8, qword [rbp + 0x138]
movss xmm2, dword [r8 + 0x128]
subss xmm2, dword [rbp + 0x40]
subss xmm2, dword [r8 + 0x1594]
addss xmm2, dword [r14 + 0x48]
test bl, bl
setne dl
mov cl, byte [rbp + 0x147]
xor cl, 1
or dl, cl
jne 0x1800569c3
cmp byte [r8 + 0x425], 0
jne 0x1800568eb
jmp 0x1800569fa
test bl, bl
mov rbx, rax
je 0x180056a8e
cmp byte [rbx + 0x143], 0
setne sil
jmp 0x180056a90
test bl, bl
je 0x1800569fa
test cl, cl
jne 0x1800569fa
mov rcx, qword [rbp + 0x138]
cmp byte [rcx + 0x425], 0
je 0x1800569fa
mov rcx, r14
mov edx, 0x20000c
call fcn.180058c76
mov rcx, r14
mov edx, 0x60000d
call fcn.180058c76
jmp 0x18005690c
mov rcx, qword [rbp + 0x138]
cmp byte [rcx + 0x420], 0
je 0x180056a18
cmp byte [r14 + 0xe7d], 0
je 0x180056b04
test al, al
je 0x18005690c
cmp byte [r14 + 0xe7d], 0
jne 0x18005690c
mov rax, qword [rbp + 0x138]
movss xmm1, dword [rax + 0x3b4]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x180056a61
jp 0x180056a61
mov rax, qword [rbp + 0x138]
movss xmm1, dword [rax + 0x3b8]
ucomiss xmm1, xmm0
jne 0x180056a61
jnp 0x18005690c
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.180059c13
mov dword [r14 + 0xe78], 0xbe99999a
mov byte [r14 + 0xe7c], 1
jmp 0x18005690c
mov rbx, qword [rbp + 0x138]
jmp 0x180056a90
xor esi, esi
bt r13d, 0xa
jae 0x180056b60
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x180056b60
mov dl, 1
call fcn.180031b13
xor al, 1
or al, sil
jne 0x180056b60
bt r13d, 0xe
jb 0x180056b60
cmp byte [rbx + 0x141], 0
jne 0x180056b60
mov rax, qword [rbx + 0x1550]
movsxd rcx, dword [rbx + 0x1548]
lea rcx, [rax + rcx*2]
cmp rax, rcx
jae 0x180056b2d
cmp word [rax], 9
lea rax, [rax + 2]
jne 0x180056af3
jmp 0x180056b60
cmp byte [rbp + 0x147], 0
je 0x18005690c
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.180059b8d
mov dword [r14 + 0xe78], 0xbe99999a
jmp 0x18005690c
lea rcx, [rbp + 0x50]
mov dword [rcx], 9
mov dword [rsp + 0x20], 2
mov edx, r13d
mov r8, r15
mov r9, qword [rbp + 0x288]
call fcn.180059c9f
test al, al
je 0x180056b60
mov edx, dword [rbp + 0x50]
mov rcx, r14
call fcn.180058c76
cmp dword [rbx + 0x1548], 0
jle 0x180056c3d
mov eax, r13d
shr eax, 0xe
and eax, 1
or sil, byte [rbp + 0x114]
or sil, al
jne 0x180056bdf
xor edi, edi
lea rsi, [rbp + 0x50]
mov rax, qword [rbx + 0x1550]
movzx eax, word [rax + rdi*2]
mov dword [rbp + 0x50], eax
cmp eax, 9
jne 0x180056ba4
cmp byte [rbx + 0x141], 0
jne 0x180056bd0
mov dword [rsp + 0x20], 2
mov rcx, rsi
mov edx, r13d
mov r8, r15
mov r9, qword [rbp + 0x288]
call fcn.180059c9f
test al, al
je 0x180056bd0
mov edx, dword [rbp + 0x50]
mov rcx, r14
call fcn.180058c76
inc rdi
movsxd rax, dword [rbx + 0x1548]
cmp rdi, rax
jl 0x180056b88
cmp dword [rbx + 0x154c], 0
mov edi, dword [rbp + 0x154]
jns 0x180056c33
xor ecx, ecx
call fcn.1800204e6
mov rsi, rax
mov rdx, qword [rbx + 0x1550]
test rdx, rdx
je 0x180056c22
movsxd r8, dword [rbx + 0x1548]
add r8, r8
mov rcx, rsi
call fcn.1800820e0
mov rcx, qword [rbx + 0x1550]
call fcn.1800205fd
mov qword [rbx + 0x1550], rsi
mov dword [rbx + 0x154c], 0
mov dword [rbx + 0x1548], 0
mov eax, dword [rbx + 0x1c50]
xor esi, esi
cmp eax, edi
mov byte [rbp + 0xe0], r12b
jne 0x180056c6b
cmp byte [rbx + 0x1c5c], 0
je 0x180056d5a
xor eax, eax
mov qword [rbp + 0x108], rax
jmp 0x180056e1d
xor r15d, r15d
xor ecx, ecx
mov qword [rbp + 0x130], rcx
mov r14, qword [rbp + 0x128]
cmp eax, edi
jne 0x180056d26
bt r13d, 0xe
jb 0x180056d35
mov eax, r15d
xor al, 1
jne 0x180056d35
mov rax, qword [rbp + 0x148]
mov rdx, qword [rax + 0x38]
mov rcx, r14
mov qword [rbp + 0x108], rdx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x180056d35
mov rax, qword [rbp + 0x148]
mov ebx, dword [rax + 0x30]
lea esi, [rbx - 1]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x50], xmm0
xor r12d, r12d
cmp ebx, 2
jl 0x180056e2b
mov edi, esi
mov rcx, qword [rbp + 0x108]
add rdi, rcx
mov rdx, rdi
call fcn.180020c71
inc eax
lea rcx, [rbp + 0x50]
mov edx, eax
call fcn.180059b1e
mov edx, dword [rbp + 0x50]
mov rcx, qword [rbp + 0x58]
mov qword [rsp + 0x20], 0
mov r8, qword [rbp + 0x108]
mov r9, rdi
call fcn.180020bbc
mov edi, dword [rbp + 0x50]
mov r14, qword [rbp + 0x58]
jmp 0x180056e30
mov dword [rbp + 0x114], 0
jmp 0x180057335
xor eax, eax
mov qword [rbp + 0x108], rax
mov esi, 0
test r15b, r15b
mov r14, qword [rbp + 0x148]
jne 0x180056edb
xor esi, esi
jmp 0x180056efa
cmp byte [rbp + 0xd0], 0
je 0x180056e12
movss xmm0, dword [rbx + 0x1598]
movaps xmm1, xmm8
subss xmm1, xmm0
divss xmm1, dword [rbx + 0x1978]
cvttss2si r15d, xmm1
cmp r15d, 2
mov rax, r14
mov r14d, 1
cmovl r15d, r14d
mov dword [rax + 0x5c], r15d
movzx edi, byte [rbx + 0x141]
mov cl, byte [rbx + 0xc9]
test cl, cl
mov byte [rbp + 0x107], cl
je 0x180057ef4
mov r12d, dword [rbx + 0x3bc]
cmp r12d, 0xa
sete al
mov dword [rbp + 0x130], eax
lea rax, [rbx + 0x142]
mov qword [rbp], rax
lea rax, [rbx + 0x140]
mov dl, byte [rbx + 0x142]
mov r14d, 8
cmp byte [rbx + 0x143], 0
mov esi, dword [rbp + 0x108]
mov qword [rbp + 0xd0], rax
je 0x180057f36
mov al, byte [rax]
or al, dl
sete al
mov dword [rbp + 0x114], eax
jmp 0x180057f40
xor eax, eax
mov qword [rbp + 0x108], rax
xor esi, esi
xor eax, eax
mov qword [rbp + 0x130], rax
jmp 0x180056f01
xor r14d, r14d
xor edi, edi
dec edi
cmp ebx, 2
cmovl edi, r12d
mov rbx, qword [rbp + 0x148]
mov r12d, dword [rbx + 4]
lea rcx, [rbx + 0x6c]
xor edx, edx
mov r8d, r12d
mov r9d, edi
call fcn.18005cfbd
test r12d, r12d
jle 0x180056e75
test rax, rax
je 0x180056e75
xor ecx, ecx
mov rdx, qword [rbx + 0x18]
movzx edx, word [rdx + rcx*2]
mov word [rax + rcx*2], dx
inc rcx
cmp r12, rcx
jne 0x180056e61
mov r8d, dword [rbx + 4]
mov rcx, rbx
xor edx, edx
call fcn.18005ca9e
test edi, edi
jle 0x180056ead
mov rcx, qword [rbp + 0x148]
xor edx, edx
mov r8, r14
mov r9d, edi
call fcn.18005cb18
test al, al
je 0x180056ead
mov rax, qword [rbp + 0x148]
mov dword [rax + 0x4c], edi
mov byte [rax + 0x62], 0
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x180056ebb
call fcn.1800205fd
test r15b, r15b
mov edi, dword [rbp + 0x154]
mov rbx, qword [rbp + 0x138]
mov r14, qword [rbp + 0x148]
mov r12b, byte [rbp + 0xe0]
je 0x180056efa
test r13b, 0x20
mov r15, qword [rbp + 0x280]
je 0x18005725b
cmp byte [rbp + 0x130], 0
jne 0x180056f01
jmp 0x18005725b
mov r15, qword [rbp + 0x280]
bt r13d, 0xe
jb 0x180056fb2
mov byte [r14 + 0x40], 1
mov ecx, dword [r14 + 0x10]
mov eax, dword [r14 + 0x24]
lea edi, [rcx*4 + 1]
mov r12d, r13d
mov r13, r15
cmp eax, edi
jge 0x180056f3b
test eax, eax
je 0x180056f44
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x180056f49
mov r15, r14
mov r14, qword [r14 + 0x28]
jmp 0x180056f8d
mov ebx, 8
cmp ebx, edi
cmovle ebx, edi
movsxd rcx, ebx
call fcn.1800204e6
mov r14, rax
mov r15, qword [rbp + 0x148]
mov rdx, qword [r15 + 0x28]
test rdx, rdx
je 0x180056f7e
movsxd r8, dword [r15 + 0x20]
mov rcx, r14
call fcn.1800820e0
mov rcx, qword [r15 + 0x28]
call fcn.1800205fd
mov qword [r15 + 0x28], r14
mov dword [r15 + 0x24], ebx
mov rbx, qword [rbp + 0x138]
mov dword [r15 + 0x20], edi
mov r8, qword [r15 + 0x18]
mov rcx, r14
mov edx, edi
xor r9d, r9d
call fcn.180020cdd
mov r14, r15
mov r15, r13
mov r13d, r12d
mov r12b, byte [rbp + 0xe0]
test r13d, 0x801c0
je 0x18005722c
test r13b, 0x40
je 0x180056ff8
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x180056ff8
mov dl, 1
call fcn.180031b13
test al, al
je 0x180056ff8
mov eax, 0x40
xor ecx, ecx
jmp 0x180057086
test r13b, r13b
jns 0x180057059
mov rax, qword [0x1800a7080]
movabs rdi, 0x9e4ad52570629d12
mov rax, qword [rax + rdi]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18005703b
mov dl, 1
call fcn.180031b13
test al, al
je 0x180057030
mov eax, 0x80
mov ecx, 3
jmp 0x180057086
mov rax, qword [0x1800a7080]
mov rax, qword [rax + rdi]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x180057059
mov dl, 1
call fcn.180031b13
test al, al
je 0x180057059
mov eax, 0x80
mov ecx, 4
jmp 0x180057086
bt r13d, 0x13
jae 0x180057071
cmp byte [r14 + 0xe7e], 0
je 0x180057071
mov eax, 0x80000
jmp 0x180057081
bt r13d, 8
jae 0x18005722c
mov eax, 0x100
mov ecx, 0x16
xorps xmm0, xmm0
lea r13, [rbp + 0x50]
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13 + 0x20], xmm0
mov qword [r13 + 0x30], 0
mov dword [r13], eax
mov eax, dword [rbp + 0x278]
mov dword [r13 + 4], eax
mov rax, qword [rbp + 0x288]
mov qword [r13 + 8], rax
mov dword [r13 + 0x14], ecx
mov r14, qword [rbp + 0x148]
mov rax, qword [r14 + 0x28]
mov qword [r13 + 0x18], rax
mov eax, dword [r14 + 8]
mov dword [r13 + 0x20], eax
mov eax, dword [r14 + 0x44]
mov dword [r13 + 0x24], eax
mov byte [r13 + 0x28], 0
mov rdi, qword [r14 + 0x18]
movsxd rax, dword [r14 + 0x4c]
lea rdx, [rdi + rax*2]
mov rcx, rdi
call fcn.180020da8
mov r15d, eax
mov dword [r13 + 0x2c], eax
movsxd rax, dword [r14 + 0x50]
lea rdx, [rdi + rax*2]
mov rcx, rdi
call fcn.180020da8
mov r12d, eax
mov dword [r13 + 0x30], eax
movsxd rax, dword [r14 + 0x54]
lea rdx, [rdi + rax*2]
mov rcx, rdi
call fcn.180020da8
mov edi, eax
mov dword [r13 + 0x34], eax
mov rcx, r13
call qword [rbp + 0x280]
mov bl, byte [r13 + 0x28]
mov eax, dword [r13 + 0x2c]
test bl, bl
jne 0x180057142
cmp eax, r15d
je 0x18005715d
movsxd rdx, eax
mov rcx, qword [rbp + 0x68]
add rdx, rcx
call fcn.180020c71
mov dword [r14 + 0x4c], eax
mov byte [r14 + 0xe7c], 1
mov eax, dword [rbp + 0x80]
test bl, bl
mov r15, qword [rbp + 0x280]
jne 0x180057173
cmp eax, r12d
je 0x180057191
cmp eax, dword [rbp + 0x7c]
jne 0x18005717e
mov eax, dword [r14 + 0x4c]
jmp 0x18005718d
movsxd rdx, eax
mov rcx, qword [rbp + 0x68]
add rdx, rcx
call fcn.180020c71
mov dword [r14 + 0x50], eax
mov eax, dword [rbp + 0x84]
test bl, bl
mov r13b, byte [rbp + 0xe0]
jne 0x1800571a6
cmp eax, edi
je 0x18005721b
cmp eax, dword [rbp + 0x80]
jne 0x1800571b4
mov eax, dword [r14 + 0x50]
jmp 0x1800571c3
movsxd rdx, eax
mov rcx, qword [rbp + 0x68]
add rdx, rcx
call fcn.180020c71
mov dword [r14 + 0x54], eax
test bl, bl
je 0x18005721b
bt dword [rbp + 0x278], 0x12
jae 0x1800571e8
mov edx, dword [rbp + 0x70]
sub edx, dword [rbp + 0x3c]
jle 0x1800571e8
lea rcx, [r14 + 0x10]
add edx, dword [rcx]
call fcn.180059b1e
mov r8, qword [rbp + 0x68]
mov edx, dword [r14 + 0x10]
mov rcx, qword [r14 + 0x18]
mov qword [rsp + 0x20], 0
xor r9d, r9d
call fcn.180020bbc
mov dword [r14 + 4], eax
mov eax, dword [rbp + 0x70]
mov dword [r14 + 8], eax
mov dword [r14 + 0xe78], 0xbe99999a
mov rbx, qword [rbp + 0x138]
mov r12d, r13d
mov r13d, dword [rbp + 0x278]
bt r13d, 0xe
jb 0x180057255
mov rdi, qword [r14 + 0x28]
mov rcx, rdi
mov rdx, qword [rbp + 0x128]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x180057255
mov esi, dword [r14 + 8]
mov qword [rbp + 0x108], rdi
mov edi, dword [rbp + 0x154]
cmp qword [rbp + 0x108], 0
setne al
mov dword [rbp + 0x114], eax
je 0x180057285
bt r13d, 0x12
jb 0x180057291
mov r14, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x90]
jmp 0x180057301
mov r14, qword [rbp + 0x128]
jmp 0x18005731a
xorps xmm0, xmm0
mov r12d, edi
lea rdi, [rbp + 0x50]
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
mov qword [rdi + 0x30], 0
mov dword [rdi], 0x40000
mov dword [rdi + 4], r13d
mov rax, qword [rbp + 0x128]
mov qword [rdi + 0x18], rax
mov dword [rdi + 0x20], esi
inc esi
mov rax, qword [rbp + 0x90]
cmp eax, esi
cmovg esi, eax
mov dword [rdi + 0x24], esi
mov rax, qword [rbp + 0x288]
mov qword [rdi + 8], rax
mov rcx, rdi
call r15
mov r14, qword [rdi + 0x18]
mov ecx, dword [rdi + 0x24]
lea esi, [rcx - 1]
mov eax, dword [rdi + 0x20]
mov edi, r12d
mov r12b, byte [rbp + 0xe0]
cmp eax, esi
cmovl esi, eax
inc esi
cmp esi, ecx
cmovge esi, ecx
movsxd r8, esi
mov rcx, r14
mov rdx, qword [rbp + 0x108]
call fcn.180020450
mov rax, qword [rbp + 0x148]
mov dword [rax + 0xe80], 0
xorps xmm0, xmm0
movups xmmword [rax + 0xe88], xmm0
cmp byte [rbp + 0xa0], 0
je 0x18005734b
cmp dword [rbx + 0x1c50], edi
jne 0x18005734b
call fcn.1800247b4
cmp dword [rbp + 0x118], 0
jne 0x18005739a
lea rsi, [rbp + 0x40]
mov rcx, rsi
mov edx, edi
mov r8d, 1
call fcn.18002370f
movss xmm6, dword [rbx + 0x159c]
movss xmm1, dword [0x1800861c0]
mov ecx, 7
call fcn.180021bf7
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
movss dword [rsp + 0x20], xmm6
mov r8d, eax
mov r9b, 1
call fcn.1800233b3
movsd xmm15, qword [rbp + 0x40]
movss xmm7, xmm13
addps xmm7, xmm15
movaps xmm0, xmm15
movlhps xmm0, xmm7
movaps xmmword [rbp + 0x50], xmm0
cmp dword [rbp + 0x118], 0
je 0x1800573e1
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax + 0xd8]
mov qword [rbp + 0xb8], rax
movd xmm12, eax
shr rax, 0x20
movd xmm6, eax
jmp 0x1800573ff
movsd xmm12, qword [rbx + 0x1594]
addps xmm12, xmm15
movlps qword [rbp + 0xb8], xmm12
movaps xmm6, xmm12
shufps xmm6, xmm12, 0x55
mov eax, dword [rbp + 0x124]
cmp byte [rbp - 0x20], 0
je 0x18005741c
mov rax, qword [rbp + 0x148]
mov r14, qword [rax + 0x28]
mov eax, dword [rbp + 0x124]
test al, al
je 0x18005744c
mov r14, qword [rbp + 0xc8]
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r15, rax
add r15, r14
mov al, byte [rbp + 0xf8]
or al, byte [rbp + 0xf0]
je 0x18005749f
mov rdx, qword [rbp + 0x148]
jmp 0x18005746a
mov al, byte [rbp + 0xf8]
or al, byte [rbp + 0xf0]
cmp al, 1
jne 0x1800574b4
mov rdx, qword [rbp + 0x148]
movsxd r15, dword [rdx + 8]
add r15, r14
mov qword [rbp + 0x128], r14
mov r14, qword [rdx + 0x18]
mov ebx, 0xfffffc18
cmp byte [rbp + 0xf8], 0
mov r8d, dword [rbp + 0xf0]
je 0x1800574e3
movsxd rax, dword [rdx + 0x4c]
lea rdi, [r14 + rax*2]
mov ecx, 1
mov r13d, 0xffffffff
jmp 0x1800574ed
xorps xmm6, xmm6
xorps xmm9, xmm9
cmp dword [rbp + 0x118], 0
jne 0x1800574c1
jmp 0x18005777b
cmp dword [rbp + 0x118], 0
je 0x180057595
mov r13d, r12d
mov r12d, edi
xor eax, eax
mov rdi, r14
mov r15, r14
movzx ecx, byte [r15]
inc r15
test ecx, ecx
je 0x18005750f
cmp ecx, 0xa
jne 0x1800574cf
inc eax
jmp 0x1800574cf
xor edi, edi
mov r13d, 0xfffffc18
xor ecx, ecx
xor esi, esi
test r8b, r8b
je 0x18005753b
mov eax, dword [rdx + 0x50]
mov edx, dword [rdx + 0x54]
cmp eax, edx
cmovl edx, eax
movsxd rax, edx
lea r12, [r14 + rax*2]
inc ecx
mov ebx, 0xffffffff
jmp 0x18005753e
inc eax
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
dec r15
mulss xmm6, dword [rbx + 0x1978]
cmp dword [rbp + 0x118], 0
je 0x1800575b1
xor esi, esi
movaps xmm9, xmm13
jmp 0x180057796
xor r12d, r12d
mov eax, dword [rbp + 0x118]
shr eax, 0x1a
add eax, ecx
mov rcx, r14
movzx edx, word [rcx]
cmp edx, 0xa
je 0x18005755a
test edx, edx
jne 0x18005758f
jmp 0x1800575d1
inc esi
cmp r13d, 0xffffffff
jne 0x180057577
mov r13d, 0xffffffff
cmp rcx, rdi
jb 0x180057577
cmp eax, 2
jl 0x1800575ca
dec eax
mov r13d, esi
cmp ebx, 0xffffffff
jne 0x18005758f
mov ebx, 0xffffffff
cmp rcx, r12
jb 0x18005758f
cmp eax, 2
jl 0x1800575cf
dec eax
mov ebx, esi
add rcx, 2
jmp 0x18005754c
cmp dword [rbx + 0x1c50], edi
jne 0x180057766
mov rax, qword [rbp + 0x148]
movsxd r15, dword [rax + 8]
jmp 0x180057771
movaps xmm9, xmm13
mov r14, rdi
mov edi, r12d
mov r12d, r13d
mov r13d, dword [rbp + 0x278]
jmp 0x18005777b
mov r13d, esi
jmp 0x1800575d1
mov ebx, esi
inc esi
cmp r13d, 0xffffffff
cmove r13d, esi
cmp ebx, 0xffffffff
cmove ebx, esi
mov rcx, rdi
mov rdx, r14
call fcn.18002063b
mov byte [rsp + 0x20], 0
mov qword [rbp + 0x108], r14
lea r14, [rbp + 0x28]
mov rcx, r14
mov rdx, rax
mov r8, rdi
xor r9d, r9d
call fcn.180059eb5
movss xmm0, dword [r14]
movaps xmmword [rbp + 0xa0], xmm0
mov r14, qword [rbp + 0x138]
movss xmm1, dword [r14 + 0x1978]
xorps xmm0, xmm0
movss dword [rbp + 0xc8], xmm0
movaps xmmword [rbp + 0x90], xmm1
movaps xmm0, xmm1
xorps xmm11, xmm11
xorps xmm10, xmm10
test ebx, ebx
js 0x18005768f
mov rcx, r12
mov rdx, qword [rbp + 0x108]
call fcn.18002063b
mov byte [rsp + 0x20], 0
lea rdi, [rbp + 0x28]
mov rcx, rdi
mov rdx, rax
mov r8, r12
xor r9d, r9d
call fcn.180059eb5
xorps xmm10, xmm10
cvtsi2ss xmm10, ebx
movss xmm11, dword [rdi]
movss xmm0, dword [r14 + 0x1978]
mulss xmm10, xmm0
mov rcx, qword [rbp + 0x108]
xorps xmm1, xmm1
cvtsi2ss xmm1, r13d
cmp dword [rbp + 0x118], 0
mov rdi, qword [rbp + 0x148]
je 0x1800576be
cvtsi2ss xmm2, esi
mulss xmm0, xmm2
movss dword [rbp + 0xc8], xmm0
mov r13d, dword [rbp + 0x278]
mov r14d, dword [rbp + 0x154]
mov rbx, qword [rbp + 0x138]
mov rsi, qword [rbp + 0x128]
mov r12b, byte [rbp + 0xe0]
mov eax, dword [rbp + 0x124]
movaps xmm0, xmmword [rbp + 0x90]
mulss xmm0, xmm1
movaps xmmword [rbp + 0x90], xmm0
cmp byte [rbp + 0xf8], 0
je 0x1800578e8
cmp byte [rdi + 0xe7c], 0
je 0x1800578e8
bt r13d, 0xc
jb 0x18005775a
movss xmm0, dword [0x18008a358]
mulss xmm0, xmm13
movss xmm1, dword [rdi + 0x48]
movaps xmm2, xmmword [rbp + 0xa0]
ucomiss xmm1, xmm2
jbe 0x18005780b
movaps xmm1, xmm2
subss xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmm1
cmpless xmm2, xmm0
andnps xmm2, xmm1
cvttps2dq xmm0, xmm2
jmp 0x180057826
mov dword [rdi + 0x48], 0
jmp 0x18005782e
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r15, rax
add r15, r14
xorps xmm6, xmm6
xorps xmm9, xmm9
mov rax, r15
sub rax, r14
cmp rax, 0x1fffff
jg 0x180057803
mov r13d, r12d
mov r12d, edi
mov rdi, r14
lea rsi, [rbp + 0x50]
movzx ecx, byte [rbp + 0x124]
movss xmm1, dword [0x1800861c0]
call fcn.180021bf7
mov rcx, qword [rbp + 0xd8]
mov rcx, qword [rcx + 0x280]
movss xmm2, dword [rbx + 0x1978]
mov rdx, qword [rbx + 0x1970]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x30], r15
mov rsi, rdi
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x38], 0
lea r9, [rbp + 0xb8]
call fcn.18003b2a0
mov edi, r12d
mov r12d, r13d
mov r13d, dword [rbp + 0x278]
jmp 0x180057d5e
mov rsi, r14
jmp 0x180057d5e
subss xmm13, dword [rbx + 0x1594]
subss xmm2, xmm13
ucomiss xmm2, xmm1
jb 0x18005782e
addss xmm0, xmm2
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x48], xmm0
cmp dword [rbp + 0x118], 0
je 0x1800578e1
movaps xmm2, xmmword [rbp + 0x90]
movaps xmm1, xmm2
subss xmm1, dword [rbx + 0x1978]
ucomiss xmm14, xmm1
movss xmm0, dword [rbx + 0x1598]
jbe 0x18005786e
xorps xmm2, xmm2
movaps xmm14, xmm1
cmpless xmm14, xmm2
andnps xmm14, xmm1
jmp 0x18005788a
movaps xmm1, xmm2
subss xmm1, xmm8
ucomiss xmm1, xmm14
jb 0x18005788a
movaps xmm14, xmm0
addss xmm14, xmm0
addss xmm14, xmm1
addss xmm0, xmm0
addss xmm0, dword [rbp + 0xc8]
subss xmm0, xmm8
xorps xmm1, xmm1
xorps xmm2, xmm2
cmpless xmm2, xmm0
andps xmm2, xmm0
minss xmm2, xmm14
cmpltss xmm14, xmm1
andnps xmm14, xmm2
mov rax, qword [rbp + 0xd8]
movss xmm0, dword [rax + 0x60]
subss xmm0, xmm14
addss xmm6, xmm0
movss dword [rbp + 0xbc], xmm6
movss dword [rax + 0x60], xmm14
mov eax, dword [rbp + 0x124]
mov byte [rdi + 0xe7c], 0
movss xmm8, dword [rdi + 0x48]
cmp byte [rbp + 0xf0], 0
je 0x180057b4d
mov eax, dword [rdi + 0x50]
mov esi, dword [rdi + 0x54]
cmp eax, esi
mov ebx, esi
cmovl ebx, eax
cmovg esi, eax
cmp byte [rbp + 0xf8], 0
movaps xmmword [rbp - 0x20], xmm6
jne 0x180057922
movss xmm1, dword [0x18008a3f0]
jmp 0x18005792a
movss xmm1, dword [0x1800861c0]
mov r14, rcx
movss dword [rbp + 0xf0], xmm9
mov ecx, 0x2f
call fcn.180021bf7
mov edi, eax
movsxd rax, ebx
lea rdx, [r14 + rax*2]
xorps xmm6, xmm6
cmp dword [rbp + 0x118], 0
jne 0x18005795d
movss xmm6, dword [0x18008a1a0]
mov qword [rbp + 0x20], rdx
cmp ebx, esi
jge 0x180057b17
movsxd rax, esi
xorps xmm9, xmm9
cmp dword [rbp + 0x118], 0
jne 0x180057982
movss xmm9, dword [0x18008a364]
lea rsi, [r14 + rax*2]
addss xmm11, xmm12
addss xmm10, dword [rbp - 0x20]
mov rax, qword [rbp + 0x138]
movss xmm0, dword [rax + 0x1978]
movaps xmm14, xmm15
shufps xmm14, xmm15, 0x55
movaps xmm13, xmm7
shufps xmm13, xmm7, 0x55
lea r12, [rbp - 8]
lea r14, [rbp + 0x20]
xor ebx, ebx
movaps xmm1, xmm13
addss xmm1, xmm0
ucomiss xmm10, xmm1
ja 0x180057b17
ucomiss xmm14, xmm10
jbe 0x1800579f6
cmp rdx, rsi
jae 0x180057b05
lea rax, [rdx + 2]
mov qword [rbp + 0x20], rax
cmp word [rdx], 0xa
mov rdx, rax
jne 0x1800579d4
mov rdx, rax
jmp 0x180057b05
mov byte [rsp + 0x20], 1
mov rcx, r12
mov r8, rsi
mov r9, r14
call fcn.180059eb5
movss xmm1, dword [rbp - 8]
xorps xmm0, xmm0
ucomiss xmm0, xmm1
jb 0x180057a4f
mov rax, qword [rbp + 0x138]
mov rax, qword [rax + 0x1970]
mov rcx, qword [rax + 8]
sub rcx, 0xffffffffffffff80
cmp dword [rax], 0x21
lea rax, [rax + 0x10]
cmovge rax, rcx
movss xmm0, dword [rax]
mulss xmm0, dword [0x18008a150]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm1, xmm0
movss dword [rbp - 8], xmm1
subss xmm11, xmm8
movaps xmm0, xmm11
unpcklps xmm0, xmm9
unpcklps xmm1, xmm10
addps xmm1, xmm0
mov rax, qword [rbp + 0x138]
movss xmm0, dword [rax + 0x1978]
movaps xmm2, xmm6
subss xmm2, xmm0
unpcklps xmm11, xmm10
movq xmm2, xmm2
shufps xmm2, xmmword [0x18008a370], 0xe2
addps xmm2, xmm11
movaps xmm3, xmm15
cmpleps xmm3, xmm2
andps xmm2, xmm3
andnps xmm3, xmm15
orps xmm3, xmm2
movaps xmm4, xmm7
minps xmm1, xmm7
movaps xmm2, xmm3
movlhps xmm2, xmm1
movups xmmword [rbp + 0x28], xmm2
movaps xmm2, xmm7
shufps xmm2, xmm1, 0x11
shufps xmm3, xmm15, 0x11
cmpltps xmm3, xmm2
pslld xmm3, 0x1f
movmskps eax, xmm3
cmp eax, 0xf
jne 0x180057b01
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rax + 0x280]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
lea rdx, [rbp + 0x28]
lea r8, [rbp + 0x30]
mov r9d, edi
call fcn.18003af48
mov rax, qword [rbp + 0x138]
movss xmm0, dword [rax + 0x1978]
mov rdx, qword [rbp + 0x20]
addss xmm10, xmm0
movaps xmm11, xmm12
cmp rdx, rsi
jb 0x1800579bc
mov r14d, dword [rbp + 0x154]
mov rbx, qword [rbp + 0x138]
mov rsi, qword [rbp + 0x128]
movss xmm9, dword [rbp + 0xf0]
mov rdi, qword [rbp + 0x148]
mov r12b, byte [rbp + 0xe0]
mov eax, dword [rbp + 0x124]
movaps xmm6, xmmword [rbp - 0x20]
cmp dword [rbp + 0x118], 0
je 0x180057b69
xor esi, esi
movaps xmm7, xmmword [rbp + 0xa0]
movaps xmm10, xmmword [rbp + 0x90]
jmp 0x180057b90
mov rax, r15
sub rax, rsi
cmp rax, 0x1fffff
movaps xmm7, xmmword [rbp + 0xa0]
movaps xmm10, xmmword [rbp + 0x90]
jg 0x180057bfc
lea rsi, [rbp + 0x50]
mov eax, dword [rbp + 0x124]
movzx ecx, al
movss xmm1, dword [0x1800861c0]
call fcn.180021bf7
mov rcx, qword [rbp + 0xd8]
mov rcx, qword [rcx + 0x280]
movaps xmm0, xmm12
subss xmm0, xmm8
lea r9, [rbp + 0x28]
movss dword [r9], xmm0
movss dword [r9 + 4], xmm6
movss xmm2, dword [rbx + 0x1978]
mov rdx, qword [rbx + 0x1970]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x30], r15
mov rsi, qword [rbp + 0x128]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x38], 0
call fcn.18003b2a0
cmp byte [rbp + 0xf8], 0
je 0x180057d53
movss xmm0, dword [rbx + 0x18]
addss xmm0, dword [rdi + 0xe78]
movss dword [rdi + 0xe78], xmm0
cmp byte [rbx + 0xca], 0
mov al, 1
je 0x180057c5e
xorps xmm1, xmm1
ucomiss xmm1, xmm0
jae 0x180057c5e
movss xmm1, dword [0x180094190]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmodf]
movss xmm1, dword [0x18008a368]
ucomiss xmm1, xmm0
setae al
movss xmm12, dword [rbp + 0xb8]
movss xmm6, dword [rbp + 0xbc]
addss xmm10, xmm6
addss xmm7, xmm12
subss xmm7, xmm8
unpcklps xmm7, xmm10
cvttps2dq xmm0, xmm7
cvtdq2ps xmm6, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
subss xmm0, dword [rbx + 0x1978]
addss xmm0, dword [0x18008a150]
movss dword [rbp + 0x28], xmm6
movss dword [rbp + 0x2c], xmm0
movaps xmm1, xmmword [0x1800941a0]
addps xmm1, xmm6
movlps qword [rbp + 0x30], xmm1
test al, al
mov edi, r14d
je 0x180057d1f
movaps xmm7, xmm1
shufps xmm7, xmm1, 0x55
ucomiss xmm7, dword [rbp + 0x54]
jbe 0x180057d1f
movss xmm2, dword [rbp + 0x5c]
ucomiss xmm2, xmm0
jbe 0x180057d1f
ucomiss xmm1, dword [rbp + 0x50]
jbe 0x180057d1f
movss xmm0, dword [rbp + 0x58]
ucomiss xmm0, xmm6
jbe 0x180057d1f
mov rax, qword [rbp + 0xd8]
mov rsi, qword [rax + 0x280]
movss xmm1, dword [0x1800861c0]
xor ecx, ecx
call fcn.180021bf7
lea r8, [rbp + 0x20]
movss dword [r8], xmm6
movss dword [r8 + 4], xmm7
mov dword [rsp + 0x20], 0x3f800000
lea rdx, [rbp + 0x28]
mov rcx, rsi
mov rsi, qword [rbp + 0x128]
mov r9d, eax
call fcn.18003acec
bt r13d, 0xe
jb 0x180057d56
movss xmm0, dword [rbx + 0x1978]
movss xmm1, dword [0x18008a1a0]
movaps xmm2, xmm6
addps xmm2, xmm1
unpcklps xmm1, xmm0
subps xmm6, xmm1
shufps xmm6, xmm2, 1
shufps xmm6, xmm2, 0xe2
movlps qword [rbx + 0x3080], xmm6
jmp 0x180057d56
mov edi, r14d
movss xmm6, dword [rbp + 0xc8]
test r12b, r12b
jne 0x180057d68
call fcn.180033b20
cmp dword [rbp + 0x118], 0
je 0x180057d96
addss xmm6, dword [rbx + 0x1598]
lea rcx, [rbp + 0x28]
movss dword [rcx], xmm9
movss dword [rcx + 4], xmm6
call fcn.18004fdc7
call fcn.1800323cb
call fcn.180034551
cmp byte [rbx + 0x30ec], 0
sete al
xor r12b, 1
or r12b, al
jne 0x180057e79
mov rax, qword [0x1800a6fb0]
cmp byte [0x1800b52bd], 0
jne 0x180057e04
movabs rcx, 0x54c987adebb5eda5
mov cl, byte [rax + rcx]
movabs rdx, 0x54c987adebb5edc4
xor cl, byte [rax + rdx]
mov byte [0x1800b52bb], cl
movabs rcx, 0x54c987adebb5eda6
mov cl, byte [rax + rcx]
movabs rdx, 0x54c987adebb5edc5
xor cl, byte [rax + rdx]
mov byte [0x1800b52bc], cl
mov byte [0x1800b52bd], 1
cmp byte [0x1800b52ba], 0
jne 0x180057e54
movabs rcx, 0x54c987adebb5ed77
mov cl, byte [rax + rcx]
movabs rdx, 0x54c987adebb5ed8d
xor cl, byte [rax + rdx]
mov byte [0x1800b52b8], cl
movabs rcx, 0x54c987adebb5ed78
mov cl, byte [rax + rcx]
movabs rdx, 0x54c987adebb5ed8e
xor cl, byte [rax + rdx]
mov byte [0x1800b52b9], cl
mov byte [0x1800b52ba], 1
lea rcx, [0x1800b52bb]
lea rdx, [0x1800b52b8]
call fcn.180036241
lea rcx, [rbp + 0xb8]
mov rdx, rsi
mov r8, r15
call fcn.180022592
movss xmm0, dword [rbp + 0x18]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x180057ebe
movss xmm0, dword [rbp + 0x44]
movss xmm1, dword [rbp + 0x48]
addss xmm0, dword [rbx + 0x1598]
addss xmm1, dword [rbx + 0x15ac]
movd ecx, xmm1
movd eax, xmm0
shl rax, 0x20
or rcx, rax
mov rdx, qword [rbp - 0x28]
xor r8d, r8d
mov r9b, 1
call fcn.180022446
mov eax, r13d
shr eax, 0x1b
and eax, 1
mov esi, dword [rbp + 0x114]
mov ecx, esi
xor cl, 1
or cl, al
jne 0x180057edd
mov ecx, edi
call fcn.1800247f8
test r13b, 0x20
movzx ecx, sil
movzx eax, byte [rbp + 0x130]
cmove eax, ecx
jmp 0x180055bde
lea rax, [rbx + 0x142]
mov qword [rbp], rax
lea rax, [rbx + 0x140]
mov qword [rbp + 0xd0], rax
mov dl, byte [rbx + 0x140]
mov r12d, dword [rbx + 0x3bc]
mov dword [rbp + 0x130], 0
mov dword [rbp + 0x114], 0
mov esi, dword [rbp + 0x108]
jmp 0x180057f40
mov dword [rbp + 0x114], 0
mov byte [rbp + 0x147], dl
cmp r12d, r14d
jne 0x180057fa7
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x88]
test ecx, ecx
js 0x180057fa7
mov dl, 1
call fcn.180031b13
test al, al
je 0x180057fa7
test r13w, r13w
sets al
mov ecx, r13d
shr ecx, 0xe
and ecx, 1
or cl, al
mov eax, ecx
xor al, 1
mov dword [rbp + 0xec], eax
test cl, cl
jne 0x180058031
cmp dword [rbp + 0x118], 0
jne 0x18005800a
jmp 0x180058031
cmp r12d, 2
jne 0x180058022
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x180058022
test r13w, r13w
sets bl
mov esi, r13d
shr esi, 0xe
and esi, 1
mov dl, 1
call fcn.180031b13
xor al, 1
or sil, bl
or sil, al
mov eax, esi
xor al, 1
mov dword [rbp + 0xec], eax
test sil, sil
jne 0x1800584b7
cmp dword [rbp + 0x118], 0
mov esi, dword [rbp + 0x108]
je 0x18005802c
mov rcx, qword [rbp + 0x148]
mov eax, dword [rcx + 0x50]
cmp eax, dword [rcx + 0x54]
setne al
mov dword [rbp + 0xec], eax
jmp 0x18005802c
mov dword [rbp + 0xec], 0
cmp r12d, r14d
jne 0x18005806c
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x80]
test ecx, ecx
js 0x18005806c
mov dl, 1
call fcn.180031b13
test al, al
je 0x18005806c
mov eax, r13d
and eax, 0x4008000
cmp eax, 0x4000000
je 0x1800580af
jmp 0x1800580c9
cmp r12d, 1
jne 0x1800580c2
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x1800580c2
test r13w, r13w
setns bl
mov dl, 1
call fcn.180031b13
mov esi, eax
and sil, bl
cmp dword [rbp + 0x118], 0
je 0x1800580c4
test sil, sil
je 0x1800580c4
mov rcx, qword [rbp + 0x148]
mov eax, dword [rcx + 0x50]
cmp eax, dword [rcx + 0x54]
setne sil
jmp 0x1800580c4
xor esi, esi
cmp r12d, r14d
jne 0x1800580f3
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x84]
test ecx, ecx
js 0x1800580f3
mov dl, 1
call fcn.180031b13
test al, al
jne 0x180058120
cmp r12d, 2
jne 0x180058130
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180058130
mov dl, 1
call fcn.180031b13
test al, al
je 0x180058130
bt r13d, 0xe
setae al
mov dword [rbp + 0xc4], eax
jmp 0x18005813a
mov dword [rbp + 0xc4], 0
cmp r12d, r14d
mov dword [rbp + 0x108], esi
jne 0x18005817a
mov rax, qword [0x1800a7080]
movabs rbx, 0x9e4ad52570629d12
mov rax, qword [rax + rbx]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x18005817e
mov dl, 1
call fcn.180031b13
mov esi, eax
mov rax, qword [0x1800a7080]
mov rax, qword [rax + rbx]
jmp 0x180058180
xor esi, esi
jmp 0x1800581ab
xor esi, esi
bt r13d, 0x10
setae cl
bt r13d, 0xe
setae bl
and sil, bl
and sil, cl
mov ecx, dword [rax + 0x8c]
test ecx, ecx
js 0x1800581ab
mov dl, 1
call fcn.180031b13
test al, al
jne 0x1800581ed
cmp byte [rbp + 0x130], 0
je 0x1800581ff
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x90]
test ecx, ecx
mov rbx, qword [rbp + 0x138]
js 0x180058212
mov dl, 1
call fcn.180031b13
test al, al
je 0x180058212
bt r13d, 0xe
setae bl
bt r13d, 0x10
setae al
and al, bl
mov dword [rbp + 0x130], eax
jmp 0x180058209
mov dword [rbp + 0x130], 0
mov rbx, qword [rbp + 0x138]
jmp 0x18005821c
mov dword [rbp + 0x130], 0
shl edi, 0x16
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x18005827d
mov dl, 1
call fcn.180031b13
test al, al
je 0x180058268
cmp byte [rbp + 0x147], 0
mov eax, 0x200000
mov ecx, 0x20000c
cmove ecx, eax
cmp byte [rbp + 0x114], 0
mov edx, 0x200004
jmp 0x1800582b3
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x44]
test ecx, ecx
js 0x180058324
mov dl, 1
call fcn.180031b13
test al, al
je 0x18005830f
cmp byte [rbp + 0x147], 0
mov eax, 0x200001
mov ecx, 0x20000d
cmove ecx, eax
cmp byte [rbp + 0x114], 0
mov edx, 0x200005
cmove edx, ecx
or edx, edi
mov rsi, qword [rbp + 0x148]
mov rcx, rsi
call fcn.180058c76
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x130], rax
mov edi, dword [rbp + 0x154]
mov r14, qword [rbp + 0x128]
mov eax, dword [rsi + 0x50]
cmp eax, dword [rsi + 0x54]
movzx eax, byte [rbp + 0xf0]
movzx ecx, byte [rbp + 0xf8]
cmove ecx, eax
mov dword [rbp + 0xf0], ecx
mov eax, dword [rbx + 0x1c50]
mov r12b, byte [rbp + 0xe0]
jmp 0x180056c7e
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x180058385
mov dl, 1
call fcn.180031b13
cmp dword [rbp + 0x118], 0
je 0x180058370
test al, al
je 0x180058370
mov rax, qword [rbp + 0xd0]
cmp byte [rax], 0
je 0x1800584c2
mov rcx, qword [rbp + 0xd8]
movss xmm0, dword [rcx + 0x60]
subss xmm0, dword [rbx + 0x1978]
xorps xmm1, xmm1
cmpless xmm1, xmm0
andps xmm1, xmm0
jmp 0x1800583d1
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x180058410
mov dl, 1
call fcn.180031b13
cmp dword [rbp + 0x118], 0
je 0x1800583fb
test al, al
je 0x1800583fb
mov rax, qword [rbp + 0xd0]
cmp byte [rax], 0
je 0x180058519
call fcn.180034ee0
mov rcx, qword [rbp + 0xd8]
movss xmm1, dword [rcx + 0x60]
addss xmm1, dword [rbx + 0x1978]
minss xmm1, xmm0
call fcn.180034f02
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x130], rax
mov edi, dword [rbp + 0x154]
mov r14, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x148]
jmp 0x1800582e0
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x50]
test ecx, ecx
js 0x18005846e
mov dl, 1
call fcn.180031b13
cmp dword [rbp + 0x118], 0
je 0x180058459
test al, al
je 0x180058459
or edi, 0x20000e
mov rsi, qword [rbp + 0x148]
mov rcx, rsi
mov edx, edi
call fcn.180058c76
cvtsi2ss xmm0, r15d
mulss xmm0, dword [rbx + 0x1978]
subss xmm14, xmm0
jmp 0x1800582c7
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x54]
test ecx, ecx
js 0x1800584ee
mov dl, 1
call fcn.180031b13
cmp dword [rbp + 0x118], 0
je 0x1800584d9
test al, al
je 0x1800584d9
or edi, 0x20000f
mov rsi, qword [rbp + 0x148]
mov rcx, rsi
mov edx, edi
call fcn.180058c76
cvtsi2ss xmm0, r15d
mulss xmm0, dword [rbx + 0x1978]
addss xmm14, xmm0
jmp 0x1800582c7
mov esi, dword [rbp + 0x108]
jmp 0x18005802c
movzx edx, byte [rbp + 0x114]
shl edx, 2
or edx, edi
or edx, 0x200002
jmp 0x1800582b8
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x180058545
mov dl, 1
call fcn.180031b13
test al, al
je 0x180058530
mov rax, qword [rbp + 0xd0]
movzx edx, byte [rax]
add edx, edx
or edx, edi
or edx, 0x200004
jmp 0x1800582b8
movzx edx, byte [rbp + 0x114]
shl edx, 2
or edx, edi
or edx, 0x200003
jmp 0x1800582b8
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x180058585
mov dl, 1
call fcn.180031b13
test al, al
je 0x180058570
mov rax, qword [rbp + 0xd0]
movzx edx, byte [rax]
add edx, edx
or edx, edi
or edx, 0x200005
jmp 0x1800582b8
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x1800585ca
mov dl, 1
call fcn.180031b13
bt r13d, 0xe
jb 0x1800585b5
test al, al
je 0x1800585b5
or edi, 0x200008
mov rsi, qword [rbp + 0x148]
mov rcx, rsi
mov edx, edi
jmp 0x1800582c2
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x68]
test ecx, ecx
js 0x180058669
mov dl, 1
call fcn.180031b13
bt r13d, 0xe
jb 0x180058654
test al, al
je 0x180058654
mov rcx, qword [rbp + 0x148]
mov eax, dword [rcx + 0x50]
cmp eax, dword [rcx + 0x54]
mov r13d, dword [rbp + 0x154]
mov r14, qword [rbp + 0x128]
jne 0x180058622
mov edx, 0x60000c
cmp byte [rbp + 0x147], 0
je 0x180058887
mov rcx, qword [rbp + 0x148]
call fcn.180058c76
or edi, 0x200009
mov rsi, qword [rbp + 0x148]
mov rcx, rsi
mov edx, edi
call fcn.180058c76
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x130], rax
mov edi, r13d
mov r13d, dword [rbp + 0x278]
jmp 0x1800582e0
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x70]
test ecx, ecx
js 0x180058690
mov dl, 1
call fcn.180031b13
test al, al
jne 0x1800586a6
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x78]
test ecx, ecx
js 0x18005871b
mov dl, 1
call fcn.180031b13
test al, al
je 0x180058706
mov al, 1
mov qword [rbp + 0x130], rax
cmp dword [rbp + 0x118], 0
je 0x180058701
bt r13d, 0xb
mov rax, qword [rbp + 0xd0]
mov al, byte [rax]
jb 0x180058827
test al, al
movzx edx, byte [rbp + 0xa0]
mov ecx, 1
cmove ecx, edx
xor r15d, r15d
bt r13d, 0xe
jb 0x1800586ef
test al, al
je 0x180058840
mov qword [rbp + 0x130], rax
mov dword [rbp + 0xa0], ecx
jmp 0x180058abb
xor r15d, r15d
jmp 0x180058739
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x74]
test ecx, ecx
js 0x180058746
mov r15b, 1
mov dl, 1
call fcn.180031b13
test al, al
je 0x180058746
xor eax, eax
mov qword [rbp + 0x130], rax
mov al, 1
mov dword [rbp + 0xa0], eax
jmp 0x1800583e2
mov eax, dword [rbp + 0x130]
or al, sil
cmp al, 1
jne 0x18005877a
movzx edx, sil
xor edx, 0x20000b
mov rsi, qword [rbp + 0x148]
mov rcx, rsi
call fcn.180058c76
mov eax, dword [rsi + 0x4c]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x50], eax
jmp 0x1800582c7
cmp r12d, r14d
jne 0x1800587cd
mov rax, qword [0x1800a7080]
movabs rcx, 0x9e4ad52570629d12
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x7c]
test ecx, ecx
js 0x1800587cd
mov dl, 1
call fcn.180031b13
test al, al
je 0x1800587cd
mov rsi, qword [rbp + 0x148]
mov dword [rsi + 0x50], 0
mov eax, dword [rsi + 4]
mov dword [rsi + 0x54], eax
mov dword [rsi + 0x4c], eax
mov byte [rsi + 0x62], 0
mov byte [rsi + 0xe7c], 1
jmp 0x180058a7d
mov rax, qword [rbp + 0x148]
lea r12, [rax + 0x4c]
mov eax, dword [rbp + 0x108]
or al, byte [rbp + 0xec]
cmp al, 1
jne 0x1800588c8
mov rax, qword [rbp + 0x138]
cmp qword [rax + 0x108], 0
je 0x180058a14
mov rax, qword [rbp + 0x148]
mov edx, dword [rax + 0x50]
mov eax, dword [rax + 0x54]
cmp edx, eax
jne 0x1800589b8
mov rax, qword [rbp + 0x148]
mov eax, dword [rax + 4]
xor ecx, ecx
jmp 0x1800589c0
xor r15d, r15d
test al, al
je 0x1800589ab
bt dword [rbp + 0x278], 0xe
jb 0x180058ab2
lea rcx, [rbp + 0x50]
mov dword [rcx], 0xa
mov dword [rsp + 0x20], 2
mov edx, dword [rbp + 0x278]
mov r8, qword [rbp + 0x280]
mov r9, qword [rbp + 0x288]
call fcn.180059c9f
test al, al
je 0x180058aaf
mov edx, dword [rbp + 0x50]
mov rcx, qword [rbp + 0x148]
call fcn.180058c76
jmp 0x180058aaf
cmp byte [rbp + 0x107], 0
je 0x180058622
cmp byte [rbx + 0x143], 0
je 0x180058622
mov rax, qword [rbp]
cmp byte [rax], 0
jne 0x180058622
mov rax, qword [rbp + 0xd0]
cmp byte [rax], 0
jne 0x180058622
mov edx, 0x600004
jmp 0x180058616
xor r15d, r15d
cmp byte [rbp + 0xc4], 0
je 0x180058ab2
call fcn.180024df5
test rax, rax
je 0x180058aaf
mov r14, rax
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
shl rax, 0x20
movabs rcx, 0x100000000
add rcx, rax
sar rcx, 0x1f
call fcn.1800204e6
mov rbx, rax
cmp byte [r14], 0
je 0x180058aa2
xor esi, esi
lea rdi, [rbp + 0x50]
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
call fcn.180020253
cmp dword [rbp + 0x50], 0
je 0x180058976
mov r15d, eax
mov dword [rsp + 0x20], 5
mov rcx, rdi
mov edx, dword [rbp + 0x278]
mov r8, qword [rbp + 0x280]
mov r9, qword [rbp + 0x288]
call fcn.180059c9f
test al, al
je 0x18005896a
movzx eax, word [rbp + 0x50]
movsxd rcx, esi
inc esi
mov word [rbx + rcx*2], ax
movsxd rax, r15d
add r14, rax
cmp byte [r14], 0
jne 0x18005891e
movsxd rax, esi
mov word [rbx + rax*2], 0
test eax, eax
jle 0x180058aa7
mov rdi, qword [rbp + 0x148]
mov rcx, rdi
mov rdx, r12
mov r8, rbx
mov r9d, esi
call fcn.180059e5b
mov byte [rdi + 0xe7c], 1
jmp 0x180058aa7
mov al, 1
mov dword [rbp + 0xa0], eax
jmp 0x180058abb
mov ecx, eax
cmovl ecx, edx
cmovg eax, edx
mov r15, qword [rbp + 0x148]
mov r8, qword [r15 + 0x18]
movsxd rbx, eax
lea rdx, [r8 + rbx*2]
movsxd r14, ecx
lea rcx, [r8 + r14*2]
call fcn.180020da8
inc eax
movsxd rsi, eax
mov rcx, rsi
call fcn.1800204e6
mov rdi, rax
mov rax, qword [r15 + 0x18]
lea r9, [rax + rbx*2]
lea r8, [rax + r14*2]
mov rcx, rdi
mov edx, esi
call fcn.180020cdd
mov rcx, rdi
call fcn.180024e28
mov rcx, rdi
call fcn.1800205fd
xor r15d, r15d
cmp byte [rbp + 0xec], 0
je 0x180058ab2
mov rax, qword [rbp + 0x148]
mov ecx, dword [rax + 0x50]
mov eax, dword [rax + 0x54]
cmp ecx, eax
jne 0x180058a52
mov rcx, qword [rbp + 0x148]
mov dword [rcx + 0x50], 0
mov eax, dword [rcx + 4]
mov dword [rcx + 0x54], eax
mov dword [rcx + 0x4c], eax
mov byte [rcx + 0x62], 0
xor ecx, ecx
mov rdx, qword [rbp + 0x148]
mov byte [rdx + 0xe7c], 1
xor r15d, r15d
cmp ecx, eax
je 0x180058ab2
mov rsi, qword [rbp + 0x148]
mov rcx, rsi
mov rdx, r12
call fcn.18005cc81
mov byte [rsi + 0x62], 0
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x130], rax
mov r13d, dword [rbp + 0x278]
mov edi, dword [rbp + 0x154]
mov rbx, qword [rbp + 0x138]
jmp 0x1800582d9
mov word [rbx], 0
mov rcx, rbx
call fcn.1800205fd
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x130], rax
mov r13d, dword [rbp + 0x278]
mov edi, dword [rbp + 0x154]
mov rbx, qword [rbp + 0x138]
jmp 0x1800583e8