Function at 0x1800569e2
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, 0x278
lea rbp, [rsp + 0x80]
vmovaps xmmword [rbp + 0x1e0], xmm15
vmovaps xmmword [rbp + 0x1d0], xmm14
vmovaps xmmword [rbp + 0x1c0], xmm13
vmovaps xmmword [rbp + 0x1b0], xmm12
vmovaps xmmword [rbp + 0x1a0], xmm11
vmovaps xmmword [rbp + 0x190], xmm10
vmovaps xmmword [rbp + 0x180], xmm9
vmovaps xmmword [rbp + 0x170], xmm8
vmovaps xmmword [rbp + 0x160], xmm7
vmovaps xmmword [rbp + 0x150], xmm6
mov qword [rbp + 0x148], 0xfffffffffffffffe
mov r15, rcx
mov rax, qword [0x1800aab70]
movabs rcx, 0xa2cb00830182675
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 0x180056af5
xor eax, eax
vmovaps xmm6, xmmword [rbp + 0x150]
vmovaps xmm7, xmmword [rbp + 0x160]
vmovaps xmm8, xmmword [rbp + 0x170]
vmovaps xmm9, xmmword [rbp + 0x180]
vmovaps xmm10, xmmword [rbp + 0x190]
vmovaps xmm11, xmmword [rbp + 0x1a0]
vmovaps xmm12, xmmword [rbp + 0x1b0]
vmovaps xmm13, xmmword [rbp + 0x1c0]
vmovaps xmm14, xmmword [rbp + 0x1d0]
vmovaps xmm15, xmmword [rbp + 0x1e0]
add rsp, 0x278
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rsi, rdx
mov qword [rbp + 0x80], r9
mov qword [rbp + 0x108], r8
mov ebx, dword [rbp + 0x268]
mov rax, qword [0x1800aaf70]
movabs rcx, 0x5e7b7472e9ab3c65
mov rax, qword [rax + rcx]
mov qword [rbp + 0x130], rax
test bx, bx
setns r12b
mov r13d, ebx
and r13d, 0x4000000
je 0x180056b40
call fcn.180035d06
mov rdi, qword [rbp + 0x260]
mov qword [rbp + 0xe8], r14
mov rcx, r14
mov rdx, r15
xor r8d, r8d
call fcn.180024c76
mov r14d, eax
mov dword [rsp + 0x20], 0xbf800000
lea rcx, [rbp + 0x14]
mov rdx, r15
xor r8d, r8d
mov r9b, 1
call fcn.180023c4d
test r13d, r13d
je 0x180056b97
mov rax, qword [rbp + 0x130]
vmovss xmm0, dword [rax + 0x1978]
vmulss xmm0, xmm0, dword [0x180096c90]
jmp 0x180056ba3
vmovss xmm0, dword [rbp + 0x18]
mov rax, qword [rbp + 0x130]
vmovss xmm6, dword [rax + 0x1598]
vfmadd132ss xmm6, xmm0, dword [0x18008c6c4]
call fcn.180035b12
mov rdx, qword [rdi]
lea rdi, [rbp - 0x30]
mov rcx, rdi
vmovaps xmm2, xmm0
vmovaps xmm3, xmm6
call fcn.180035bba
vmovsd xmm7, qword [rdi]
vmovss xmm1, dword [rbp + 0x14]
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
jbe 0x180056bf2
mov rax, qword [rbp + 0x130]
vaddss xmm0, xmm1, dword [rax + 0x15ac]
vmovaps xmm11, xmm7
vaddss xmm0, xmm7, xmm0
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 0xd8]
mov qword [rbp + 0x30], rax
vmovq xmm1, rax
vaddps xmm2, xmm7, xmm1
vmovlps qword [rbp + 0x38], xmm2
mov qword [rbp - 0x18], rax
vblendps xmm0, xmm0, xmm7, 2
vaddps xmm0, xmm0, xmm1
vmovlps qword [rbp - 0x10], xmm0
test r13d, r13d
je 0x180056d69
lea rcx, [rbp - 0x18]
lea r8, [rbp + 0x30]
mov edx, r14d
mov r9d, 1
call fcn.1800336bb
test al, al
je 0x180056e6a
mov dword [rbp + 0x100], r12d
mov r12, qword [rbp + 0x130]
mov eax, dword [r12 + 0x1cc8]
mov dword [rbp + 0x124], eax
lea rdx, [r12 + 0x1690]
mov ecx, 3
call fcn.180022d1e
vmovss xmm1, dword [r12 + 0x159c]
mov ecx, 7
call fcn.180022f08
vmovss xmm1, dword [r12 + 0x15a0]
mov ecx, 8
call fcn.180022f08
vmovsd xmm0, qword [rbp + 0x30]
vmovsd xmm1, qword [rbp + 0x38]
vsubps xmm0, xmm1, xmm0
lea r8, [rbp + 0x40]
vmovlps qword [r8], xmm0
mov dword [rsp + 0x20], 4
mov rcx, r15
mov edx, r14d
mov r9b, 1
call fcn.180032d50
mov edi, eax
mov ecx, 2
call fcn.180023238
mov ebx, 1
mov ecx, 1
call fcn.180022ea8
test dil, dil
je 0x180056f02
mov rcx, qword [r12 + 0x1c08]
mov al, byte [rcx + 0x124]
shlx eax, ebx, eax
or word [rcx + 0x12a], ax
vmovss xmm0, dword [r12 + 0x1594]
vaddss xmm0, xmm0, dword [rcx + 0xd8]
vmovss dword [rcx + 0xd8], xmm0
vmovss xmm0, dword [r12 + 0x1598]
vaddss xmm0, xmm0, dword [rcx + 0xdc]
vmovss dword [rcx + 0xdc], xmm0
mov qword [rbp + 0xe0], rcx
vsubss xmm9, xmm11, dword [rcx + 0x84]
vmovaps xmm11, xmm9
mov rbx, r12
mov r12d, dword [rbp + 0x100]
jmp 0x180056dcb
mov rax, qword [rbp + 0x130]
vmovss xmm1, dword [rax + 0x1598]
lea rcx, [rbp - 0x18]
call fcn.180035a23
bt ebx, 0x1c
jb 0x180056da5
lea rcx, [rbp - 0x18]
lea r8, [rbp + 0x30]
mov edx, r14d
mov r9d, 1
call fcn.1800336bb
test al, al
je 0x180056a8f
mov rbx, qword [rbp + 0x130]
mov eax, dword [rbx + 0x1cc8]
mov dword [rbp + 0x124], eax
vxorps xmm9, xmm9, xmm9
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xe0], rax
mov dword [rbp + 0x100], r12d
lea rcx, [rbp + 0x30]
mov dword [rbp + 0x140], r14d
mov edx, r14d
call fcn.18002588b
test al, al
je 0x180056df3
mov dword [rbx + 0x1f70], 1
mov rdx, qword [0x1800ab048]
movabs rcx, 0xd5cc103a89e59ea1
mov r10, qword [rdx + rcx]
lea rcx, [r10 + 0x20d8]
mov r12d, dword [r10 + 0x20d8]
xor r9d, r9d
cmp r12d, dword [rbp + 0x140]
mov r14d, 0
mov qword [rbp + 0xf0], rcx
cmove r14, rcx
test al, al
je 0x180056e40
cmp byte [rbx + 0x420], 0
setne r9b
mov rcx, rbx
mov ebx, dword [rbx + 0x1c50]
mov r8d, dword [rbp + 0x140]
cmp ebx, r8d
mov byte [rbp + 0xc8], al
mov edi, r13d
jne 0x180056e87
mov dword [rbp + 0x118], 0
jmp 0x180056ebd
mov rax, qword [rbp + 0x130]
vmovss xmm1, dword [rax + 0x1598]
lea rcx, [rbp - 0x18]
call fcn.180035a23
jmp 0x180056f07
mov dl, 1
mov dword [rbp + 0x118], edx
cmp dword [rcx + 0x1e0c], r8d
je 0x180056ebd
mov eax, dword [rbp + 0x140]
mov rcx, qword [rbp + 0x130]
cmp dword [rcx + 0x1e00], eax
jne 0x180056e5e
cmp dword [rcx + 0x1e24], 2
sete al
mov dword [rbp + 0x118], eax
xor r13d, r13d
test edi, edi
mov qword [rbp], rsi
je 0x180056efd
cmp r12d, dword [rbp + 0x140]
jne 0x180056efd
mov qword [rbp + 0x110], r10
mov qword [rbp + 0xb0], r9
mov qword [rbp + 0x138], r14
test ebx, ebx
je 0x180056f11
xor r13d, r13d
mov r14, qword [rbp + 0x130]
mov rsi, qword [rbp + 0xe0]
jmp 0x180056f40
xor r8d, r8d
jmp 0x180056f73
call fcn.1800333cb
call fcn.180035717
jmp 0x180056a8f
mov r14, qword [rbp + 0x130]
mov ebx, dword [r14 + 0x1c90]
mov rsi, qword [rbp + 0xe0]
mov rcx, rsi
mov edx, 1
call fcn.18004f9e0
cmp ebx, eax
sete r13b
mov ebx, dword [r14 + 0x1c50]
mov rcx, rsi
mov edx, 1
call fcn.18004f9e0
cmp ebx, eax
sete r8b
mov ebx, dword [r14 + 0x1c50]
mov rsi, qword [rbp]
mov r14, qword [rbp + 0x138]
mov r9, qword [rbp + 0xb0]
mov r10, qword [rbp + 0x110]
mov qword [rbp - 0x28], r15
cmp ebx, dword [rbp + 0x140]
je 0x180056fa2
test edi, edi
sete al
mov r15d, dword [rbp + 0x268]
shr r15b, 4
or r15b, byte [rbp + 0x118]
and r15b, al
mov dword [rbp + 0x128], r15d
jmp 0x180056fac
mov dword [rbp + 0x128], 0
mov dword [rbp + 0x110], edi
test edi, edi
je 0x180056fc4
mov rax, qword [rbp + 0xe0]
vmovss xmm10, dword [rax + 0x60]
jmp 0x180056fcc
vmovss xmm10, dword [0x18008c4f8]
cmp r12d, dword [rbp + 0x140]
jne 0x180057041
cmp dword [rbp + 0x110], 0
sete al
mov cl, byte [r10 + 0x213b]
cmp cl, al
setne r10b
or r13b, r9b
or r13b, byte [rbp + 0x118]
test dword [rbp + 0x124], 0x300
setne dil
or dil, r13b
mov edx, edi
or dl, r8b
mov r13d, dword [rbp + 0x268]
jne 0x180057072
mov r10b, 1
xor r15d, r15d
mov edi, 0
cmp cl, al
mov rbx, qword [rbp + 0x130]
jne 0x1800570d3
mov edi, dword [rbp + 0x140]
mov r12, qword [rbp + 0xf0]
jmp 0x1800574d4
or r13b, r9b
or r13b, byte [rbp + 0x118]
test dword [rbp + 0x124], 0x300
setne dil
or dil, r13b
mov eax, edi
or al, r8b
xor r15d, r15d
cmp al, 1
jne 0x18005708b
xor r10d, r10d
mov r13d, dword [rbp + 0x268]
mov r15b, 1
cmp ebx, dword [rbp + 0x140]
jne 0x1800570cc
test r10b, r10b
mov rbx, qword [rbp + 0x130]
je 0x18005709c
jmp 0x1800570d3
xor r14d, r14d
mov r13d, dword [rbp + 0x268]
mov rbx, qword [rbp + 0x130]
mov eax, dword [rbx + 0x1c50]
test r14, r14
jne 0x180057132
mov edi, dword [rbp + 0x140]
cmp eax, edi
jne 0x1800574dd
mov r14d, r8d
call fcn.1800256d2
mov r8d, r14d
xor r12d, r12d
jmp 0x1800574d4
mov rbx, qword [rbp + 0x130]
mov qword [rbp + 0xf0], r10
mov qword [rbp + 0xb0], r9
mov dword [rbp + 0x138], r8d
mov qword [rbp + 0xd0], r15
mov dword [rbx + 0x2f50], 0xbe99999a
mov rcx, qword [rbp + 0x108]
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 0x18005711c
mov r14, qword [rbx + 0x2110]
jmp 0x180057198
test ecx, ecx
je 0x18005713d
mov r13d, ecx
shr r13d, 0x1f
add r13d, ecx
sar r13d, 1
add r13d, ecx
jmp 0x180057143
mov edi, dword [rbp + 0x140]
jmp 0x1800574dd
mov r13d, 8
cmp r13d, r12d
cmovle r13d, r12d
movsxd rcx, r13d
call fcn.180020d2d
mov r14, rax
mov rbx, qword [rbp + 0x130]
mov rdx, qword [rbx + 0x2110]
test rdx, rdx
je 0x180057183
movsxd r8, dword [rbx + 0x2108]
mov rcx, r14
call fcn.180084d00
mov rcx, qword [rbx + 0x2110]
call fcn.180020e44
mov qword [rbx + 0x2110], r14
mov dword [rbx + 0x210c], r13d
mov r13d, dword [rbp + 0x268]
mov dword [rbx + 0x2108], r12d
movsxd r8, r12d
mov rcx, r14
mov rdx, qword [rbp + 0x108]
call fcn.180084d00
mov qword [rbp + 0x40], 0
mov rcx, qword [rbp + 0x80]
lea r12d, [rcx + 1]
mov eax, dword [rbx + 0x20ec]
cmp eax, ecx
jg 0x180057245
test eax, eax
je 0x1800571e4
mov r13d, eax
shr r13d, 0x1f
add r13d, eax
sar r13d, 1
add r13d, eax
jmp 0x1800571ea
mov r13d, 8
cmp r13d, r12d
cmovle r13d, r12d
movsxd rcx, r13d
add rcx, rcx
call fcn.180020d2d
mov r14, rax
mov rbx, qword [rbp + 0x130]
mov rdx, qword [rbx + 0x20f0]
test rdx, rdx
je 0x180057230
movsxd r8, dword [rbx + 0x20e8]
add r8, r8
mov rcx, r14
call fcn.180084d00
mov rcx, qword [rbx + 0x20f0]
call fcn.180020e44
mov qword [rbx + 0x20f0], r14
mov dword [rbx + 0x20ec], r13d
mov r13d, dword [rbp + 0x268]
mov dword [rbx + 0x20e8], r12d
cmp dword [rbx + 0x20fc], 0
jns 0x180057297
xor ecx, ecx
call fcn.180020d2d
mov r14, rax
mov rdx, qword [rbx + 0x2100]
test rdx, rdx
je 0x180057286
movsxd r8, dword [rbx + 0x20f8]
mov rcx, r14
call fcn.180084d00
mov rcx, qword [rbx + 0x2100]
call fcn.180020e44
mov qword [rbx + 0x2100], r14
mov dword [rbx + 0x20fc], 0
mov r15d, r13d
mov dword [rbx + 0x20f8], 0
mov byte [rbx + 0x2118], 0
mov rcx, qword [rbx + 0x20f0]
lea r14, [rbp + 0x40]
mov qword [rsp + 0x20], r14
xor r12d, r12d
mov rdx, qword [rbp + 0x80]
mov r13, qword [rbp + 0x108]
mov r8, r13
xor r9d, r9d
call fcn.1800214ba
mov dword [rbx + 0x20dc], eax
mov ecx, dword [r14]
sub ecx, r13d
mov dword [rbx + 0x20e0], ecx
mov r14d, dword [rbp + 0x140]
cmp dword [rbx + 0x20d8], r14d
setne cl
or cl, byte [rbp + 0xf0]
je 0x18005739a
bt dword [rbp + 0x124], 8
movzx eax, byte [rbp + 0x128]
mov r8d, 1
cmovae r8d, eax
cmp dword [rbp + 0x110], 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 r8d, eax
mov dword [rbp + 0x128], r8d
jmp 0x1800573c6
vmovq xmm0, qword [rbx + 0x2124]
vpbroadcastd xmm1, eax
vpminsd xmm0, xmm0, xmm1
vmovq qword [rbx + 0x2124], xmm0
mov ecx, dword [rbx + 0x212c]
cmp ecx, eax
cmovl eax, ecx
mov dword [rbx + 0x212c], eax
mov r13d, r15d
mov r15, qword [rbp + 0xd0]
mov r8d, dword [rbp + 0x138]
mov rax, qword [rbp + 0xb0]
bt r13d, 0xd
jae 0x1800573ec
mov byte [rbx + 0x2130], 1
cmp dword [rbp + 0x110], 0
jne 0x180057414
bt dword [rbp + 0x124], 9
jb 0x18005740c
test al, al
je 0x180057414
cmp byte [rbx + 0x140], 0
je 0x180057414
mov al, 1
mov dword [rbp + 0x128], eax
cmp dword [rbx + 0x1c50], r14d
lea r12, [rbx + 0x20d8]
sete al
xor dil, 1
or dil, al
jne 0x1800574d1
mov ecx, r14d
mov rdi, qword [rbp + 0xe8]
mov rdx, rdi
call fcn.1800255c5
mov ecx, r14d
mov rdx, rdi
call fcn.1800373dd
mov rcx, rdi
call fcn.1800270f7
test r13d, 0x4000080
mov eax, 3
mov ecx, 0xf
cmove ecx, eax
cmp dword [rbp + 0x110], 0
vmovq xmm0, qword [rbx + 0x1c64]
vpbroadcastd xmm1, dword [0x180096cd0]
vpinsrd xmm1, xmm1, ecx, 0
vpor xmm0, xmm0, xmm1
vmovq qword [rbx + 0x1c64], xmm0
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 0x1800574c8
or rax, 1
mov qword [rbx + 0x1c70], rax
mov r8d, dword [rbp + 0x138]
jmp 0x1800574d4
mov edi, r14d
mov eax, dword [rbx + 0x1c50]
mov r14, r12
cmp eax, edi
jne 0x180057503
cmp byte [rbx + 0x420], 0
sete al
or r15b, al
mov eax, r15d
xor al, 1
mov dword [rbp + 0xf0], eax
mov al, 1
mov dword [rbp + 0xe8], eax
jmp 0x18005751f
test r14, r14
setne al
and al, r8b
mov dword [rbp + 0xe8], eax
mov r15b, 1
mov dword [rbp + 0xf0], 0
mov qword [rbp + 0xd0], r15
test r14, r14
mov qword [rbp + 0x138], r14
je 0x18005757a
mov eax, r13d
shr eax, 0xe
mov ecx, dword [r14 + 0x50]
cmp ecx, dword [r14 + 0x54]
setne r15b
mov ecx, dword [rbp + 0xe8]
and r15b, cl
and al, cl
cmp al, 1
jne 0x180057647
mov qword [rbp + 0x40], 0
mov rcx, qword [rbp + 0x80]
lea esi, [rcx + 1]
mov eax, dword [r14 + 0x14]
mov r12d, r13d
cmp eax, ecx
jle 0x180057582
mov r13, qword [r14 + 0x18]
jmp 0x1800575db
xor r15d, r15d
jmp 0x180057647
test eax, eax
je 0x180057593
mov edi, eax
shr edi, 0x1f
add edi, eax
sar edi, 1
add edi, eax
jmp 0x180057598
mov edi, 8
cmp edi, esi
cmovle edi, esi
movsxd rcx, edi
add rcx, rcx
call fcn.180020d2d
mov r13, rax
mov r14, qword [rbp + 0x138]
mov rdx, qword [r14 + 0x18]
test rdx, rdx
je 0x1800575d3
movsxd r8, dword [r14 + 0x10]
add r8, r8
mov rcx, r13
call fcn.180084d00
mov rcx, qword [r14 + 0x18]
call fcn.180020e44
mov qword [r14 + 0x18], r13
mov dword [r14 + 0x14], edi
mov dword [r14 + 0x10], esi
lea rdi, [rbp + 0x40]
mov qword [rsp + 0x20], rdi
mov rcx, r13
mov edx, esi
mov rsi, qword [rbp + 0x108]
mov r8, rsi
xor r9d, r9d
call fcn.1800214ba
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 r15b, al
mov rsi, qword [rbp]
mov r13d, r12d
mov edi, dword [rbp + 0x140]
mov eax, dword [rbp + 0xe8]
xor ecx, ecx
or al, r15b
je 0x18005765b
test r14, r14
jne 0x180057668
jmp 0x18005767a
test r14, r14
je 0x18005767a
cmp dword [rbx + 0x1c50], edi
jne 0x18005767a
mov eax, r13d
and eax, 0x4000
jne 0x18005767a
cmp byte [r14 + 0x40], 0
setne cl
test rsi, rsi
mov dword [rbp + 0xb0], r15d
mov dword [rbp + 0x1c], ecx
je 0x1800576a1
mov rax, qword [rbp + 0x108]
test cl, cl
je 0x180057698
mov rax, qword [r14 + 0x28]
cmp byte [rax], 0
sete r15b
jmp 0x1800576a4
xor r15d, r15d
test r13w, r13w
setns r12b
or r12b, r15b
jne 0x180057727
mov rcx, qword [rbx + 0x1970]
mov dx, 0x2a
call fcn.18004469e
lea rcx, [rbx + 0x2f70]
mov rdx, qword [rbx + 0x1970]
vmovss xmm0, dword [rdx + 0x14]
vmovss dword [rbx + 0x2f84], xmm0
vmovss xmm0, dword [rdx + 0x5c]
vmovss dword [rbx + 0x2fcc], xmm0
vmovss xmm0, dword [rdx + 0x60]
vmovss dword [rbx + 0x2fd0], xmm0
vmovss xmm0, dword [rdx + 0x64]
vmovss dword [rbx + 0x2fd4], xmm0
mov rdx, qword [rdx + 0x40]
mov qword [rbx + 0x2fb0], rdx
mov qword [rbx + 0x2fa8], rax
vmovss xmm0, dword [rax + 4]
vmovss dword [rbx + 0x2f80], xmm0
call fcn.18003499d
mov dword [rbp + 0x2c], 0
cmp dword [rbx + 0x1c50], edi
mov dword [rbp + 0x124], r15d
jne 0x180057b4b
mov byte [r14 + 0xe7e], 0
mov rax, qword [rbp + 0x80]
mov dword [r14 + 0x44], eax
mov dword [r14 + 0xe80], r13d
mov rax, qword [rbp + 0x270]
mov qword [r14 + 0xe88], rax
mov rax, qword [rbp + 0x278]
mov qword [r14 + 0xe90], rax
mov al, byte [rbx + 0x130]
mov ecx, eax
xor cl, 1
mov edx, dword [r14 + 8]
mov dword [rbp + 0x2c], edx
mov byte [rbx + 0x1c5d], cl
mov dword [rbx + 0x3340], 1
cmp dword [rbp + 0x110], 0
je 0x1800577bb
vmovss xmm0, dword [rbx + 0x12c]
mov rcx, qword [rbp + 0xe0]
vsubss xmm3, xmm0, dword [rcx + 0xdc]
jmp 0x1800577cb
vmovss xmm0, dword [rbx + 0x1978]
vmulss xmm3, xmm0, dword [0x18008c544]
mov bl, byte [rbx + 0xc9]
cmp byte [rbp + 0x128], 0
je 0x180057851
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 0x18005781d
mov rax, qword [rbp + 0x130]
cmp byte [rax + 0x130], 0
jne 0x18005781d
mov byte [r14 + 0xe7d], 0
mov rax, qword [rbp + 0x130]
cmp byte [rax + 0x140], 0
je 0x180057897
mov al, byte [rax + 0x142]
test al, al
sete sil
test bl, bl
je 0x180057977
test al, al
mov rbx, qword [rbp + 0x130]
jne 0x1800578a2
jmp 0x180057982
mov r8, qword [rbp + 0x130]
vmovss xmm0, dword [r8 + 0x128]
vsubss xmm0, xmm0, dword [rbp + 0x30]
vsubss xmm0, xmm0, dword [r8 + 0x1594]
vaddss xmm2, xmm0, dword [r14 + 0x48]
test bl, bl
setne dl
mov cl, byte [rbp + 0xc8]
xor cl, 1
or dl, cl
jne 0x1800578b2
cmp byte [r8 + 0x425], 0
jne 0x1800577da
jmp 0x1800578e9
test bl, bl
mov rbx, rax
je 0x180057980
cmp byte [rbx + 0x143], 0
setne sil
jmp 0x180057982
test bl, bl
je 0x1800578e9
test cl, cl
jne 0x1800578e9
mov rcx, qword [rbp + 0x130]
cmp byte [rcx + 0x425], 0
je 0x1800578e9
mov rcx, r14
mov edx, 0x20000c
call fcn.180059b22
mov rcx, r14
mov edx, 0x60000d
call fcn.180059b22
jmp 0x1800577fb
mov rcx, qword [rbp + 0x130]
cmp byte [rcx + 0x420], 0
je 0x180057907
cmp byte [r14 + 0xe7d], 0
je 0x1800579fa
test al, al
je 0x1800577fb
cmp byte [r14 + 0xe7d], 0
jne 0x1800577fb
mov rax, qword [rbp + 0x130]
vmovss xmm1, dword [rax + 0x3b4]
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
jne 0x180057953
jp 0x180057953
mov rax, qword [rbp + 0x130]
vmovss xmm1, dword [rax + 0x3b8]
vucomiss xmm1, xmm0
jne 0x180057953
jnp 0x1800577fb
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.18005ac3f
mov dword [r14 + 0xe78], 0xbe99999a
mov byte [r14 + 0xe7c], 1
jmp 0x1800577fb
mov rbx, qword [rbp + 0x130]
jmp 0x180057982
xor esi, esi
bt r13d, 0xa
jae 0x180057a5a
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x180057a5a
mov dl, 1
call fcn.180032aa0
xor al, 1
or al, sil
jne 0x180057a5a
bt r13d, 0xe
jb 0x180057a5a
cmp byte [rbx + 0x141], 0
jne 0x180057a5a
mov rax, qword [rbx + 0x1550]
movsxd rcx, dword [rbx + 0x1548]
lea rcx, [rax + rcx*2]
cmp rax, rcx
jae 0x180057a23
cmp word [rax], 9
lea rax, [rax + 2]
jne 0x1800579e9
jmp 0x180057a5a
cmp byte [rbp + 0xc8], 0
je 0x1800577fb
lea rdx, [r14 + 0x4c]
mov rcx, r14
call fcn.18005abb3
mov dword [r14 + 0xe78], 0xbe99999a
jmp 0x1800577fb
lea rcx, [rbp + 0x40]
mov dword [rcx], 9
mov dword [rsp + 0x20], 2
mov edx, r13d
mov r8, qword [rbp + 0x270]
mov r9, qword [rbp + 0x278]
call fcn.18005acd1
test al, al
je 0x180057a5a
mov edx, dword [rbp + 0x40]
mov rcx, r14
call fcn.180059b22
cmp dword [rbx + 0x1548], 0
jle 0x180057b44
mov r15d, edi
mov eax, r13d
shr eax, 0xe
and eax, 1
or sil, byte [rbp + 0x118]
or sil, al
jne 0x180057ae0
xor edi, edi
lea rsi, [rbp + 0x40]
mov rax, qword [rbx + 0x1550]
movzx eax, word [rax + rdi*2]
mov dword [rbp + 0x40], eax
cmp eax, 9
jne 0x180057aa1
cmp byte [rbx + 0x141], 0
jne 0x180057ad1
mov dword [rsp + 0x20], 2
mov rcx, rsi
mov edx, r13d
mov r8, qword [rbp + 0x270]
mov r9, qword [rbp + 0x278]
call fcn.18005acd1
test al, al
je 0x180057ad1
mov edx, dword [rbp + 0x40]
mov rcx, r14
call fcn.180059b22
inc rdi
movsxd rax, dword [rbx + 0x1548]
cmp rdi, rax
jl 0x180057a85
cmp dword [rbx + 0x154c], 0
mov edi, r15d
mov r15d, dword [rbp + 0x124]
jns 0x180057b38
xor ecx, ecx
call fcn.180020d2d
mov rsi, rax
mov rdx, qword [rbx + 0x1550]
test rdx, rdx
je 0x180057b27
movsxd r8, dword [rbx + 0x1548]
add r8, r8
mov rcx, rsi
call fcn.180084d00
mov rcx, qword [rbx + 0x1550]
call fcn.180020e44
mov qword [rbx + 0x1550], rsi
mov dword [rbx + 0x154c], 0
mov dword [rbx + 0x1548], 0
jmp 0x180057b4b
mov r15d, dword [rbp + 0x124]
mov eax, dword [rbx + 0x1c50]
xor esi, esi
cmp eax, edi
mov byte [rbp + 0x147], r12b
jne 0x180057b79
cmp byte [rbx + 0x1c5c], 0
je 0x180057c5a
xor eax, eax
mov qword [rbp + 0x118], rax
jmp 0x180057d14
xor r15d, r15d
xor ecx, ecx
mov qword [rbp + 0x128], rcx
cmp eax, edi
jne 0x180057c26
bt r13d, 0xe
jb 0x180057c3c
mov eax, r15d
xor al, 1
jne 0x180057c3c
mov rdx, qword [r14 + 0x38]
mov rcx, qword [rbp + 0x108]
mov qword [rbp + 0x118], rdx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x180057c3c
mov ebx, dword [r14 + 0x30]
lea esi, [rbx - 1]
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rbp + 0x40], xmm0
xor r12d, r12d
cmp ebx, 2
jl 0x180057d22
mov edi, esi
mov rcx, qword [rbp + 0x118]
add rdi, rcx
mov rdx, rdi
call fcn.18002156f
inc eax
lea rcx, [rbp + 0x40]
mov edx, eax
call fcn.18005ab44
mov edx, dword [rbp + 0x40]
mov rcx, qword [rbp + 0x48]
mov qword [rsp + 0x20], 0
mov r8, qword [rbp + 0x118]
mov r9, rdi
call fcn.1800214ba
mov edi, dword [rbp + 0x40]
mov r14, qword [rbp + 0x48]
jmp 0x180057d27
mov dword [rbp + 0xd0], 0
mov r15d, dword [rbp + 0x124]
jmp 0x18005820a
xor eax, eax
mov qword [rbp + 0x118], rax
mov esi, 0
test r15b, r15b
jne 0x180057dd2
xor esi, esi
jmp 0x180057df1
cmp byte [rbp + 0xd0], 0
je 0x180057d09
vmovshdup xmm0, xmm7
vsubss xmm0, xmm0, dword [rbx + 0x1598]
vdivss xmm0, xmm0, dword [rbx + 0x1978]
vcvttss2si r15d, xmm0
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 + 0xff], cl
je 0x180058d9a
mov r12d, dword [rbx + 0x3bc]
cmp r12d, 0xa
sete al
mov dword [rbp + 0x118], eax
lea rax, [rbx + 0x142]
mov qword [rbp - 8], rax
lea rax, [rbx + 0x140]
mov sil, byte [rbx + 0x142]
mov r14d, 8
cmp byte [rbx + 0x143], 0
mov qword [rbp + 0xc8], rax
je 0x180058dcb
mov al, byte [rax]
or al, sil
sete al
mov dword [rbp + 0x128], eax
jmp 0x180058dd5
xor eax, eax
mov qword [rbp + 0x118], rax
xor esi, esi
xor eax, eax
mov qword [rbp + 0x128], rax
jmp 0x180057df8
xor r14d, r14d
xor edi, edi
dec edi
cmp ebx, 2
cmovl edi, r12d
mov rbx, qword [rbp + 0x138]
mov r12d, dword [rbx + 4]
lea rcx, [rbx + 0x6c]
xor edx, edx
mov r8d, r12d
mov r9d, edi
call fcn.18005df98
test r12d, r12d
jle 0x180057d6c
test rax, rax
je 0x180057d6c
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 0x180057d58
mov r8d, dword [rbx + 4]
mov rcx, rbx
xor edx, edx
call fcn.18005da62
test edi, edi
jle 0x180057da4
mov rcx, qword [rbp + 0x138]
xor edx, edx
mov r8, r14
mov r9d, edi
call fcn.18005daee
test al, al
je 0x180057da4
mov rax, qword [rbp + 0x138]
mov dword [rax + 0x4c], edi
mov byte [rax + 0x62], 0
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x180057db2
call fcn.180020e44
test r15b, r15b
mov edi, dword [rbp + 0x140]
mov rbx, qword [rbp + 0x130]
mov r14, qword [rbp + 0x138]
mov r12b, byte [rbp + 0x147]
je 0x180057df1
test r13b, 0x20
mov r15d, dword [rbp + 0x124]
je 0x180058133
cmp byte [rbp + 0x128], 0
jne 0x180057df8
jmp 0x180058133
mov r15d, dword [rbp + 0x124]
bt r13d, 0xe
jb 0x180057e9d
mov byte [r14 + 0x40], 1
mov ecx, dword [r14 + 0x10]
mov eax, dword [r14 + 0x24]
lea edi, [rcx*4 + 1]
cmp eax, edi
jge 0x180057e2c
test eax, eax
je 0x180057e35
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x180057e3a
mov r15, r14
mov r14, qword [r14 + 0x28]
jmp 0x180057e7e
mov ebx, 8
cmp ebx, edi
cmovle ebx, edi
movsxd rcx, ebx
call fcn.180020d2d
mov r14, rax
mov r15, qword [rbp + 0x138]
mov rdx, qword [r15 + 0x28]
test rdx, rdx
je 0x180057e6f
movsxd r8, dword [r15 + 0x20]
mov rcx, r14
call fcn.180084d00
mov rcx, qword [r15 + 0x28]
call fcn.180020e44
mov qword [r15 + 0x28], r14
mov dword [r15 + 0x24], ebx
mov rbx, qword [rbp + 0x130]
mov dword [r15 + 0x20], edi
mov r8, qword [r15 + 0x18]
mov rcx, r14
mov edx, edi
xor r9d, r9d
call fcn.1800215db
mov r14, r15
mov r15d, dword [rbp + 0x124]
test r13d, 0x801c0
je 0x180058104
test r13b, 0x40
je 0x180057ee3
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x180057ee3
mov dl, 1
call fcn.180032aa0
test al, al
je 0x180057ee3
mov eax, 0x40
xor ecx, ecx
jmp 0x180057f71
test r13b, r13b
jns 0x180057f44
mov rax, qword [0x1800ab050]
movabs rdi, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rdi]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x180057f26
mov dl, 1
call fcn.180032aa0
test al, al
je 0x180057f1b
mov eax, 0x80
mov ecx, 3
jmp 0x180057f71
mov rax, qword [0x1800ab050]
mov rax, qword [rax + rdi]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x180057f44
mov dl, 1
call fcn.180032aa0
test al, al
je 0x180057f44
mov eax, 0x80
mov ecx, 4
jmp 0x180057f71
bt r13d, 0x13
jae 0x180057f5c
cmp byte [r14 + 0xe7e], 0
je 0x180057f5c
mov eax, 0x80000
jmp 0x180057f6c
bt r13d, 8
jae 0x180058104
mov eax, 0x100
mov ecx, 0x16
vxorps xmm0, xmm0, xmm0
lea r14, [rbp + 0x40]
vmovups ymmword [r14 + 0x10], ymm0
mov qword [r14 + 0x30], 0
mov dword [r14], eax
mov dword [r14 + 4], r13d
mov rax, qword [rbp + 0x278]
mov qword [r14 + 8], rax
mov dword [r14 + 0x14], ecx
mov r13, qword [rbp + 0x138]
mov rax, qword [r13 + 0x28]
mov qword [r14 + 0x18], rax
mov eax, dword [r13 + 8]
mov dword [r14 + 0x20], eax
mov eax, dword [r13 + 0x44]
mov dword [r14 + 0x24], eax
mov byte [r14 + 0x28], 0
mov rdi, qword [r13 + 0x18]
movsxd rax, dword [r13 + 0x4c]
lea rdx, [rdi + rax*2]
mov rcx, rdi
vzeroupper
call fcn.1800216a6
mov r15d, eax
mov dword [r14 + 0x2c], eax
movsxd rax, dword [r13 + 0x50]
lea rdx, [rdi + rax*2]
mov rcx, rdi
call fcn.1800216a6
mov r12d, eax
mov dword [r14 + 0x30], eax
movsxd rax, dword [r13 + 0x54]
lea rdx, [rdi + rax*2]
mov rcx, rdi
call fcn.1800216a6
mov edi, eax
mov dword [r14 + 0x34], eax
mov rcx, r14
call qword [rbp + 0x270]
mov bl, byte [r14 + 0x28]
mov eax, dword [r14 + 0x2c]
mov r14, r13
test bl, bl
jne 0x180058029
cmp eax, r15d
je 0x180058044
movsxd rdx, eax
mov rcx, qword [rbp + 0x58]
add rdx, rcx
call fcn.18002156f
mov dword [r14 + 0x4c], eax
mov byte [r14 + 0xe7c], 1
mov eax, dword [rbp + 0x70]
test bl, bl
mov r13d, dword [rbp + 0x268]
mov r15d, dword [rbp + 0x124]
jne 0x18005805e
cmp eax, r12d
je 0x18005807c
cmp eax, dword [rbp + 0x6c]
jne 0x180058069
mov eax, dword [r14 + 0x4c]
jmp 0x180058078
movsxd rdx, eax
mov rcx, qword [rbp + 0x58]
add rdx, rcx
call fcn.18002156f
mov dword [r14 + 0x50], eax
mov eax, dword [rbp + 0x74]
test bl, bl
mov r12b, byte [rbp + 0x147]
jne 0x18005808e
cmp eax, edi
je 0x1800580fd
cmp eax, dword [rbp + 0x70]
jne 0x180058099
mov eax, dword [r14 + 0x50]
jmp 0x1800580a8
movsxd rdx, eax
mov rcx, qword [rbp + 0x58]
add rdx, rcx
call fcn.18002156f
mov dword [r14 + 0x54], eax
test bl, bl
je 0x1800580fd
bt r13d, 0x12
jae 0x1800580ca
mov edx, dword [rbp + 0x60]
sub edx, dword [rbp + 0x2c]
jle 0x1800580ca
lea rcx, [r14 + 0x10]
add edx, dword [rcx]
call fcn.18005ab44
mov r8, qword [rbp + 0x58]
mov edx, dword [r14 + 0x10]
mov rcx, qword [r14 + 0x18]
mov qword [rsp + 0x20], 0
xor r9d, r9d
call fcn.1800214ba
mov dword [r14 + 4], eax
mov eax, dword [rbp + 0x60]
mov dword [r14 + 8], eax
mov dword [r14 + 0xe78], 0xbe99999a
mov rbx, qword [rbp + 0x130]
bt r13d, 0xe
jb 0x18005812d
mov rdi, qword [r14 + 0x28]
mov rcx, rdi
mov rdx, qword [rbp + 0x108]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x18005812d
mov esi, dword [r14 + 8]
mov qword [rbp + 0x118], rdi
mov edi, dword [rbp + 0x140]
cmp qword [rbp + 0x118], 0
setne al
mov dword [rbp + 0xd0], eax
je 0x1800581f2
bt r13d, 0x12
jb 0x180058161
mov rcx, qword [rbp + 0x108]
mov rdx, qword [rbp + 0x80]
jmp 0x1800581d5
vxorps xmm0, xmm0, xmm0
mov r15d, edi
lea rdi, [rbp + 0x40]
vmovups ymmword [rdi + 0x10], ymm0
mov qword [rdi + 0x30], 0
mov dword [rdi], 0x40000
mov dword [rdi + 4], r13d
mov rax, qword [rbp + 0x108]
mov qword [rdi + 0x18], rax
mov dword [rdi + 0x20], esi
inc esi
mov rax, qword [rbp + 0x80]
cmp eax, esi
cmovg esi, eax
mov dword [rdi + 0x24], esi
mov rax, qword [rbp + 0x278]
mov qword [rdi + 8], rax
mov rcx, rdi
vzeroupper
call qword [rbp + 0x270]
mov rcx, qword [rdi + 0x18]
mov edx, dword [rdi + 0x24]
lea esi, [rdx - 1]
mov eax, dword [rdi + 0x20]
mov edi, r15d
mov r15d, dword [rbp + 0x124]
cmp eax, esi
cmovl esi, eax
inc esi
cmp esi, edx
cmovge esi, edx
movsxd r8, esi
mov qword [rbp + 0x108], rcx
mov rdx, qword [rbp + 0x118]
call fcn.180020c97
mov dword [r14 + 0xe80], 0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [r14 + 0xe88], xmm0
cmp byte [rbp + 0xf0], 0
je 0x180058220
cmp dword [rbx + 0x1c50], edi
jne 0x180058220
call fcn.1800256d2
cmp dword [rbp + 0x110], 0
jne 0x18005826f
lea rsi, [rbp + 0x30]
mov rcx, rsi
mov edx, edi
mov r8d, 1
call fcn.180024616
vmovss xmm6, dword [rbx + 0x159c]
vmovss xmm1, dword [0x1800883f0]
mov ecx, 7
call fcn.180022aee
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
vmovss dword [rsp + 0x20], xmm6
mov r8d, eax
mov r9b, 1
call fcn.18002429d
vmovsd xmm12, qword [rbp + 0x30]
vmovss xmm0, xmm7, xmm11
vaddps xmm13, xmm12, xmm0
vmovlhps xmm0, xmm12, xmm13
vmovups xmmword [rbp + 0x40], xmm0
cmp dword [rbp + 0x110], 0
mov rsi, qword [rbp]
je 0x1800582b6
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax + 0xd8]
mov qword [rbp + 0x98], rax
vmovd xmm8, eax
shr rax, 0x20
vmovd xmm6, eax
jmp 0x1800582cf
vmovsd xmm0, qword [rbx + 0x1594]
vaddps xmm8, xmm12, xmm0
vmovlps qword [rbp + 0x98], xmm8
vmovshdup xmm6, xmm8
cmp byte [rbp + 0x1c], 0
je 0x1800582e0
mov rax, qword [r14 + 0x28]
mov qword [rbp + 0x108], rax
test r15b, r15b
je 0x180058319
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r15, rax
add r15, rsi
mov eax, dword [rbp + 0xe8]
or al, byte [rbp + 0xb0]
jne 0x180058337
vxorps xmm10, xmm10, xmm10
vxorps xmm9, xmm9, xmm9
cmp dword [rbp + 0x110], 0
jne 0x180058379
jmp 0x180058602
mov eax, dword [rbp + 0xe8]
or al, byte [rbp + 0xb0]
cmp al, 1
jne 0x180058365
movsxd r15, dword [r14 + 8]
mov rsi, qword [rbp + 0x108]
add r15, rsi
mov qword [rbp + 0x108], rsi
mov rdx, qword [r14 + 0x18]
mov r13d, 0xfffffc18
cmp byte [rbp + 0xe8], 0
je 0x180058392
movsxd rax, dword [r14 + 0x4c]
lea rdi, [rdx + rax*2]
mov ecx, 1
mov ebx, 0xffffffff
jmp 0x18005839b
cmp dword [rbp + 0x110], 0
je 0x180058453
mov rsi, qword [rbp + 0x108]
xor eax, eax
mov r15, rsi
movzx ecx, byte [r15]
inc r15
test ecx, ecx
je 0x1800583c6
cmp ecx, 0xa
jne 0x18005837e
inc eax
jmp 0x18005837e
xor edi, edi
mov ebx, 0xfffffc18
xor ecx, ecx
xor esi, esi
cmp byte [rbp + 0xb0], 0
je 0x1800583f6
mov eax, dword [r14 + 0x50]
mov r8d, dword [r14 + 0x54]
cmp eax, r8d
cmovl r8d, eax
movsxd rax, r8d
lea r12, [rdx + rax*2]
inc ecx
mov r13d, 0xffffffff
jmp 0x1800583f9
inc eax
vcvtsi2ss xmm0, xmm4, eax
dec r15
vmulss xmm10, xmm0, dword [rbx + 0x1978]
cmp dword [rbp + 0x110], 0
je 0x18005846f
mov r14d, edi
mov rdi, rsi
xor esi, esi
vmovaps xmm9, xmm11
jmp 0x18005861a
xor r12d, r12d
mov eax, dword [rbp + 0x110]
shr eax, 0x1a
add eax, ecx
mov rcx, rdx
movzx r8d, word [rcx]
cmp r8d, 0xa
je 0x180058418
test r8d, r8d
jne 0x18005844d
jmp 0x180058480
inc esi
cmp ebx, 0xffffffff
jne 0x180058432
mov ebx, 0xffffffff
cmp rcx, rdi
jb 0x180058432
cmp eax, 2
jl 0x180058479
dec eax
mov ebx, esi
cmp r13d, 0xffffffff
jne 0x18005844d
mov r13d, 0xffffffff
cmp rcx, r12
jb 0x18005844d
cmp eax, 2
jl 0x18005847d
dec eax
mov r13d, esi
add rcx, 2
jmp 0x180058407
cmp dword [rbx + 0x1c50], edi
jne 0x1800585e3
movsxd r15, dword [r14 + 8]
mov rsi, qword [rbp + 0x108]
jmp 0x1800585f5
vmovaps xmm9, xmm11
jmp 0x180058602
mov ebx, esi
jmp 0x180058480
mov r13d, esi
vmovaps xmmword [rbp + 0x80], xmm6
vmovaps xmm6, xmm7
vmovaps xmm7, xmm11
vmovaps xmm14, xmm10
inc esi
cmp ebx, 0xffffffff
cmove ebx, esi
cmp r13d, 0xffffffff
cmove r13d, esi
mov rcx, rdi
mov r14, rdx
call fcn.180020e82
mov byte [rsp + 0x20], 0
lea rcx, [rbp + 0xa0]
mov rdx, rax
mov r8, rdi
xor r9d, r9d
call fcn.18005aee8
vcvtsi2ss xmm10, xmm4, ebx
lea rax, [rbp + 0xa0]
vmovss xmm0, dword [rax]
vmovss dword [rbp + 0x118], xmm0
mov rbx, qword [rbp + 0x130]
vmovss xmm11, dword [rbx + 0x1978]
test r13d, r13d
js 0x180058538
mov rcx, r12
mov rdi, r14
mov rdx, r14
call fcn.180020e82
mov byte [rsp + 0x20], 0
lea r14, [rbp + 0xa0]
mov rcx, r14
mov rdx, rax
mov r8, r12
xor r9d, r9d
call fcn.18005aee8
vcvtsi2ss xmm1, xmm4, r13d
vmovss xmm4, dword [r14]
vmovss xmm0, dword [rbx + 0x1978]
vmulss xmm15, xmm0, xmm1
jmp 0x180058548
mov rdi, r14
vxorps xmm4, xmm4, xmm4
vmovaps xmm0, xmm11
vxorps xmm15, xmm15, xmm15
mov r14d, dword [rbp + 0x140]
mov r13, qword [rbp + 0x138]
vmulss xmm11, xmm11, xmm10
cmp dword [rbp + 0x110], 0
setne al
vcvtsi2ss xmm1, xmm5, esi
vmulss xmm0, xmm0, xmm1
kmovd k1, eax
vmovss xmm10 {k1} {z}, xmm0, xmm0
cmp byte [rbp + 0xe8], 0
je 0x180058769
cmp byte [r13 + 0xe7c], 0
je 0x180058769
bt dword [rbp + 0x268], 0xc
jb 0x1800585d6
vmulss xmm0, xmm7, dword [0x18008c6c8]
vmovss xmm1, dword [r13 + 0x48]
vmovss xmm3, dword [rbp + 0x118]
vucomiss xmm1, xmm3
jbe 0x18005868a
vsubss xmm0, xmm3, xmm0
vxorps xmm1, xmm1, xmm1
vcmpless k1, xmm0, xmm1
vmovss xmm0 {k1}, xmm0, xmm1
jmp 0x1800586a0
mov dword [r13 + 0x48], 0
jmp 0x1800586ae
mov rsi, qword [rbp + 0x108]
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r15, rax
add r15, rsi
vxorps xmm10, xmm10, xmm10
vxorps xmm9, xmm9, xmm9
mov rax, r15
sub rax, rsi
cmp rax, 0x1fffff
jg 0x18005867e
mov r14d, edi
mov rdi, rsi
lea rsi, [rbp + 0x40]
movzx ecx, byte [rbp + 0x124]
vmovss xmm1, dword [0x1800883f0]
call fcn.180022aee
mov rcx, qword [rbp + 0xe0]
mov rcx, qword [rcx + 0x280]
vmovss xmm2, dword [rbx + 0x1978]
mov rdx, qword [rbx + 0x1970]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x38], 0
lea r9, [rbp + 0x98]
call fcn.18003c97a
mov qword [rbp + 0x108], rdi
jmp 0x180058bf9
mov qword [rbp + 0x108], rsi
jmp 0x180058bfc
vsubss xmm2, xmm7, dword [rbx + 0x1594]
vsubss xmm2, xmm3, xmm2
vucomiss xmm2, xmm1
jb 0x1800586ae
vaddss xmm0, xmm0, xmm2
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss dword [r13 + 0x48], xmm0
cmp dword [rbp + 0x110], 0
je 0x180058761
vsubss xmm2, xmm11, dword [rbx + 0x1978]
vucomiss xmm14, xmm2
vmovss xmm0, dword [rbx + 0x1598]
vmovshdup xmm1, xmm6
jbe 0x1800586e8
vxorps xmm3, xmm3, xmm3
vcmpless k1, xmm2, xmm3
vmovss xmm2 {k1}, xmm2, xmm3
jmp 0x1800586fc
vsubss xmm2, xmm11, xmm1
vucomiss xmm2, xmm14
jb 0x180058700
vfmadd231ss xmm2, xmm0, dword [0x18008c6c4]
vmovaps xmm14, xmm2
vfmadd132ss xmm0, xmm10, dword [0x18008c6c4]
vsubss xmm0, xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vcmpless k1, xmm1, xmm0
vmovss xmm0 {k1} {z}, xmm0, xmm0
vminss xmm0, xmm0, xmm14
vcmpltss k1, xmm14, xmm1
vmovss xmm0 {k1}, xmm0, xmm1
mov rax, qword [rbp + 0xe0]
vmovss xmm1, dword [rax + 0x60]
vsubss xmm1, xmm1, xmm0
vmovaps xmm2, xmmword [rbp + 0x80]
vaddss xmm2, xmm2, xmm1
vmovaps xmmword [rbp + 0x80], xmm2
vmovss dword [rbp + 0x9c], xmm2
vmovss dword [rax + 0x60], xmm0
mov byte [r13 + 0xe7c], 0
vmovss xmm7, dword [r13 + 0x48]
cmp byte [rbp + 0xb0], 0
je 0x1800589ed
vmovaps xmm6, xmm4
vmovss dword [rbp + 0xf0], xmm11
vmovaps xmmword [rbp], xmm10
vmovaps xmmword [rbp + 0xb0], xmm9
cmp dword [rbp + 0x110], 0
setne bl
mov eax, dword [r13 + 0x50]
mov esi, dword [r13 + 0x54]
cmp eax, esi
mov ecx, esi
cmovl ecx, eax
movsxd r14, ecx
cmovg esi, eax
lea r12, [rdi + r14*2]
mov eax, dword [rbp + 0xe8]
kmovd k1, eax
vmovss xmm1, dword [case.0x18000da9a.85]
vmovss xmm1 {k1}, dword [0x1800883f0]
mov ecx, 0x2f
mov r13, rdi
call fcn.180022aee
mov qword [rbp + 0x20], r12
cmp r14d, esi
jge 0x1800589c3
mov edi, eax
movsxd rax, esi
lea rsi, [rax*2]
add rsi, r13
vxorps xmm0, xmm0, xmm0
vmovss xmm9, dword [0x18008c530]
kmovd k1, ebx
vmovss xmm9 {k1}, xmm9, xmm0
vmovss xmm14, dword [0x18008c6c4]
vmovss xmm14 {k1}, xmm14, xmm0
vaddss xmm10, xmm8, xmm6
vaddss xmm6, xmm15, dword [rbp + 0x80]
lea r13, [rbp + 0xa8]
mov rax, qword [rbp + 0x130]
vmovss xmm0, dword [rax + 0x1978]
vmovshdup xmm15, xmm12
vmovshdup xmm11, xmm13
lea r14, [rbp + 0x20]
xor ebx, ebx
vaddss xmm1, xmm11, xmm0
vucomiss xmm6, xmm1
ja 0x1800589c3
vucomiss xmm15, xmm6
jbe 0x18005888d
cmp r12, rsi
jae 0x1800589b1
lea rax, [r12 + 2]
mov qword [rbp + 0x20], rax
cmp word [r12], 0xa
mov r12, rax
jne 0x180058868
mov r12, rax
jmp 0x1800589b1
mov byte [rsp + 0x20], 1
lea rcx, [rbp - 0x20]
mov rdx, r12
mov r8, rsi
mov r9, r14
call fcn.18005aee8
vmovss xmm0, dword [rbp - 0x20]
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
jb 0x1800588ed
mov rax, qword [rbp + 0x130]
mov rax, qword [rax + 0x1970]
mov rcx, qword [rax + 8]
sub rcx, 0xffffffffffffff80
lea rdx, [rax + 0x10]
cmp dword [rax], 0x21
cmovge rdx, rcx
vmovss xmm0, dword [0x18008c544]
vmulss xmm0, xmm0, dword [rdx]
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss dword [rbp - 0x20], xmm0
vsubss xmm1, xmm10, xmm7
vaddss xmm3, xmm14, xmm6
vaddss xmm4, xmm1, xmm0
mov rax, qword [rbp + 0x130]
vmovss xmm0, dword [rax + 0x1978]
vsubss xmm2, xmm9, xmm0
vinsertps xmm2, xmm0, xmm2, 0x1d
vinsertps xmm1, xmm1, xmm6, 0x10
vaddps xmm1, xmm1, xmm2
vcmpleps k1, xmm12, xmm1
vblendmps xmm2 {k1}, xmm12, xmm1
vmovlps qword [rbp + 0xa0], xmm2
vminss xmm3, xmm3, xmm11
vminss xmm1, xmm4, xmm13
vmovss dword [rbp + 0xa8], xmm1
vmovss dword [rbp + 0xac], xmm3
vucomiss xmm3, xmm15
jbe 0x1800589ad
vcmpltps k0, xmm2, xmm13
kshiftrb k1, k0, 1
kmovd eax, k1
test al, 1
je 0x1800589ad
vucomiss xmm1, xmm12
jbe 0x1800589ad
kmovd eax, k0
test al, 1
je 0x1800589ad
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rax + 0x280]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
lea rdx, [rbp + 0xa0]
mov r8, r13
mov r9d, edi
call fcn.18003c624
mov rax, qword [rbp + 0x130]
vmovss xmm0, dword [rax + 0x1978]
mov r12, qword [rbp + 0x20]
vaddss xmm6, xmm6, xmm0
vmovaps xmm10, xmm8
cmp r12, rsi
jb 0x180058854
mov r14d, dword [rbp + 0x140]
mov rbx, qword [rbp + 0x130]
vmovaps xmm9, xmmword [rbp + 0xb0]
mov r13, qword [rbp + 0x138]
vmovaps xmm10, xmmword [rbp]
vmovss xmm11, dword [rbp + 0xf0]
cmp dword [rbp + 0x110], 0
mov r12b, byte [rbp + 0x147]
je 0x180058a09
xor esi, esi
vmovaps xmm6, xmmword [rbp + 0x80]
jmp 0x180058a27
mov rax, r15
sub rax, qword [rbp + 0x108]
cmp rax, 0x1fffff
vmovaps xmm6, xmmword [rbp + 0x80]
jg 0x180058a95
lea rsi, [rbp + 0x40]
movzx ecx, byte [rbp + 0x124]
vmovss xmm1, dword [0x1800883f0]
call fcn.180022aee
mov rcx, qword [rbp + 0xe0]
mov rcx, qword [rcx + 0x280]
vsubss xmm0, xmm8, xmm7
lea r9, [rbp + 0xa0]
vmovss dword [r9], xmm0
vmovss dword [r9 + 4], xmm6
vmovss xmm2, dword [rbx + 0x1978]
mov rdx, qword [rbx + 0x1970]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x30], r15
mov r8, qword [rbp + 0x108]
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x38], 0
call fcn.18003c97a
cmp byte [rbp + 0xe8], 0
je 0x180058bf2
vmovss xmm0, dword [rbx + 0x18]
vaddss xmm0, xmm0, dword [r13 + 0xe78]
vmovss dword [r13 + 0xe78], xmm0
cmp byte [rbx + 0xca], 0
mov al, 1
je 0x180058afb
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
jae 0x180058afb
vmovss xmm1, dword [0x180096cb8]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmodf]
vmovss xmm1, dword [0x18008c6d4]
vucomiss xmm1, xmm0
setae al
vmovss xmm8, dword [rbp + 0x98]
vmovss xmm6, dword [rbp + 0x9c]
vaddss xmm0, xmm11, xmm6
vaddss xmm1, xmm8, dword [rbp + 0x118]
vsubss xmm1, xmm1, xmm7
vinsertps xmm0, xmm1, xmm0, 0x10
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm6, xmm0
vaddps xmm0, xmm6, xmmword [0x180096cc0]
vmovshdup xmm7, xmm6
vsubss xmm1, xmm7, dword [rbx + 0x1978]
vaddss xmm1, xmm1, dword [0x18008c544]
vmovss dword [rbp + 0xa0], xmm6
vmovss dword [rbp + 0xa4], xmm1
vmovlps qword [rbp + 0xa8], xmm0
test al, al
mov edi, r14d
je 0x180058bc2
vmovshdup xmm8, xmm0
vucomiss xmm8, dword [rbp + 0x44]
jbe 0x180058bc2
vmovss xmm2, dword [rbp + 0x4c]
vucomiss xmm2, xmm1
jbe 0x180058bc2
vucomiss xmm0, dword [rbp + 0x40]
jbe 0x180058bc2
vmovss xmm0, dword [rbp + 0x48]
vucomiss xmm0, xmm6
jbe 0x180058bc2
mov rax, qword [rbp + 0xe0]
mov rsi, qword [rax + 0x280]
vmovss xmm1, dword [0x1800883f0]
xor ecx, ecx
call fcn.180022aee
lea r8, [rbp + 0x20]
vmovss dword [r8], xmm6
vmovss dword [r8 + 4], xmm8
mov dword [rsp + 0x20], 0x3f800000
lea rdx, [rbp + 0xa0]
mov rcx, rsi
mov r9d, eax
call fcn.18003c3ae
mov r13d, dword [rbp + 0x268]
bt r13d, 0xe
jb 0x180058bfc
vsubss xmm0, xmm7, dword [rbx + 0x1978]
vaddss xmm1, xmm6, dword [0x18008c530]
vmovss dword [rbx + 0x3080], xmm1
vmovss dword [rbx + 0x3084], xmm0
jmp 0x180058bfc
mov r13d, dword [rbp + 0x268]
mov edi, r14d
test r12b, r12b
jne 0x180058c06
call fcn.180034b14
cmp dword [rbp + 0x110], 0
je 0x180058c36
vaddss xmm0, xmm10, dword [rbx + 0x1598]
lea rcx, [rbp + 0xa0]
vmovss dword [rcx], xmm9
vmovss dword [rcx + 4], xmm0
call fcn.18005097a
call fcn.1800333cb
call fcn.180035717
cmp byte [rbx + 0x30ec], 0
sete al
xor r12b, 1
or r12b, al
jne 0x180058d1d
mov rax, qword [0x1800aaf80]
cmp byte [0x1800b911d], 0
jne 0x180058ca4
movabs rcx, 0x5e7b7472e9ab3fa5
mov cl, byte [rax + rcx]
movabs rdx, 0x5e7b7472e9ab3fb5
xor cl, byte [rax + rdx]
mov byte [0x1800b911b], cl
movabs rcx, 0x5e7b7472e9ab3fa6
mov cl, byte [rax + rcx]
movabs rdx, 0x5e7b7472e9ab3fb6
xor cl, byte [rax + rdx]
mov byte [0x1800b911c], cl
mov byte [0x1800b911d], 1
cmp byte [0x1800b911a], 0
jne 0x180058cf4
movabs rcx, 0x5e7b7472e9ab3f7a
mov cl, byte [rax + rcx]
movabs rdx, 0x5e7b7472e9ab3f8e
xor cl, byte [rax + rdx]
mov byte [0x1800b9118], cl
movabs rcx, 0x5e7b7472e9ab3f7b
mov cl, byte [rax + rcx]
movabs rdx, 0x5e7b7472e9ab3f8f
xor cl, byte [rax + rdx]
mov byte [0x1800b9119], cl
mov byte [0x1800b911a], 1
lea rcx, [0x1800b911b]
lea rdx, [0x1800b9118]
call fcn.1800379c8
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0x108]
mov r8, r15
call fcn.180023482
vmovss xmm0, dword [rbp + 0x14]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x180058d64
vmovss xmm0, dword [rbp + 0x34]
vmovss xmm1, dword [rbp + 0x38]
vaddss xmm0, xmm0, dword [rbx + 0x1598]
vaddss xmm1, xmm1, dword [rbx + 0x15ac]
vmovd ecx, xmm1
vmovd eax, xmm0
shl rax, 0x20
or rcx, rax
mov rdx, qword [rbp - 0x28]
xor r8d, r8d
mov r9b, 1
call fcn.180023334
mov eax, r13d
shr eax, 0x1b
and eax, 1
mov esi, dword [rbp + 0xd0]
mov ecx, esi
xor cl, 1
or cl, al
jne 0x180058d83
mov ecx, edi
call fcn.180025718
test r13b, 0x20
movzx ecx, sil
movzx eax, byte [rbp + 0x128]
cmove eax, ecx
jmp 0x180056a91
lea rax, [rbx + 0x142]
mov qword [rbp - 8], rax
lea rax, [rbx + 0x140]
mov qword [rbp + 0xc8], rax
mov sil, byte [rbx + 0x140]
mov r12d, dword [rbx + 0x3bc]
mov dword [rbp + 0x118], 0
mov dword [rbp + 0x128], 0
cmp r12d, r14d
jne 0x180058e36
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x88]
test ecx, ecx
js 0x180058e36
mov dl, 1
call fcn.180032aa0
test al, al
je 0x180058e36
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 + 0xdc], eax
test cl, cl
jne 0x180058ed6
cmp dword [rbp + 0x110], 0
jne 0x180058eaf
jmp 0x180058ed6
cmp r12d, 2
jne 0x180058ec7
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x180058ec7
mov dword [rbp + 0x104], r15d
mov r15d, edi
mov edi, esi
test r13w, r13w
sets bl
mov esi, r13d
shr esi, 0xe
and esi, 1
mov dl, 1
call fcn.180032aa0
xor al, 1
or sil, bl
or sil, al
mov eax, esi
xor al, 1
mov dword [rbp + 0xdc], eax
test sil, sil
jne 0x18005935a
cmp dword [rbp + 0x110], 0
mov esi, edi
mov edi, r15d
mov r15d, dword [rbp + 0x104]
je 0x180058ed1
mov rcx, qword [rbp + 0x138]
mov eax, dword [rcx + 0x50]
cmp eax, dword [rcx + 0x54]
setne al
mov dword [rbp + 0xdc], eax
jmp 0x180058ed1
mov dword [rbp + 0xdc], 0
cmp r12d, r14d
jne 0x180058f11
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x80]
test ecx, ecx
js 0x180058f11
mov dl, 1
call fcn.180032aa0
test al, al
je 0x180058f11
mov eax, r13d
and eax, 0x4008000
cmp eax, 0x4000000
je 0x180058f56
jmp 0x180058f7d
cmp r12d, 1
jne 0x180058f6e
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180058f6e
test r13w, r13w
setns bl
mov dl, 1
call fcn.180032aa0
and al, bl
cmp dword [rbp + 0x110], 0
mov dword [rbp + 0x100], eax
je 0x180058f78
test al, al
je 0x180058f78
mov rcx, qword [rbp + 0x138]
mov eax, dword [rcx + 0x50]
cmp eax, dword [rcx + 0x54]
setne al
mov dword [rbp + 0x100], eax
jmp 0x180058f78
mov dword [rbp + 0x100], 0
cmp r12d, r14d
jne 0x180058fa7
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x84]
test ecx, ecx
js 0x180058fa7
mov dl, 1
call fcn.180032aa0
test al, al
jne 0x180058fd4
cmp r12d, 2
jne 0x180058fe4
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x180058fe4
mov dl, 1
call fcn.180032aa0
test al, al
je 0x180058fe4
bt r13d, 0xe
setae al
mov dword [rbp + 0x104], eax
jmp 0x180058fee
mov dword [rbp + 0x104], 0
cmp r12d, r14d
mov byte [rbp + 0xd0], sil
jne 0x18005902f
mov rax, qword [0x1800ab050]
movabs rbx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rbx]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x180059033
mov dl, 1
call fcn.180032aa0
mov esi, eax
mov rax, qword [0x1800ab050]
mov rax, qword [rax + rbx]
jmp 0x180059035
xor esi, esi
jmp 0x180059060
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 0x180059060
mov dl, 1
call fcn.180032aa0
test al, al
jne 0x1800590a2
cmp byte [rbp + 0x118], 0
je 0x1800590b4
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x90]
test ecx, ecx
mov rbx, qword [rbp + 0x130]
js 0x1800590c7
mov dl, 1
call fcn.180032aa0
test al, al
je 0x1800590c7
bt r13d, 0xe
setae bl
bt r13d, 0x10
setae al
and al, bl
mov dword [rbp + 0x118], eax
jmp 0x1800590be
mov dword [rbp + 0x118], 0
mov rbx, qword [rbp + 0x130]
jmp 0x1800590d1
mov dword [rbp + 0x118], 0
shl edi, 0x16
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x180059132
mov dl, 1
call fcn.180032aa0
test al, al
je 0x18005911d
cmp byte [rbp + 0xd0], 0
mov eax, 0x200000
mov ecx, 0x20000c
cmove ecx, eax
cmp byte [rbp + 0x128], 0
mov edx, 0x200004
jmp 0x180059168
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x44]
test ecx, ecx
js 0x1800591d4
mov dl, 1
call fcn.180032aa0
test al, al
je 0x1800591bf
cmp byte [rbp + 0xd0], 0
mov eax, 0x200001
mov ecx, 0x20000d
cmove ecx, eax
cmp byte [rbp + 0x128], 0
mov edx, 0x200005
cmove edx, ecx
or edx, edi
mov r14, qword [rbp + 0x138]
mov rcx, r14
call fcn.180059b22
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x128], rax
mov edi, dword [rbp + 0x140]
mov r12b, byte [rbp + 0x147]
mov eax, dword [r14 + 0x50]
cmp eax, dword [r14 + 0x54]
movzx eax, byte [rbp + 0xb0]
movzx ecx, byte [rbp + 0xe8]
cmove ecx, eax
mov dword [rbp + 0xb0], ecx
mov eax, dword [rbx + 0x1c50]
jmp 0x180057b85
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x18005923b
mov dl, 1
call fcn.180032aa0
cmp dword [rbp + 0x110], 0
je 0x180059226
test al, al
je 0x180059226
mov rax, qword [rbp + 0xc8]
cmp byte [rax], 0
je 0x18005936b
mov rcx, qword [rbp + 0xe0]
vmovss xmm0, dword [rcx + 0x60]
vsubss xmm0, xmm0, dword [rbx + 0x1978]
vxorps xmm1, xmm1, xmm1
vcmpless k1, xmm1, xmm0
vmovss xmm1 {k1} {z}, xmm0, xmm0
jmp 0x180059283
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x1800592bb
mov dl, 1
call fcn.180032aa0
cmp dword [rbp + 0x110], 0
je 0x1800592a6
test al, al
je 0x1800592a6
mov rax, qword [rbp + 0xc8]
cmp byte [rax], 0
je 0x1800593c2
call fcn.180036143
mov rcx, qword [rbp + 0xe0]
vmovss xmm1, dword [rcx + 0x60]
vaddss xmm1, xmm1, dword [rbx + 0x1978]
vminss xmm1, xmm1, xmm0
call fcn.180036165
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x128], rax
mov edi, dword [rbp + 0x140]
mov r14, qword [rbp + 0x138]
jmp 0x18005918e
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x50]
test ecx, ecx
js 0x180059315
mov dl, 1
call fcn.180032aa0
cmp dword [rbp + 0x110], 0
je 0x180059300
test al, al
je 0x180059300
or edi, 0x20000e
mov r14, qword [rbp + 0x138]
mov rcx, r14
mov edx, edi
call fcn.180059b22
vcvtsi2ss xmm0, xmm4, r15d
vfnmadd231ss xmm10, xmm0, dword [rbx + 0x1978]
jmp 0x18005917c
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x54]
test ecx, ecx
js 0x180059397
mov dl, 1
call fcn.180032aa0
cmp dword [rbp + 0x110], 0
je 0x180059382
test al, al
je 0x180059382
or edi, 0x20000f
mov r14, qword [rbp + 0x138]
mov rcx, r14
mov edx, edi
call fcn.180059b22
vcvtsi2ss xmm0, xmm4, r15d
vfmadd231ss xmm10, xmm0, dword [rbx + 0x1978]
jmp 0x18005917c
mov esi, edi
mov edi, r15d
mov r15d, dword [rbp + 0x104]
jmp 0x180058ed1
movzx edx, byte [rbp + 0x128]
shl edx, 2
or edx, edi
or edx, 0x200002
jmp 0x18005916d
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x1800593ee
mov dl, 1
call fcn.180032aa0
test al, al
je 0x1800593d9
mov rax, qword [rbp + 0xc8]
movzx edx, byte [rax]
add edx, edx
or edx, edi
or edx, 0x200004
jmp 0x18005916d
movzx edx, byte [rbp + 0x128]
shl edx, 2
or edx, edi
or edx, 0x200003
jmp 0x18005916d
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x18005942e
mov dl, 1
call fcn.180032aa0
test al, al
je 0x180059419
mov rax, qword [rbp + 0xc8]
movzx edx, byte [rax]
add edx, edx
or edx, edi
or edx, 0x200005
jmp 0x18005916d
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x180059473
mov dl, 1
call fcn.180032aa0
bt r13d, 0xe
jb 0x18005945e
test al, al
je 0x18005945e
or edi, 0x200008
mov r14, qword [rbp + 0x138]
mov rcx, r14
mov edx, edi
jmp 0x180059177
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x68]
test ecx, ecx
js 0x180059500
mov dl, 1
call fcn.180032aa0
bt r13d, 0xe
jb 0x1800594eb
test al, al
je 0x1800594eb
mov r14, qword [rbp + 0x138]
mov eax, dword [r14 + 0x50]
cmp eax, dword [r14 + 0x54]
mov esi, dword [rbp + 0x140]
mov r12b, byte [rbp + 0x147]
jne 0x1800594c8
mov edx, 0x60000c
cmp byte [rbp + 0xd0], 0
je 0x180059727
mov rcx, r14
call fcn.180059b22
or edi, 0x200009
mov rcx, r14
mov edx, edi
call fcn.180059b22
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x128], rax
mov edi, esi
jmp 0x180059195
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x70]
test ecx, ecx
js 0x180059527
mov dl, 1
call fcn.180032aa0
test al, al
jne 0x18005953d
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x78]
test ecx, ecx
js 0x1800595b2
mov dl, 1
call fcn.180032aa0
test al, al
je 0x18005959d
mov al, 1
mov qword [rbp + 0x128], rax
cmp dword [rbp + 0x110], 0
je 0x180059598
bt r13d, 0xb
mov rax, qword [rbp + 0xc8]
mov al, byte [rax]
jb 0x1800596c7
test al, al
movzx edx, byte [rbp + 0xf0]
mov ecx, 1
cmove ecx, edx
xor r15d, r15d
bt r13d, 0xe
jb 0x180059586
test al, al
je 0x1800596e0
mov qword [rbp + 0x128], rax
mov dword [rbp + 0xf0], ecx
jmp 0x18005995c
xor r15d, r15d
jmp 0x1800595d0
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x74]
test ecx, ecx
js 0x1800595dd
mov r15b, 1
mov dl, 1
call fcn.180032aa0
test al, al
je 0x1800595dd
xor eax, eax
mov qword [rbp + 0x128], rax
mov al, 1
mov dword [rbp + 0xf0], eax
jmp 0x180059294
mov eax, dword [rbp + 0x118]
or al, sil
cmp al, 1
jne 0x180059614
movzx edx, sil
xor edx, 0x20000b
mov r14, qword [rbp + 0x138]
mov rcx, r14
call fcn.180059b22
mov eax, dword [r14 + 0x4c]
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x50], eax
jmp 0x18005917c
cmp r12d, r14d
jne 0x18005966d
mov rax, qword [0x1800ab050]
movabs rcx, 0x1fdf3940aa2cfcb3
mov rax, qword [rax + rcx]
mov ecx, dword [rax + 0x7c]
test ecx, ecx
js 0x18005966d
mov dl, 1
call fcn.180032aa0
test al, al
je 0x18005966d
mov r14, qword [rbp + 0x138]
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 + 0xe7c], 1
jmp 0x18005991e
mov rax, qword [rbp + 0x138]
lea r12, [rax + 0x4c]
mov eax, dword [rbp + 0x100]
or al, byte [rbp + 0xdc]
cmp al, 1
jne 0x180059768
mov rax, qword [rbp + 0x130]
cmp qword [rax + 0x108], 0
je 0x1800598b4
mov rax, qword [rbp + 0x138]
mov edx, dword [rax + 0x50]
mov eax, dword [rax + 0x54]
cmp edx, eax
jne 0x180059858
mov rax, qword [rbp + 0x138]
mov eax, dword [rax + 4]
xor ecx, ecx
jmp 0x180059860
xor r15d, r15d
test al, al
je 0x18005984b
bt dword [rbp + 0x268], 0xe
jb 0x180059953
lea rcx, [rbp + 0x40]
mov dword [rcx], 0xa
mov dword [rsp + 0x20], 2
mov edx, dword [rbp + 0x268]
mov r8, qword [rbp + 0x270]
mov r9, qword [rbp + 0x278]
call fcn.18005acd1
test al, al
je 0x180059950
mov edx, dword [rbp + 0x40]
mov rcx, qword [rbp + 0x138]
call fcn.180059b22
jmp 0x180059950
cmp byte [rbp + 0xff], 0
je 0x1800594c8
cmp byte [rbx + 0x143], 0
je 0x1800594c8
mov rax, qword [rbp - 8]
cmp byte [rax], 0
jne 0x1800594c8
mov rax, qword [rbp + 0xc8]
cmp byte [rax], 0
jne 0x1800594c8
mov edx, 0x600004
jmp 0x1800594c0
xor r15d, r15d
cmp byte [rbp + 0x104], 0
je 0x180059953
call fcn.180025d30
test rax, rax
je 0x180059950
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.180020d2d
mov rbx, rax
cmp byte [r14], 0
je 0x180059943
xor esi, esi
lea rdi, [rbp + 0x40]
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
call fcn.1800209f9
cmp dword [rbp + 0x40], 0
je 0x180059816
mov r15d, eax
mov dword [rsp + 0x20], 5
mov rcx, rdi
mov edx, dword [rbp + 0x268]
mov r8, qword [rbp + 0x270]
mov r9, qword [rbp + 0x278]
call fcn.18005acd1
test al, al
je 0x18005980a
movzx eax, word [rbp + 0x40]
movsxd rcx, esi
inc esi
mov word [rbx + rcx*2], ax
movsxd rax, r15d
add r14, rax
cmp byte [r14], 0
jne 0x1800597be
movsxd rax, esi
mov word [rbx + rax*2], 0
test eax, eax
jle 0x180059948
mov rdi, qword [rbp + 0x138]
mov rcx, rdi
mov rdx, r12
mov r8, rbx
mov r9d, esi
call fcn.18005ae8e
mov byte [rdi + 0xe7c], 1
jmp 0x180059948
mov al, 1
mov dword [rbp + 0xf0], eax
jmp 0x18005995c
mov ecx, eax
cmovl ecx, edx
cmovg eax, edx
mov r15, qword [rbp + 0x138]
mov r8, qword [r15 + 0x18]
movsxd rbx, eax
lea rdx, [r8 + rbx*2]
movsxd r14, ecx
lea rcx, [r8 + r14*2]
call fcn.1800216a6
inc eax
movsxd rsi, eax
mov rcx, rsi
call fcn.180020d2d
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.1800215db
mov rcx, rdi
call fcn.180025d63
mov rcx, rdi
call fcn.180020e44
xor r15d, r15d
cmp byte [rbp + 0xdc], 0
je 0x180059953
mov rax, qword [rbp + 0x138]
mov ecx, dword [rax + 0x50]
mov eax, dword [rax + 0x54]
cmp ecx, eax
jne 0x1800598f2
mov rcx, qword [rbp + 0x138]
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 + 0x138]
mov byte [rdx + 0xe7c], 1
xor r15d, r15d
cmp ecx, eax
je 0x180059953
mov r14, qword [rbp + 0x138]
mov rcx, r14
mov rdx, r12
call fcn.18005dc57
mov byte [r14 + 0x62], 0
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x128], rax
mov r13d, dword [rbp + 0x268]
mov edi, dword [rbp + 0x140]
mov rbx, qword [rbp + 0x130]
jmp 0x18005918e
mov word [rbx], 0
mov rcx, rbx
call fcn.180020e44
xor r15d, r15d
xor eax, eax
mov qword [rbp + 0x128], rax
mov r13d, dword [rbp + 0x268]
mov edi, dword [rbp + 0x140]
mov rbx, qword [rbp + 0x130]
jmp 0x18005929a