Function at 0x140030920
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rdi, rcx
mov rbp, r8
mov rcx, rdx
mov rbx, rdx
call fcn.140031c80
mov rax, qword [rbp + 0x38]
add rax, 0x10
cmp rax, qword [rbp + 0x40]
jbe 0x14002f87f
mov edx, 1
lea rcx, [rbp + 0x20]
call fcn.14002f6c0
mov rcx, qword [rbp + 0x38]
mov esi, 4
lea rax, [rcx + 0x10]
mov qword [rbp + 0x38], rax
test rcx, rcx
je 0x14002f8a2
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov word [rcx + 0xe], si
mov rdx, rbx
mov rcx, rdi
call fcn.140030fc0
cmp dword [rdi + 0x30], 0
jne 0x14002f9d8
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5d
jne 0x14002f8e9
mov rcx, rbx
call fcn.140031c80
mov rax, qword [rbp + 0x38]
movabs rcx, 0xffff000000000000
mov word [rax - 2], si
and qword [rax - 8], rcx
xor esi, esi
mov qword [rax - 0x10], rsi
jmp 0x14002f9d8
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
xor esi, esi
call fcn.140030e40
cmp dword [rdi + 0x30], esi
jne 0x14002f9d8
mov rdx, rbx
mov rcx, rdi
inc esi
call fcn.140030fc0
cmp dword [rdi + 0x30], 0
jne 0x14002f9d8
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x2c
jne 0x14002f939
mov rcx, rbx
call fcn.140031c80
mov rdx, rbx
mov rcx, rdi
call fcn.140030fc0
jmp 0x14002f953
cmp al, 0x5d
je 0x14002f9ab
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 7
mov qword [rdi + 0x38], rax
cmp dword [rdi + 0x30], 0
jne 0x14002f9d8
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5d
je 0x14002f97c
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.140030e40
cmp dword [rdi + 0x30], 0
je 0x14002f902
jmp 0x14002f9d8
mov eax, esi
mov r8d, esi
neg rax
shl rax, 4
add qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp + 0x10]
sub rcx, 0x10
mov rdx, qword [rbp + 0x38]
call fcn.140028d00
mov rcx, rbx
call fcn.140031c80
jmp 0x14002f9d8
mov rcx, rbx
call fcn.140031c80
mov eax, esi
mov r8d, esi
neg rax
shl rax, 4
add qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp + 0x10]
sub rcx, 0x10
mov rdx, qword [rbp + 0x38]
call fcn.140028d00
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, r8
mov rcx, rdx
mov rbx, rdx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x61
jne 0x14002faa7
mov rcx, rbx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x14002faa7
mov rcx, rbx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x73
jne 0x14002faa7
mov rcx, rbx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x65
jne 0x14002faa7
mov rcx, rbx
call fcn.140031c80
mov rax, qword [rsi + 0x38]
add rax, 0x10
cmp rax, qword [rsi + 0x40]
jbe 0x14002fa74
mov edx, 1
lea rcx, [rsi + 0x20]
call fcn.14002f6c0
mov rcx, qword [rsi + 0x38]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x38], rax
test rcx, rcx
je 0x14002fabd
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov eax, 9
mov word [rcx + 0xe], ax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rdx
mov dword [rdi + 0x30], 3
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, r8
mov rcx, rdx
mov rbx, rdx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x75
jne 0x14002fc44
mov rcx, rbx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x14002fc44
mov rcx, rbx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x14002fc44
mov rcx, rbx
call fcn.140031c80
mov rcx, rsi
call fcn.140028be0
test al, al
jne 0x14002fc5a
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov dword [rdi + 0x30], shutdown
jmp 0x14002fc56
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rdx
mov dword [rdi + 0x30], 3
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov qword [rsp + 0x30], 0xfffffffffffffffe
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rsp + 0x50], xmm9
movaps xmmword [rsp + 0x40], xmm10
mov rbx, rdx
mov r13, rcx
mov rax, qword [rdx + 0x20]
mov rcx, rax
sub rcx, qword [rdx + 8]
add rcx, qword [rdx + 0x30]
mov qword [rsp + 0x28], rcx
xorps xmm10, xmm10
movaps xmm6, xmm10
cmp byte [rax], 0x2d
jne 0x14002fce4
mov rcx, rdx
call fcn.140031c80
mov bpl, 1
jmp 0x14002fce7
xor bpl, bpl
mov byte [rsp + 0x20], bpl
xor r12d, r12d
mov r15d, r12d
mov r14d, r12d
mov byte [rsp + 0xf8], r12b
mov esi, r12d
mov rcx, qword [rbx + 0x20]
movzx edi, byte [rcx]
movsd xmm8, qword [0x1400a68d0]
movsd xmm9, qword [0x1400a68d8]
cmp dil, 0x30
jne 0x14002fd37
mov rcx, rbx
call fcn.140031c80
xor dil, dil
mov byte [rsp + 0xe8], dil
jmp 0x14003009b
lea eax, [rdi - 0x31]
cmp al, 8
ja 0x14002fdf6
mov rcx, rbx
call fcn.140031c80
movsx r15d, dil
sub r15d, 0x30
mov rax, qword [rbx + 0x20]
test bpl, bpl
je 0x14002fda6
cmp byte [rax], 0x30
jl 0x14002fe14
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14002fe14
cmp r15d, 0xccccccc
jb 0x14002fd86
jne 0x14002fde9
cmp dil, 0x38
jg 0x14002fde9
mov rcx, rbx
call fcn.140031c80
lea ecx, [r15 + r15*4]
movsx r15d, dil
add r15d, 0xffffffd0
lea r15d, [r15 + rcx*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x14002fd5b
cmp byte [rax], 0x30
jl 0x14002fe14
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14002fe14
cmp r15d, 0x19999999
jb 0x14002fdc9
jne 0x14002fde9
cmp dil, 0x35
jg 0x14002fde9
mov rcx, rbx
call fcn.140031c80
lea ecx, [r15 + r15*4]
movsx r15d, dil
add r15d, 0xffffffd0
lea r15d, [r15 + rcx*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x14002fda6
mov r14d, r15d
mov byte [rsp + 0xf8], 1
jmp 0x14002fe14
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], 3
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], esi
jne 0x1400305b9
xor bpl, bpl
mov byte [rsp + 0xe8], bpl
cmp byte [rsp + 0xf8], bpl
je 0x14002ffb3
mov rax, qword [rbx + 0x20]
cmp byte [rsp + 0x20], r12b
je 0x14002feed
cmp byte [rax], 0x30
jl 0x14002ffb3
movabs rcx, 0xccccccccccccccc
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14002ffb3
cmp r14, rcx
jb 0x14002fe75
jne 0x14002ff96
cmp dil, 0x38
jg 0x14002ff96
cmp rax, qword [rbx + 0x18]
jae 0x14002fe84
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14002fed0
cmp byte [rbx + 0x38], r12b
jne 0x14002fed0
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14002fed0
mov byte [rax + rdx], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx rcx, dil
sub rcx, 0x30
mov ecx, ecx
lea rax, [r14 + r14*4]
lea r14, [rcx + rax*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x14002fe3c
cmp byte [rax], 0x30
jl 0x14002ffb3
movabs rcx, 0x1999999999999999
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14002ffb3
cmp r14, rcx
jb 0x14002ff1e
jne 0x14002ff96
cmp dil, 0x35
jg 0x14002ff96
cmp rax, qword [rbx + 0x18]
jae 0x14002ff2d
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14002ff79
cmp byte [rbx + 0x38], r12b
jne 0x14002ff79
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14002ff79
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx rcx, dil
sub rcx, 0x30
mov ecx, ecx
lea rax, [r14 + r14*4]
lea r14, [rcx + rax*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x14002feed
xorps xmm6, xmm6
test r14, r14
cvtsi2sd xmm6, r14
jns 0x14002ffa8
addsd xmm6, xmm9
mov bpl, 1
mov byte [rsp + 0xe8], bpl
test bpl, bpl
je 0x140030093
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x140030093
movsd xmm7, qword [0x1400a68e0]
mov rbp, qword [rsp + 0x28]
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x39
jg 0x140030093
comisd xmm6, xmm7
jb 0x140030009
mov dword [r13 + 0x30], select
mov qword [r13 + 0x38], rbp
cmp dword [r13 + 0x30], r12d
jne 0x1400305b9
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp rax, qword [rbx + 0x18]
jae 0x14003001f
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14003006b
cmp byte [rbx + 0x38], r12b
jne 0x14003006b
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003006b
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx eax, dil
sub eax, 0x30
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm6, xmm8
addsd xmm0, xmm6
movaps xmm6, xmm0
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x14002ffe0
movzx edi, byte [rsp + 0xe8]
mov ebp, r12d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x2e
jne 0x1400302e5
mov rcx, rbx
call fcn.140031c80
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
sub al, 0x30
cmp al, 9
jbe 0x1400300de
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], select
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], r12d
jne 0x1400305b9
test dil, dil
jne 0x1400301d3
mov eax, r15d
cmp byte [rsp + 0xf8], bpl
cmovne rax, r14
mov r14, rax
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x1400301b9
movabs r13, 0x1fffffffffffff
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x1400301b1
cmp r14, r13
ja 0x1400301b1
cmp rax, qword [rbx + 0x18]
jae 0x140030139
inc rax
mov qword [rbx + 0x20], rax
jmp 0x140030185
cmp byte [rbx + 0x38], r12b
jne 0x140030185
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x140030185
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx rcx, dil
sub rcx, 0x30
mov ecx, ecx
lea rax, [r14 + r14*4]
lea r14, [rcx + rax*2]
dec ebp
lea eax, [rsi + 1]
test r14, r14
cmove eax, esi
mov esi, eax
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x140030110
mov r13, qword [rsp + 0xe0]
xorps xmm6, xmm6
cvtsi2sd xmm6, r14
test r14, r14
jns 0x1400301cb
addsd xmm6, xmm9
mov byte [rsp + 0xe8], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x1400302e5
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x1400302e5
cmp esi, 0x11
jge 0x14003027d
cmp rax, qword [rbx + 0x18]
jae 0x140030209
inc rax
mov qword [rbx + 0x20], rax
jmp 0x140030255
cmp byte [rbx + 0x38], r12b
jne 0x140030255
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x140030255
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx eax, dil
sub eax, 0x30
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm6, xmm8
addsd xmm0, xmm6
movaps xmm6, xmm0
dec ebp
comisd xmm0, xmm10
jbe 0x1400302d8
inc esi
jmp 0x1400302d8
cmp rax, qword [rbx + 0x18]
jae 0x14003028c
inc rax
mov qword [rbx + 0x20], rax
jmp 0x1400302d8
cmp byte [rbx + 0x38], r12b
jne 0x1400302d8
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x1400302d8
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x1400301e0
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax]
cmp cl, 0x65
je 0x1400302fa
cmp cl, 0x45
jne 0x1400304e8
mov rcx, rbx
call fcn.140031c80
cmp byte [rsp + 0xe8], r12b
jne 0x140030336
cmp byte [rsp + 0xf8], r12b
mov rax, r14
jne 0x14003031c
mov eax, r15d
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
test rax, rax
jns 0x14003032e
addsd xmm6, xmm9
mov byte [rsp + 0xe8], 1
xor sil, sil
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax]
cmp cl, 0x2b
jne 0x14003034f
mov rcx, rbx
call fcn.140031c80
jmp 0x14003035f
cmp cl, 0x2d
jne 0x14003035f
mov rcx, rbx
call fcn.140031c80
mov sil, 1
mov rcx, qword [rbx + 0x20]
movzx edi, byte [rcx]
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x1400304c2
mov rcx, rbx
call fcn.140031c80
movsx r12d, dil
sub r12d, 0x30
mov rax, qword [rbx + 0x20]
test sil, sil
je 0x14003045f
cmp byte [rax], 0x30
jl 0x1400304e0
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x1400304e0
mov rcx, rbx
call fcn.140031c80
lea r12d, [r12 + r12*4]
movsx eax, dil
lea r12d, [r12 - 0x18]
lea r12d, [rax + r12*2]
cmp r12d, 0xccccccc
jl 0x14003044d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x14003044d
nop dword [rax]
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x39
jg 0x14003044d
cmp rax, qword [rbx + 0x18]
jae 0x1400303f8
inc rax
mov qword [rbx + 0x20], rax
jmp 0x140030444
cmp byte [rbx + 0x38], 0
jne 0x140030444
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x140030444
mov byte [rdx + rax], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x1400303e0
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x1400303a0
jmp 0x1400304e0
mov esi, 0x134
sub esi, ebp
cmp byte [rax], 0x30
jl 0x1400304e8
nop
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x1400304e8
mov rcx, rbx
call fcn.140031c80
lea r12d, [r12 + r12*4]
movsx eax, dil
lea r12d, [r12 - 0x18]
lea r12d, [rax + r12*2]
cmp r12d, esi
jle 0x1400304b7
mov dword [r13 + 0x30], select
mov rax, qword [rsp + 0x28]
mov qword [r13 + 0x38], rax
cmp dword [r13 + 0x30], 0
jne 0x1400305b9
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x140030470
jmp 0x1400304e8
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], shutdown
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], r12d
jne 0x1400305b9
test sil, sil
je 0x1400304e8
neg r12d
cmp byte [rsp + 0xe8], 0
je 0x140030556
lea eax, [r12 + rbp]
cmp eax, 0xfffffecc
jge 0x140030517
divsd xmm6, qword [0x1400a68e8]
add eax, 0x134
cmp eax, 0xfffffecc
jge 0x140030517
movaps xmm6, xmm10
jmp 0x140030536
lea rcx, [0x1400a5760]
test eax, eax
cdqe
js 0x14003052b
mulsd xmm6, qword [rcx + rax*8]
jmp 0x140030536
shl rax, 3
sub rcx, rax
divsd xmm6, qword [rcx]
cmp byte [rsp + 0x20], 0
je 0x140030544
xorps xmm6, xmmword [0x1400a4f50]
movaps xmm1, xmm6
mov rcx, qword [rsp + 0xf0]
call fcn.140028750
jmp 0x1400305a4
mov rcx, qword [rsp + 0xf0]
cmp byte [rsp + 0xf8], 0
je 0x140030587
cmp byte [rsp + 0x20], 0
je 0x14003057d
not r14
lea rdx, [r14 + 1]
call fcn.140028a90
jmp 0x1400305a4
mov rdx, r14
call fcn.140029110
jmp 0x1400305a4
cmp byte [rsp + 0x20], 0
je 0x14003059c
not r15d
lea edx, [r15 + 1]
call fcn.140028b70
jmp 0x1400305a4
mov edx, r15d
call fcn.1400291e0
test al, al
jne 0x1400305b9
mov dword [r13 + 0x30], shutdown
mov rax, qword [rsp + 0x28]
mov qword [r13 + 0x38], rax
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbp, r8
mov rcx, rdx
mov rbx, rdx
call fcn.140031c80
mov rax, qword [rbp + 0x38]
add rax, 0x10
cmp rax, qword [rbp + 0x40]
jbe 0x140030631
mov edx, 1
lea rcx, [rbp + 0x20]
call fcn.14002f6c0
mov rcx, qword [rbp + 0x38]
mov esi, 3
lea rax, [rcx + 0x10]
mov qword [rbp + 0x38], rax
test rcx, rcx
je 0x140030654
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov word [rcx + 0xe], si
mov rdx, rbx
mov rcx, rdi
call fcn.140030fc0
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x7d
jne 0x14003069d
mov rcx, rbx
call fcn.140031c80
mov rax, qword [rbp + 0x38]
movabs rcx, 0xffff000000000000
mov word [rax - 2], si
and qword [rax - 8], rcx
xor esi, esi
mov qword [rax - 0x10], rsi
jmp 0x1400307f1
xor esi, esi
nop
cmp al, 0x22
je 0x1400306c4
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 4
mov qword [rdi + 0x38], rax
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov r9b, 1
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call 0x140030920
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov rdx, rbx
mov rcx, rdi
call fcn.140030fc0
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov rcx, qword [rbx + 0x20]
cmp byte [rcx], 0x3a
jne 0x140030707
mov rcx, rbx
call fcn.140031c80
jmp 0x140030727
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 5
mov qword [rdi + 0x38], rax
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov rdx, rbx
mov rcx, rdi
call fcn.140030fc0
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.140030e40
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov rdx, rbx
mov rcx, rdi
call fcn.140030fc0
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov rcx, qword [rbx + 0x20]
inc esi
movzx eax, byte [rcx]
cmp al, 0x2c
je 0x140030796
cmp al, 0x7d
je 0x140030806
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 6
mov qword [rdi + 0x38], rax
jmp 0x1400307a9
mov rcx, rbx
call fcn.140031c80
mov rdx, rbx
mov rcx, rdi
call fcn.140030fc0
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x7d
jne 0x1400306a0
mov edx, esi
mov rcx, rbp
call fcn.1400287b0
test al, al
jne 0x1400307e9
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x30], shutdown
cmp dword [rdi + 0x30], 0
jne 0x1400307f1
mov rcx, rbx
call fcn.140031c80
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov rcx, rbx
call fcn.140031c80
mov edx, esi
mov rcx, rbp
call fcn.1400287b0
test al, al
jne 0x1400307f1
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x30], shutdown
jmp 0x1400307f1
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x90], rbx
movzx r12d, r9b
mov r13, r8
mov rbx, rdx
mov rdi, rcx
mov rcx, rdx
call fcn.140031c80
mov rsi, rdi
mov qword [rsp + 0x28], rdi
xor r14d, r14d
mov dword [rsp + 0x30], r14d
lea r15, [0x1400a8740]
nop dword [rax]
mov rcx, qword [rbx + 0x20]
movzx ebp, byte [rcx]
cmp bpl, 0x5c
jne 0x140030b87
mov rdx, qword [rbx + 0x30]
mov r10, qword [rbx + 8]
mov rbp, rdx
sub rbp, r10
add rbp, rcx
cmp rcx, qword [rbx + 0x18]
jae 0x1400309a2
lea rax, [rcx + 1]
mov qword [rbx + 0x20], rax
jmp 0x1400309ed
cmp byte [rbx + 0x38], 0
jne 0x1400309ed
add rdx, qword [rbx + 0x28]
mov qword [rbx + 0x30], rdx
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, r10
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x1400309ed
mov byte [rax + rdx], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rcx, qword [rbx + 0x20]
movzx edx, byte [rcx]
add r15, rdx
cmp byte [r15], 0
je 0x140030a3a
mov rcx, rbx
call fcn.140031c80
movzx ebp, byte [r15]
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x140030a23
mov edx, 1
mov rcx, rsi
call fcn.1400222e0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], bpl
inc r14d
jmp 0x140030961
cmp dl, 0x75
jne 0x140030b6d
cmp rcx, qword [rbx + 0x18]
jae 0x140030a53
lea rax, [rcx + 1]
mov qword [rbx + 0x20], rax
jmp 0x140030a9f
cmp byte [rbx + 0x38], 0
jne 0x140030a9f
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x140030a9f
mov byte [rax + rdx], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.14002fad0
mov edx, eax
cmp dword [rdi + 0x30], 0
jne 0x140030d4a
lea r15d, [rax - 0xd800]
cmp r15d, 0x3ff
ja 0x140030b54
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5c
jne 0x140030af1
mov rcx, rbx
call fcn.140031c80
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x75
jne 0x140030af1
mov rcx, rbx
call fcn.140031c80
jmp 0x140030b06
mov dword [rdi + 0x30], 9
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x140030d4a
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.14002fad0
cmp dword [rdi + 0x30], 0
jne 0x140030d4a
lea ecx, [rax - 0xdc00]
cmp ecx, 0x3ff
jbe 0x140030b41
mov dword [rdi + 0x30], 9
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x140030d4a
mov edx, r15d
shl edx, 0xa
add eax, 0xffff2400
or edx, eax
add edx, 0x10000
lea rcx, [rsp + 0x28]
call fcn.14002f540
mov r14d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
jmp 0x140030966
mov dword [rdi + 0x30], 0xa
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x140030d4a
jmp 0x140030966
cmp bpl, 0x22
je 0x140030c15
cmp bpl, 0x20
jae 0x140030bd7
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov qword [rdi + 0x38], rax
test bpl, bpl
jne 0x140030bc1
mov dword [rdi + 0x30], 0xb
cmp dword [rdi + 0x30], 0
jne 0x140030d4a
jmp 0x140030970
mov dword [rdi + 0x30], 0xa
cmp dword [rdi + 0x30], 0
jne 0x140030d4a
jmp 0x140030970
mov rcx, rbx
call fcn.140031c80
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x140030bf9
mov edx, 1
mov rcx, rsi
call fcn.1400222e0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], bpl
inc r14d
mov dword [rsp + 0x30], r14d
jmp 0x140030970
mov rax, qword [rbx + 0x20]
cmp rax, qword [rbx + 0x18]
jae 0x140030c28
inc rax
mov qword [rbx + 0x20], rax
jmp 0x140030c74
cmp byte [rbx + 0x38], 0
jne 0x140030c74
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.140084c7c
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x140030c74
mov byte [rdx + rax], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x140030c8e
mov edx, 1
mov rcx, rsi
call fcn.1400222e0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], 0
inc r14d
cmp dword [rdi + 0x30], 0
jne 0x140030d4a
lea ebp, [r14 - 1]
mov eax, r14d
sub qword [rsi + 0x18], rax
mov rsi, qword [rsi + 0x18]
test r12b, r12b
je 0x140030d1e
mov rax, qword [r13 + 0x38]
add rax, 0x10
cmp rax, qword [r13 + 0x40]
jbe 0x140030cda
mov edx, 1
lea rcx, [r13 + 0x20]
call fcn.14002f6c0
mov rcx, qword [r13 + 0x38]
lea rax, [rcx + 0x10]
mov qword [r13 + 0x38], rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rcx
test rcx, rcx
je 0x140030d1c
mov r8, qword [r13 + 0x10]
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], ebp
lea rdx, [rsp + 0x28]
call fcn.140031d00
nop
jmp 0x140030d4a
mov r9b, 1
mov r8d, ebp
mov rdx, rsi
mov rcx, r13
call fcn.140031ed0
test al, al
jne 0x140030d4a
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov dword [rdi + 0x30], shutdown
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, r8
mov rcx, rdx
mov rbx, rdx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x72
jne 0x140030e12
mov rcx, rbx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x75
jne 0x140030e12
mov rcx, rbx
call fcn.140031c80
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x65
jne 0x140030e12
mov rcx, rbx
call fcn.140031c80
mov rax, qword [rsi + 0x38]
add rax, 0x10
cmp rax, qword [rsi + 0x40]
jbe 0x140030ddf
mov edx, 1
lea rcx, [rsi + 0x20]
call fcn.14002f6c0
mov rcx, qword [rsi + 0x38]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x38], rax
test rcx, rcx
je 0x140030e28
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov eax, 0xa
mov word [rcx + 0xe], ax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rdx
mov dword [rdi + 0x30], 3
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdx + 0x20]
movsx r9d, byte [rax]
add r9d, 0xffffffde
cmp r9d, 0x59
ja case.0x140030e70.35
movsxd rax, r9d
lea r10, [0x140000000]
movzx eax, byte [r10 + rax + 0x30eb8]
mov r9d, dword [r10 + rax*4 + 0x30e9c]
add r9, r10
jmp r9
jmp 0x14002fbd0
jmp 0x140030d70
jmp 0x14002f9f0
xor r9d, r9d
jmp 0x140030920
jmp 0x1400305f0
jmp 0x14002f840
jmp 0x14002fc70