Function at 0x140007880
Capabilities:
Read file on windows

Disassembly:
mov rax, qword [rdx + 0x20]
movsx r9d, byte [rax]
add r9d, 0xffffffde
cmp r9d, 0x59
ja case.0x1400078b0.35
movsxd rax, r9d
lea r10, [0x140000000]
movzx eax, byte [r10 + rax + 0x78f8]
mov r9d, dword [r10 + rax*4 + 0x78dc]
add r9, r10
jmp r9
jmp 0x140007a00
jmp 0x140007aa0
jmp 0x140007b70
xor r9d, r9d
jmp 0x140007c50
jmp 0x1400080c0
jmp 0x140008310
jmp 0x1400084c0
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.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x75
jne 0x140007a74
mov rcx, rbx
call fcn.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x140007a74
mov rcx, rbx
call fcn.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x140007a74
mov rcx, rbx
call fcn.140007150
mov rcx, rsi
call fcn.1400069e0
test al, al
jne 0x140007a8a
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov dword [rdi + 0x30], select
jmp 0x140007a86
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 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.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x72
jne 0x140007b3d
mov rcx, rbx
call fcn.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x75
jne 0x140007b3d
mov rcx, rbx
call fcn.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x65
jne 0x140007b3d
mov rcx, rbx
call fcn.140007150
mov rax, qword [rsi + 0x38]
add rax, 0x10
cmp rax, qword [rsi + 0x40]
jbe 0x140007b0a
lea rcx, [rsi + 0x20]
call fcn.140002eb0
mov rcx, qword [rsi + 0x38]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x38], rax
test rcx, rcx
je 0x140007b53
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 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.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x61
jne 0x140007c22
mov rcx, rbx
call fcn.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x140007c22
mov rcx, rbx
call fcn.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x73
jne 0x140007c22
mov rcx, rbx
call fcn.140007150
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x65
jne 0x140007c22
mov rcx, rbx
call fcn.140007150
mov rax, qword [rsi + 0x38]
add rax, 0x10
cmp rax, qword [rsi + 0x40]
jbe 0x140007bef
lea rcx, [rsi + 0x20]
call fcn.140002eb0
mov rcx, qword [rsi + 0x38]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x38], rax
test rcx, rcx
je 0x140007c38
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
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.140007150
mov rsi, rdi
mov qword [rsp + 0x28], rdi
xor r14d, r14d
mov dword [rsp + 0x30], r14d
lea r15, [0x14005e240]
nop dword [rax]
mov rcx, qword [rbx + 0x20]
movzx ebp, byte [rcx]
cmp bpl, 0x5c
jne 0x140007eb7
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 0x140007cd2
lea rax, [rcx + 1]
mov qword [rbx + 0x20], rax
jmp 0x140007d1d
cmp byte [rbx + 0x38], 0
jne 0x140007d1d
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.1400253e8
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 0x140007d1d
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 0x140007d6a
mov rcx, rbx
call fcn.140007150
movzx ebp, byte [r15]
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x140007d53
mov edx, 1
mov rcx, rsi
call fcn.140002e10
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], bpl
inc r14d
jmp 0x140007c91
cmp dl, 0x75
jne 0x140007e9d
cmp rcx, qword [rbx + 0x18]
jae 0x140007d83
lea rax, [rcx + 1]
mov qword [rbx + 0x20], rax
jmp 0x140007dcf
cmp byte [rbx + 0x38], 0
jne 0x140007dcf
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.1400253e8
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 0x140007dcf
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.140008e80
mov edx, eax
cmp dword [rdi + 0x30], 0
jne 0x14000809a
lea r15d, [rax - 0xd800]
cmp r15d, 0x3ff
ja 0x140007e84
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5c
jne 0x140007e21
mov rcx, rbx
call fcn.140007150
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x75
jne 0x140007e21
mov rcx, rbx
call fcn.140007150
jmp 0x140007e36
mov dword [rdi + 0x30], 9
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x14000809a
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.140008e80
cmp dword [rdi + 0x30], 0
jne 0x14000809a
lea ecx, [rax - 0xdc00]
cmp ecx, 0x3ff
jbe 0x140007e71
mov dword [rdi + 0x30], 9
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x14000809a
mov edx, r15d
shl edx, 0xa
add eax, 0xffff2400
or edx, eax
add edx, 0x10000
lea rcx, [rsp + 0x28]
call fcn.140006c60
mov r14d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
jmp 0x140007c96
mov dword [rdi + 0x30], 0xa
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x14000809a
jmp 0x140007c96
cmp bpl, 0x22
je 0x140007f45
cmp bpl, 0x20
jae 0x140007f07
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov qword [rdi + 0x38], rax
test bpl, bpl
jne 0x140007ef1
mov dword [rdi + 0x30], 0xb
cmp dword [rdi + 0x30], 0
jne 0x14000809a
jmp 0x140007ca0
mov dword [rdi + 0x30], 0xa
cmp dword [rdi + 0x30], 0
jne 0x14000809a
jmp 0x140007ca0
mov rcx, rbx
call fcn.140007150
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x140007f29
mov edx, 1
mov rcx, rsi
call fcn.140002e10
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 0x140007ca0
mov rax, qword [rbx + 0x20]
cmp rax, qword [rbx + 0x18]
jae 0x140007f58
inc rax
mov qword [rbx + 0x20], rax
jmp 0x140007fa4
cmp byte [rbx + 0x38], 0
jne 0x140007fa4
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.1400253e8
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 0x140007fa4
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 0x140007fbe
mov edx, 1
mov rcx, rsi
call fcn.140002e10
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 0x14000809a
lea edi, [r14 - 1]
mov eax, r14d
sub qword [rsi + 0x18], rax
mov rsi, qword [rsi + 0x18]
mov rax, qword [r13 + 0x38]
add rax, 0x10
test r12b, r12b
je 0x140008049
cmp rax, qword [r13 + 0x40]
jbe 0x140008005
lea rcx, [r13 + 0x20]
call fcn.140002eb0
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 0x140008047
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], edi
lea rdx, [rsp + 0x28]
call fcn.140006b50
nop
jmp 0x14000809a
cmp rax, qword [r13 + 0x40]
jbe 0x140008058
lea rcx, [r13 + 0x20]
call fcn.140002eb0
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 0x14000809a
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], edi
lea rdx, [rsp + 0x28]
call fcn.140006b50
nop
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], 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.140007150
mov rax, qword [rbp + 0x38]
add rax, 0x10
cmp rax, qword [rbp + 0x40]
jbe 0x1400080fc
lea rcx, [rbp + 0x20]
call fcn.140002eb0
mov rcx, qword [rbp + 0x38]
mov esi, 3
lea rax, [rcx + 0x10]
mov qword [rbp + 0x38], rax
test rcx, rcx
je 0x14000811f
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.1400075b0
cmp dword [rdi + 0x30], 0
jne 0x1400082c1
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x7d
jne 0x140008168
mov rcx, rbx
call fcn.140007150
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 0x1400082c1
xor esi, esi
nop word [rax + rax]
cmp al, 0x22
je 0x140008194
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 0x1400082c1
mov r9b, 1
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call 0x140007c50
cmp dword [rdi + 0x30], 0
jne 0x1400082c1
mov rdx, rbx
mov rcx, rdi
call fcn.1400075b0
cmp dword [rdi + 0x30], 0
jne 0x1400082c1
mov rcx, qword [rbx + 0x20]
cmp byte [rcx], 0x3a
jne 0x1400081d7
mov rcx, rbx
call fcn.140007150
jmp 0x1400081f7
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 0x1400082c1
mov rdx, rbx
mov rcx, rdi
call fcn.1400075b0
cmp dword [rdi + 0x30], 0
jne 0x1400082c1
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.140007880
cmp dword [rdi + 0x30], 0
jne 0x1400082c1
mov rdx, rbx
mov rcx, rdi
call fcn.1400075b0
cmp dword [rdi + 0x30], 0
jne 0x1400082c1
mov rcx, qword [rbx + 0x20]
inc esi
movzx eax, byte [rcx]
cmp al, 0x2c
je 0x140008266
cmp al, 0x7d
je 0x1400082d6
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 6
mov qword [rdi + 0x38], rax
jmp 0x140008279
mov rcx, rbx
call fcn.140007150
mov rdx, rbx
mov rcx, rdi
call fcn.1400075b0
cmp dword [rdi + 0x30], 0
jne 0x1400082c1
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x7d
jne 0x140008170
mov edx, esi
mov rcx, rbp
call fcn.140006770
test al, al
jne 0x1400082b9
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x30], select
cmp dword [rdi + 0x30], 0
jne 0x1400082c1
mov rcx, rbx
call fcn.140007150
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.140007150
mov edx, esi
mov rcx, rbp
call fcn.140006770
test al, al
jne 0x1400082c1
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x30], select
jmp 0x1400082c1
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.140007150
mov rax, qword [rbp + 0x38]
add rax, 0x10
cmp rax, qword [rbp + 0x40]
jbe 0x14000834a
lea rcx, [rbp + 0x20]
call fcn.140002eb0
mov rcx, qword [rbp + 0x38]
mov esi, 4
lea rax, [rcx + 0x10]
mov qword [rbp + 0x38], rax
test rcx, rcx
je 0x14000836d
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.1400075b0
cmp dword [rdi + 0x30], 0
jne 0x1400084a2
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5d
jne 0x1400083b4
mov rcx, rbx
call fcn.140007150
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 0x1400084a2
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
xor esi, esi
call fcn.140007880
cmp dword [rdi + 0x30], esi
jne 0x1400084a2
nop dword [rax]
mov rdx, rbx
mov rcx, rdi
inc esi
call fcn.1400075b0
cmp dword [rdi + 0x30], 0
jne 0x1400084a2
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x2c
jne 0x140008407
mov rcx, rbx
call fcn.140007150
mov rdx, rbx
mov rcx, rdi
call fcn.1400075b0
jmp 0x140008421
cmp al, 0x5d
je 0x140008475
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 0x1400084a2
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5d
je 0x140008446
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.140007880
cmp dword [rdi + 0x30], 0
je 0x1400083d0
jmp 0x1400084a2
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.140006ac0
mov rcx, rbx
call fcn.140007150
jmp 0x1400084a2
mov rcx, rbx
call fcn.140007150
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.140006ac0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
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
xorps xmm6, xmm6
cmp byte [rax], 0x2d
jne 0x140008533
mov rcx, rdx
call fcn.140007150
mov bpl, 1
jmp 0x140008536
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 [0x14005f538]
movsd xmm9, qword [0x14005f578]
cmp dil, 0x30
jne 0x140008586
mov rcx, rbx
call fcn.140007150
xor dil, dil
mov byte [rsp + 0xe8], dil
jmp 0x1400088eb
lea eax, [rdi - 0x31]
cmp al, 8
ja 0x140008645
mov rcx, rbx
call fcn.140007150
movsx r15d, dil
sub r15d, 0x30
mov rax, qword [rbx + 0x20]
test bpl, bpl
je 0x1400085f5
cmp byte [rax], 0x30
jl 0x140008663
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x140008663
cmp r15d, 0xccccccc
jb 0x1400085d5
jne 0x140008638
cmp dil, 0x38
jg 0x140008638
mov rcx, rbx
call fcn.140007150
lea ecx, [r15 + r15*4]
movsx r15d, dil
add r15d, 0xffffffd0
lea r15d, [r15 + rcx*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x1400085aa
cmp byte [rax], 0x30
jl 0x140008663
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x140008663
cmp r15d, 0x19999999
jb 0x140008618
jne 0x140008638
cmp dil, 0x35
jg 0x140008638
mov rcx, rbx
call fcn.140007150
lea ecx, [r15 + r15*4]
movsx r15d, dil
add r15d, 0xffffffd0
lea r15d, [r15 + rcx*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x1400085f5
mov r14d, r15d
mov byte [rsp + 0xf8], 1
jmp 0x140008663
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], 3
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], r12d
jne 0x140008e40
xor bpl, bpl
mov byte [rsp + 0xe8], bpl
cmp byte [rsp + 0xf8], bpl
je 0x140008802
mov rax, qword [rbx + 0x20]
cmp byte [rsp + 0x20], r12b
je 0x14000873c
cmp byte [rax], 0x30
jl 0x140008802
movabs rcx, 0xccccccccccccccc
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x140008802
cmp r14, rcx
jb 0x1400086c4
jne 0x1400087e5
cmp dil, 0x38
jg 0x1400087e5
cmp rax, qword [rbx + 0x18]
jae 0x1400086d3
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14000871f
cmp byte [rbx + 0x38], r12b
jne 0x14000871f
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.1400253e8
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 0x14000871f
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 0x14000868b
cmp byte [rax], 0x30
jl 0x140008802
movabs rcx, 0x1999999999999999
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x140008802
cmp r14, rcx
jb 0x14000876d
jne 0x1400087e5
cmp dil, 0x35
jg 0x1400087e5
cmp rax, qword [rbx + 0x18]
jae 0x14000877c
inc rax
mov qword [rbx + 0x20], rax
jmp 0x1400087c8
cmp byte [rbx + 0x38], r12b
jne 0x1400087c8
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.1400253e8
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 0x1400087c8
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 0x14000873c
xorps xmm6, xmm6
test r14, r14
cvtsi2sd xmm6, r14
jns 0x1400087f7
addsd xmm6, xmm9
mov bpl, 1
mov byte [rsp + 0xe8], bpl
test bpl, bpl
je 0x1400088e3
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x1400088e3
movsd xmm7, qword [0x14005f580]
mov rbp, qword [rsp + 0x28]
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x39
jg 0x1400088e3
comisd xmm6, xmm7
jb 0x140008859
mov dword [r13 + 0x30], select
mov qword [r13 + 0x38], rbp
cmp dword [r13 + 0x30], r12d
jne 0x140008e40
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp rax, qword [rbx + 0x18]
jae 0x14000886f
inc rax
mov qword [rbx + 0x20], rax
jmp 0x1400088bb
cmp byte [rbx + 0x38], r12b
jne 0x1400088bb
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.1400253e8
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 0x1400088bb
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 0x140008830
movzx edi, byte [rsp + 0xe8]
mov ebp, r12d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x2e
jne 0x140008b35
mov rcx, rbx
call fcn.140007150
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
sub al, 0x30
cmp al, 9
jbe 0x14000892e
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 0x140008e40
test dil, dil
jne 0x140008a23
mov eax, r15d
cmp byte [rsp + 0xf8], bpl
cmovne rax, r14
mov r14, rax
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x140008a09
movabs r13, 0x1fffffffffffff
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x140008a01
cmp r14, r13
ja 0x140008a01
cmp rax, qword [rbx + 0x18]
jae 0x140008989
inc rax
mov qword [rbx + 0x20], rax
jmp 0x1400089d5
cmp byte [rbx + 0x38], r12b
jne 0x1400089d5
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.1400253e8
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 0x1400089d5
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 0x140008960
mov r13, qword [rsp + 0xe0]
xorps xmm6, xmm6
cvtsi2sd xmm6, r14
test r14, r14
jns 0x140008a1b
addsd xmm6, xmm9
mov byte [rsp + 0xe8], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x140008b35
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x140008b35
cmp esi, 0x11
jge 0x140008acd
cmp rax, qword [rbx + 0x18]
jae 0x140008a59
inc rax
mov qword [rbx + 0x20], rax
jmp 0x140008aa5
cmp byte [rbx + 0x38], r12b
jne 0x140008aa5
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.1400253e8
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 0x140008aa5
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 0x140008b28
inc esi
jmp 0x140008b28
cmp rax, qword [rbx + 0x18]
jae 0x140008adc
inc rax
mov qword [rbx + 0x20], rax
jmp 0x140008b28
cmp byte [rbx + 0x38], r12b
jne 0x140008b28
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.1400253e8
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 0x140008b28
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x140008a30
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax]
cmp cl, 0x65
je 0x140008b4a
cmp cl, 0x45
jne 0x140008d38
mov rcx, rbx
call fcn.140007150
cmp byte [rsp + 0xe8], r12b
jne 0x140008b86
cmp byte [rsp + 0xf8], r12b
mov rax, r14
jne 0x140008b6c
mov eax, r15d
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
test rax, rax
jns 0x140008b7e
addsd xmm6, xmm9
mov byte [rsp + 0xe8], 1
xor sil, sil
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax]
cmp cl, 0x2b
jne 0x140008b9f
mov rcx, rbx
call fcn.140007150
jmp 0x140008baf
cmp cl, 0x2d
jne 0x140008baf
mov rcx, rbx
call fcn.140007150
mov sil, 1
mov rcx, qword [rbx + 0x20]
movzx edi, byte [rcx]
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x140008d12
mov rcx, rbx
call fcn.140007150
movsx r12d, dil
sub r12d, 0x30
mov rax, qword [rbx + 0x20]
test sil, sil
je 0x140008caf
cmp byte [rax], 0x30
jl 0x140008d30
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x140008d30
mov rcx, rbx
call fcn.140007150
lea r12d, [r12 + r12*4]
movsx eax, dil
lea r12d, [r12 - 0x18]
lea r12d, [rax + r12*2]
cmp r12d, 0xccccccc
jl 0x140008c9d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x140008c9d
nop dword [rax]
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x39
jg 0x140008c9d
cmp rax, qword [rbx + 0x18]
jae 0x140008c48
inc rax
mov qword [rbx + 0x20], rax
jmp 0x140008c94
cmp byte [rbx + 0x38], 0
jne 0x140008c94
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.1400253e8
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 0x140008c94
mov byte [rdx + rax], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x140008c30
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x140008bf0
jmp 0x140008d30
mov esi, 0x134
sub esi, ebp
cmp byte [rax], 0x30
jl 0x140008d38
nop
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x140008d38
mov rcx, rbx
call fcn.140007150
lea r12d, [r12 + r12*4]
movsx eax, dil
lea r12d, [r12 - 0x18]
lea r12d, [rax + r12*2]
cmp r12d, esi
jle 0x140008d07
mov dword [r13 + 0x30], select
mov rax, qword [rsp + 0x28]
mov qword [r13 + 0x38], rax
cmp dword [r13 + 0x30], 0
jne 0x140008e40
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x140008cc0
jmp 0x140008d38
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 0x140008e40
test sil, sil
je 0x140008d38
neg r12d
cmp byte [rsp + 0xe8], 0
je 0x140008ddd
lea eax, [r12 + rbp]
cmp eax, 0xfffffecc
jge 0x140008d6b
divsd xmm6, qword [0x14005f588]
add eax, 0x134
cmp eax, 0xfffffecc
jge 0x140008d6b
movaps xmm6, xmm10
jmp 0x140008d8a
lea rcx, [0x14005d640]
test eax, eax
cdqe
js 0x140008d7f
mulsd xmm6, qword [rcx + rax*8]
jmp 0x140008d8a
shl rax, 3
sub rcx, rax
divsd xmm6, qword [rcx]
cmp byte [rsp + 0x20], 0
je 0x140008d98
xorps xmm6, xmmword [0x14005f630]
mov rbx, qword [rsp + 0xf0]
mov rax, qword [rbx + 0x38]
add rax, 0x10
cmp rax, qword [rbx + 0x40]
jbe 0x140008db7
lea rcx, [rbx + 0x20]
call fcn.140002eb0
mov rcx, qword [rbx + 0x38]
lea rax, [rcx + 0x10]
mov qword [rbx + 0x38], rax
test rcx, rcx
je 0x140008e40
xor eax, eax
mov qword [rcx + 8], rax
movsd qword [rcx], xmm6
mov eax, 0x216
mov word [rcx + 0xe], ax
jmp 0x140008e40
mov rcx, qword [rsp + 0xf0]
cmp byte [rsp + 0xf8], 0
je 0x140008e0e
cmp byte [rsp + 0x20], 0
je 0x140008e04
not r14
lea rdx, [r14 + 1]
call fcn.140006850
jmp 0x140008e2b
mov rdx, r14
call fcn.1400067b0
jmp 0x140008e2b
cmp byte [rsp + 0x20], 0
je 0x140008e23
not r15d
lea edx, [r15 + 1]
call fcn.140006970
jmp 0x140008e2b
mov edx, r15d
call fcn.140006900
test al, al
jne 0x140008e40
mov dword [r13 + 0x30], select
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