Function at 0x48e430
Capabilities:
Read file on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdi, r8
mov r8, qword [rdx + 0x20]
mov rsi, rcx
mov rbx, rdx
movzx eax, byte [r8]
cmp al, 0x66
je 0x487435
jle 0x487000
cmp al, 0x74
je 0x4870d5
cmp al, 0x7b
je 0x487290
cmp al, 0x6e
je 0x487110
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp 0x48b6e0
cmp al, 0x22
je 0x487270
cmp al, 0x5b
jne 0x486fe1
cmp r8, qword [rdx + 0x18]
jb 0x4875f0
cmp byte [rdx + 0x38], 0
je 0x487eb0
mov r10, qword [rdi + 0x38]
mov r8, qword [rdi + 0x40]
lea r11, [r10 + 0x10]
cmp r11, r8
ja 0x4881bf
test r10, r10
mov qword [rdi + 0x38], r11
je 0x487060
mov r14d, 4
mov qword [r10 + 8], 0
mov dword [r10], 0
mov dword [r10 + 4], 0
mov word [r10 + 0xe], r14w
mov rdx, qword [rbx + 0x20]
movabs rbp, 0x100002600
movzx r9d, byte [rdx]
cmp r9b, 0x20
jbe 0x487180
cmp r9b, 0x2f
jne 0x487186
mov rcx, qword [rbx + 0x18]
cmp rdx, rcx
jb 0x487d61
cmp byte [rbx + 0x38], 0
je 0x487a00
cmp rdx, rcx
jb 0x4890c6
cmp byte [rbx + 0x38], 0
mov r14d, 0x2f
je 0x489142
test r14b, r14b
jne 0x487f50
mov rcx, rbx
call fcn.00490730
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x2f
je 0x487086
jmp 0x487186
mov r11, qword [rdx + 0x18]
cmp r8, r11
jb 0x4874f2
cmp byte [rdx + 0x38], 0
je 0x487e50
sub r8, qword [rbx + 8]
add r8, qword [rbx + 0x30]
mov dword [rsi + 0x30], 3
mov qword [rsi + 0x38], r8
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rbp, qword [rdx + 0x18]
cmp r8, rbp
jb 0x487571
cmp byte [rdx + 0x38], 0
jne 0x4870ec
mov rdx, qword [rdx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rbp, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], rbp
jae 0x487579
mov byte [r8 + rax], 0
mov r13, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r8, qword [rbx + 0x20]
lea rbp, [r13 + 1]
mov qword [rbx + 0x18], rbp
jmp 0x487579
bt rbp, r9
jb 0x4871f0
mov ecx, dword [rsi + 0x30]
test ecx, ecx
jne 0x4870ff
cmp byte [rdx], 0x5d
jne 0x488267
cmp qword [rbx + 0x18], rdx
ja 0x487de0
cmp byte [rbx + 0x38], 0
je 0x487c32
mov rbx, qword [rdi + 0x38]
mov edi, 4
movabs r8, 0xffff000000000000
mov word [rbx - 2], di
and qword [rbx - 8], r8
mov dword [rbx - 0xc], 0
mov dword [rbx - 0x10], 0
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp qword [rbx + 0x18], rdx
ja 0x487252
cmp byte [rbx + 0x38], 0
jne 0x487072
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r12
jae 0x487249
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r9d, byte [rdx]
jmp 0x487072
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx r9d, byte [rdx + 1]
mov rdx, rcx
jmp 0x487072
xor r9d, r9d
mov r8, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp 0x48e430
cmp r8, qword [rdx + 0x18]
jb 0x4874e5
cmp byte [rdx + 0x38], 0
je 0x487f00
mov rdx, qword [rdi + 0x38]
mov r9, qword [rdi + 0x40]
lea rcx, [rdx + 0x10]
cmp rcx, r9
ja 0x488213
test rdx, rdx
mov qword [rdi + 0x38], rcx
je 0x4872e2
mov r10d, 3
mov qword [rdx + 8], 0
mov dword [rdx], 0
mov dword [rdx + 4], 0
mov word [rdx + 0xe], r10w
mov rdx, qword [rbx + 0x20]
movabs rbp, 0x100002600
movzx eax, byte [rdx]
cmp al, 0x20
jbe 0x487350
cmp al, 0x2f
jne 0x487356
mov r12, qword [rbx + 0x18]
cmp r12, rdx
ja 0x487d50
cmp byte [rbx + 0x38], 0
je 0x48789b
cmp rdx, r12
jb 0x4890b2
cmp byte [rbx + 0x38], 0
mov ebp, 0x2f
je 0x489190
test bpl, bpl
jne 0x487f80
mov rcx, rbx
call fcn.00490730
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x2f
je 0x4872fb
jmp 0x487356
bt rbp, rax
jb 0x4873c0
mov r12d, dword [rsi + 0x30]
test r12d, r12d
jne 0x4870ff
movzx eax, byte [rdx]
cmp al, 0x7d
jne 0x488b07
cmp qword [rbx + 0x18], rdx
ja 0x487dd0
cmp byte [rbx + 0x38], 0
je 0x487be3
mov rbx, qword [rdi + 0x38]
mov edi, 3
movabs r8, 0xffff000000000000
mov word [rbx - 2], di
and qword [rbx - 8], r8
mov dword [rbx - 0xc], 0
mov dword [rbx - 0x10], 0
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp qword [rbx + 0x18], rdx
ja 0x487421
cmp byte [rbx + 0x38], 0
jne 0x4872f3
mov r9, qword [rbx + 0x28]
add qword [rbx + 0x30], r9
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r14, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r14
jae 0x487419
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx eax, byte [rdx]
jmp 0x4872f3
lea r13, [rdx + 1]
mov qword [rbx + 0x20], r13
movzx eax, byte [rdx + 1]
mov rdx, r13
jmp 0x4872f3
mov r13, qword [rdx + 0x18]
cmp r8, r13
jb 0x487470
cmp byte [rdx + 0x38], 0
je 0x487df0
mov rdx, r8
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [rsi + 0x30], 3
mov qword [rsi + 0x38], rdx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
lea rdx, [r8 + 1]
mov qword [rbx + 0x20], rdx
cmp byte [rdx], 0x61
jne 0x48744b
cmp rdx, r13
jb 0x4876e0
cmp byte [rbx + 0x38], 0
jne 0x48744b
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r13, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r13
jae 0x4876e8
mov byte [rdx + rax], 0
mov r9, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rdx, qword [rbx + 0x20]
lea r13, [r9 + 1]
mov qword [rbx + 0x18], r13
jmp 0x4876e8
add r8, 1
mov qword [rdx + 0x20], r8
jmp 0x4872a4
add r8, 1
mov qword [rdx + 0x20], r8
cmp byte [r8], 0x72
jne 0x4870ec
cmp r8, r11
jb 0x487600
cmp byte [rbx + 0x38], 0
jne 0x4870ec
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r11
jae 0x487608
mov byte [r8 + rax], 0
mov r10, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r8, qword [rbx + 0x20]
lea r11, [r10 + 1]
mov qword [rbx + 0x18], r11
jmp 0x487608
add r8, 1
mov qword [rdx + 0x20], r8
cmp byte [r8], 0x75
jne 0x4870ec
cmp r8, rbp
jb 0x487830
cmp byte [rbx + 0x38], 0
jne 0x4870ec
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov r9, qword [rbx]
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r9, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rbp, [r9 + rax - 1]
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x18], rbp
jae 0x487838
mov byte [r9 + rax], 0
mov r14, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r9, qword [rbx + 0x20]
lea rbp, [r14 + 1]
mov qword [rbx + 0x18], rbp
jmp 0x487838
add r8, 1
mov qword [rdx + 0x20], r8
jmp 0x487020
add r8, 1
mov qword [rbx + 0x20], r8
cmp byte [r8], 0x75
jne 0x4870ec
cmp r8, r11
jb 0x487d73
cmp byte [rbx + 0x38], 0
jne 0x4870ec
mov rcx, qword [rbx + 0x28]
add qword [rbx + 0x30], rcx
mov edx, 1
mov r9, qword [rbx]
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r9, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [r9 + rax - 1]
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x18], r11
jae 0x487676
mov byte [r9 + rax], 0
mov r8, qword [rbx + 0x18]
mov r9, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r11, [r8 + 1]
mov qword [rbx + 0x18], r11
movzx r14d, byte [r9]
cmp r14b, 0x65
jne 0x48932f
cmp r9, r11
jb 0x487fcf
cmp byte [rbx + 0x38], 0
je 0x488120
mov rbx, qword [rdi + 0x38]
mov r12, qword [rdi + 0x40]
lea rax, [rbx + 0x10]
cmp rax, r12
ja 0x488df6
test rbx, rbx
mov qword [rdi + 0x38], rax
je 0x4870ff
mov edi, 0xa
mov qword [rbx + 8], 0
mov dword [rbx], 0
mov dword [rbx + 4], 0
mov word [rbx + 0xe], di
jmp 0x4870ff
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp byte [rdx], 0x6c
jne 0x48744b
cmp rdx, r13
jb 0x487da0
cmp byte [rbx + 0x38], 0
jne 0x48744b
mov rbp, qword [rbx + 0x28]
add qword [rbx + 0x30], rbp
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r13, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r13
jae 0x487755
mov byte [r8 + rax], 0
mov rax, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r13, [rax + 1]
mov qword [rbx + 0x18], r13
movzx r12d, byte [r8]
cmp r12b, 0x73
jne 0x487448
cmp r8, r13
jb 0x487fbd
cmp byte [rbx + 0x38], 0
jne 0x487448
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r13, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r13
jae 0x4877c7
mov byte [r10 + rax], 0
mov r14, qword [rbx + 0x18]
mov r10, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r13, [r14 + 1]
mov qword [rbx + 0x18], r13
movzx r11d, byte [r10]
cmp r11b, 0x65
jne 0x489393
cmp r10, r13
jb 0x487fb0
cmp byte [rbx + 0x38], 0
je 0x4880d1
mov rbx, qword [rdi + 0x38]
mov rbp, qword [rdi + 0x40]
lea r13, [rbx + 0x10]
cmp r13, rbp
ja 0x488e4e
test rbx, rbx
mov qword [rdi + 0x38], r13
je 0x4870ff
mov edi, 9
mov qword [rbx + 8], 0
mov dword [rbx], 0
mov dword [rbx + 4], 0
mov word [rbx + 0xe], di
jmp 0x4870ff
lea r9, [r8 + 1]
mov qword [rbx + 0x20], r9
cmp byte [r9], 0x6c
jne 0x48932f
cmp r9, rbp
jb 0x487d85
cmp byte [rbx + 0x38], 0
je 0x487b70
cmp byte [rbx + 0x38], 0
je 0x488170
mov rbx, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x40]
lea rcx, [rbx + 0x10]
cmp rcx, rdx
ja 0x488d9f
test rbx, rbx
mov qword [rdi + 0x38], rcx
je 0x4870ff
mov dword [rbx], 0
mov dword [rbx + 4], 0
mov qword [rbx + 8], 0
jmp 0x4870ff
mov r11, qword [rbx + 0x28]
add qword [rbx + 0x30], r11
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r12
jae 0x4878ec
mov byte [r8 + rax], 0
mov r8, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea r12, [r8 + 1]
mov r8, qword [rbx + 0x20]
mov qword [rbx + 0x18], r12
movzx edx, byte [r8]
cmp dl, 0x2a
jne 0x4893db
cmp r8, r12
jae 0x487c8a
lea r10, [r8 + 1]
mov qword [rbx + 0x20], r10
movzx edx, byte [r8 + 1]
mov r8, r10
test dl, dl
je 0x487db2
cmp dl, 0x2a
jne 0x487c80
mov r13, qword [rbx + 0x18]
cmp r8, r13
mov r14, r13
jb 0x488006
cmp byte [rbx + 0x38], 0
jne 0x487927
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r14, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r14
jae 0x48798a
mov byte [r8 + rax], 0
mov rax, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r14, [rax + 1]
mov qword [rbx + 0x18], r14
movzx edx, byte [r8]
cmp dl, 0x2f
jne 0x487912
cmp r8, r14
jb 0x489103
cmp byte [rbx + 0x38], 0
jne 0x487333
mov rcx, qword [rbx + 0x28]
add qword [rbx + 0x30], rcx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rbp, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r10, [rbp + rax - 1]
mov qword [rbx + 0x20], rbp
mov qword [rbx + 0x18], r10
jae 0x487333
mov byte [rbp + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x487333
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], rcx
jae 0x487a51
mov byte [r8 + rax], 0
mov rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [rdx + 1]
mov qword [rbx + 0x18], rcx
movzx r10d, byte [r8]
cmp r10b, 0x2a
jne 0x4893c9
cmp r8, rcx
jae 0x487cf1
lea rbp, [r8 + 1]
mov qword [rbx + 0x20], rbp
movzx r10d, byte [r8 + 1]
mov r8, rbp
nop dword [rax + rax]
test r10b, r10b
je 0x487db2
cmp r10b, 0x2a
jne 0x487ce7
mov r9, qword [rbx + 0x18]
cmp r8, r9
mov r12, r9
jb 0x488013
cmp byte [rbx + 0x38], 0
jne 0x487a97
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r12
jae 0x487afa
mov byte [r8 + rax], 0
mov r13, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r12, [r13 + 1]
mov qword [rbx + 0x18], r12
movzx r10d, byte [r8]
cmp r10b, 0x2f
jne 0x487a80
cmp r8, r12
jb 0x48911d
cmp byte [rbx + 0x38], 0
jne 0x4870bf
mov r11, qword [rbx + 0x28]
add qword [rbx + 0x30], r11
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r14, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rbp, [r14 + rax - 1]
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x18], rbp
jae 0x4870bf
mov byte [r14 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4870bf
mov r11, qword [rbx + 0x28]
add qword [rbx + 0x30], r11
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rbp, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], rbp
jae 0x487bc1
mov byte [r8 + rax], 0
mov r8, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rbp, [r8 + 1]
mov r8, qword [rbx + 0x20]
mov qword [rbx + 0x18], rbp
movzx eax, byte [r8]
cmp al, 0x6c
jne 0x4870ec
cmp r8, rbp
jae 0x487855
add r8, 1
mov qword [rbx + 0x20], r8
jmp 0x48785f
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], rcx
jae 0x487382
mov byte [r11 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x487382
mov rbp, qword [rbx + 0x28]
add qword [rbx + 0x30], rbp
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rsi, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [rsi + rax - 1]
mov qword [rbx + 0x20], rsi
mov qword [rbx + 0x18], r11
jae 0x4871ae
mov byte [rsi + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4871ae
cmp qword [rbx + 0x18], r8
ja 0x487ff1
cmp byte [rbx + 0x38], 0
jne 0x487912
mov r11, qword [rbx + 0x28]
add qword [rbx + 0x30], r11
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r12
jae 0x487cde
mov byte [r8 + rax], 0
add qword [rbx + 0x18], 1
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx edx, byte [r8]
jmp 0x487912
cmp qword [rbx + 0x18], r8
ja 0x487fdc
cmp byte [rbx + 0x38], 0
jne 0x487a80
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdx, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], rdx
jae 0x487d45
mov byte [r8 + rax], 0
add qword [rbx + 0x18], 1
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r10d, byte [r8]
jmp 0x487a80
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx edx, byte [rdx + 1]
jmp 0x4878f0
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx r10d, byte [rdx + 1]
jmp 0x487a55
lea r9, [r8 + 1]
mov qword [rbx + 0x20], r9
movzx r14d, byte [r8 + 1]
jmp 0x48767a
lea r8, [r9 + 1]
mov qword [rbx + 0x20], r8
movzx eax, byte [r9 + 1]
jmp 0x487bc5
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx r12d, byte [rdx + 1]
jmp 0x487759
sub r8, qword [rbx + 8]
add r8, qword [rbx + 0x30]
mov dword [rsi + 0x30], 0x11
mov qword [rsi + 0x38], r8
jmp 0x4870ff
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x487382
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x4871ae
mov r11, qword [rdx + 0x28]
add qword [rdx + 0x30], r11
mov rcx, qword [rdx + 8]
mov r9, qword [rdx]
mov r8, qword [rdx + 0x10]
mov edx, 1
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r13, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r13
jae 0x487478
mov byte [rdx + rax], 0
mov rcx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rdx, qword [rbx + 0x20]
lea r13, [rcx + 1]
mov qword [rbx + 0x18], r13
jmp 0x487478
mov rbp, qword [rdx + 0x28]
add qword [rdx + 0x30], rbp
mov r8, qword [rdx + 0x10]
mov rcx, qword [rdx + 8]
mov r9, qword [rdx]
mov edx, 1
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r11
jae 0x4874fa
mov byte [r8 + rax], 0
mov r12, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r8, qword [rbx + 0x20]
lea r11, [r12 + 1]
mov qword [rbx + 0x18], r11
jmp 0x4874fa
mov rdx, qword [rdx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rbp, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rbp + rax - 1]
mov qword [rbx + 0x20], rbp
mov qword [rbx + 0x18], rcx
jae 0x487020
mov byte [rbp + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x487020
mov r11, qword [rdx + 0x28]
add qword [rdx + 0x30], r11
mov r8, qword [rdx + 0x10]
mov rcx, qword [rdx + 8]
mov r9, qword [rdx]
mov edx, 1
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r12
jae 0x4872a4
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4872a4
cmp rdx, qword [rbx + 0x18]
jae 0x488078
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp r14b, 0xa
je 0x4870bf
mov rdx, qword [rbx + 0x20]
movzx r14d, byte [rdx]
jmp 0x4870b6
cmp qword [rbx + 0x18], rdx
jbe 0x488020
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp bpl, 0xa
je 0x487333
mov rdx, qword [rbx + 0x20]
movzx ebp, byte [rdx]
jmp 0x48732a
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x4877e8
lea r10, [r8 + 1]
mov qword [rbx + 0x20], r10
movzx r11d, byte [r8 + 1]
jmp 0x4877cb
add r9, 1
mov qword [rbx + 0x20], r9
jmp 0x487697
lea rcx, [r8 + 1]
mov qword [rbx + 0x20], rcx
movzx r10d, byte [r8 + 1]
mov r8, rcx
jmp 0x487a80
lea r9, [r8 + 1]
mov qword [rbx + 0x20], r9
movzx edx, byte [r8 + 1]
mov r8, r9
jmp 0x487912
add r8, 1
mov qword [rbx + 0x20], r8
jmp 0x48798a
add r8, 1
mov qword [rbx + 0x20], r8
jmp 0x487afa
cmp byte [rbx + 0x38], 0
jne 0x487f92
mov r14, qword [rbx + 0x28]
add qword [rbx + 0x30], r14
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x487f92
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x487f92
cmp byte [rbx + 0x38], 0
jne 0x487f62
mov r12, qword [rbx + 0x28]
add qword [rbx + 0x30], r12
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r11
jae 0x487f62
mov byte [r10 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x487f62
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r9, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r9 + rax - 1]
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x18], rcx
jae 0x4877e8
mov byte [r9 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4877e8
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rbp, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], rbp
jae 0x487697
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x487697
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov r9, qword [rbx]
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r12, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [r12 + rax - 1]
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x18], r9
jae 0x48785f
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48785f
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x4890ef
sub r8, rcx
lea r9, [r8 + 1]
shr r9, 1
add r8, r9
sub r10, rcx
lea r12, [r10 + 0x10]
mov r13, r10
cmp r12, r8
cmovb r12, r8
test r12, r12
je 0x488d69
mov rdx, r12
call sub.msvcrt.dll_realloc
lea r10, [rax + r13]
mov qword [rdi + 0x30], rax
add rax, r12
mov qword [rdi + 0x40], rax
lea r11, [r10 + 0x10]
jmp 0x487035
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x4890db
sub r9, rcx
lea rax, [r9 + 1]
shr rax, 1
add r9, rax
sub rdx, rcx
lea r14, [rdx + 0x10]
mov r13, rdx
cmp r14, r9
cmovb r14, r9
test r14, r14
je 0x488d5d
mov rdx, r14
call sub.msvcrt.dll_realloc
lea rdx, [rax + r13]
mov qword [rdi + 0x30], rax
add rax, r14
mov qword [rdi + 0x40], rax
lea rcx, [rdx + 0x10]
jmp 0x4872b9
xor r12d, r12d
movabs rbp, 0x100002600
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.00486fa0
mov r9d, dword [rsi + 0x30]
test r9d, r9d
jne 0x4870ff
mov rdx, qword [rbx + 0x20]
add r12d, 1
movzx r10d, byte [rdx]
nop dword [rax + rax]
cmp r10b, 0x20
jbe 0x488470
cmp r10b, 0x2f
jne 0x488300
mov r10, qword [rbx + 0x18]
cmp r10, rdx
ja 0x488570
cmp byte [rbx + 0x38], 0
je 0x4888f0
cmp rdx, r10
jb 0x488d75
cmp byte [rbx + 0x38], 0
mov r13d, 0x2f
je 0x489016
test r13b, r13b
jne 0x488890
mov rcx, rbx
call fcn.00490730
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x2f
je 0x4882b0
nop word [rax + rax]
mov ecx, dword [rsi + 0x30]
test ecx, ecx
jne 0x4870ff
movzx r9d, byte [rdx]
cmp r9b, 0x2c
jne 0x488ab9
cmp qword [rbx + 0x18], rdx
ja 0x4883f0
cmp byte [rbx + 0x38], 0
je 0x488502
nop dword [rax]
test ecx, ecx
jne 0x4870ff
cmp byte [rdx], 0x5d
jne 0x488274
mov rbp, qword [rdi + 0x38]
mov r13d, r12d
mov rsi, qword [rdi + 0x10]
shl r13, 4
sub rbp, r13
test r12d, r12d
mov qword [rdi + 0x38], rbp
mov edi, 4
mov word [rbp - 2], di
jne 0x4891ea
movabs r10, 0xffff000000000000
and qword [rbp - 8], r10
mov dword [rbp - 0xc], r12d
mov dword [rbp - 0x10], r12d
mov r12, qword [rbx + 0x20]
cmp r12, qword [rbx + 0x18]
jb 0x488cb8
cmp byte [rbx + 0x38], 0
jne 0x4870ff
mov rbp, qword [rbx + 0x28]
add qword [rbx + 0x30], rbp
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], r12
jae 0x4870ff
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4870ff
lea r13, [rdx + 1]
mov qword [rbx + 0x20], r13
movzx eax, byte [rdx + 1]
mov rdx, r13
cmp al, 0x20
jbe 0x4884e4
cmp al, 0x2f
jne 0x488460
mov r11, qword [rbx + 0x18]
cmp r11, rdx
ja 0x488700
cmp byte [rbx + 0x38], 0
je 0x488950
cmp r11, rdx
ja 0x488d8a
cmp byte [rbx + 0x38], 0
mov r13d, 0x2f
je 0x489064
nop dword [rax + rax]
test r13b, r13b
jne 0x4888c0
mov rcx, rbx
call fcn.00490730
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x2f
je 0x48840b
nop word [rax + rax]
mov ecx, dword [rsi + 0x30]
jmp 0x488330
bt rbp, r10
jae 0x488300
cmp qword [rbx + 0x18], rdx
ja 0x488553
cmp byte [rbx + 0x38], 0
jne 0x4882a0
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r13, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r13
jae 0x488297
mov byte [rdx + rax], 0
mov rdx, qword [rbx + 0x20]
add qword [rbx + 0x18], 1
mov byte [rbx + 0x38], 1
movzx r10d, byte [rdx]
jmp 0x4882a0
bt rbp, rax
jae 0x488460
cmp rdx, qword [rbx + 0x18]
jb 0x4883f0
cmp byte [rbx + 0x38], 0
jne 0x4883ff
mov r9, qword [rbx + 0x28]
add qword [rbx + 0x30], r9
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48854b
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx eax, byte [rdx]
jmp 0x4883ff
lea r14, [rdx + 1]
mov qword [rbx + 0x20], r14
movzx r10d, byte [rdx + 1]
mov rdx, r14
jmp 0x4882a0
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx r13d, byte [rdx + 1]
cmp r13b, 0x2a
jne 0x489356
cmp r8, r10
jae 0x48869a
lea r10, [r8 + 1]
mov qword [rbx + 0x20], r10
movzx r13d, byte [r8 + 1]
mov r8, r10
test r13b, r13b
je 0x487db2
cmp r13b, 0x2a
jne 0x488690
mov rax, qword [rbx + 0x18]
cmp rax, r8
mov rcx, rax
ja 0x4889c5
cmp byte [rbx + 0x38], 0
jne 0x4885b7
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], rcx
jae 0x48861a
mov byte [r8 + rax], 0
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [r9 + 1]
mov qword [rbx + 0x18], rcx
movzx r13d, byte [r8]
cmp r13b, 0x2f
jne 0x4885a0
cmp r8, rcx
jb 0x488ea5
cmp byte [rbx + 0x38], 0
jne 0x4882e9
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r11
jae 0x4882e9
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4882e9
cmp qword [rbx + 0x18], r8
ja 0x4889b0
cmp byte [rbx + 0x38], 0
jne 0x4885a0
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r11
jae 0x4886ee
mov byte [r8 + rax], 0
add qword [rbx + 0x18], 1
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r13d, byte [r8]
jmp 0x4885a0
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx r14d, byte [rdx + 1]
cmp r14b, 0x2a
jne 0x48931d
cmp r11, r8
jbe 0x48882a
lea rax, [r8 + 1]
mov qword [rbx + 0x20], rax
movzx r14d, byte [r8 + 1]
mov r8, rax
test r14b, r14b
je 0x487db2
cmp r14b, 0x2a
jne 0x488820
mov rdx, qword [rbx + 0x18]
cmp rdx, r8
mov r13, rdx
ja 0x4889f0
cmp byte [rbx + 0x38], 0
jne 0x488747
mov rcx, qword [rbx + 0x28]
add qword [rbx + 0x30], rcx
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r13, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r13
jae 0x4887aa
mov byte [r8 + rax], 0
mov r10, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r13, [r10 + 1]
mov qword [rbx + 0x18], r13
movzx r14d, byte [r8]
cmp r14b, 0x2f
jne 0x488730
cmp r13, r8
ja 0x488fd6
cmp byte [rbx + 0x38], 0
jne 0x488449
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r8, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], r8
jae 0x488449
mov byte [r11 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x488449
cmp r8, qword [rbx + 0x18]
jb 0x4889d2
cmp byte [rbx + 0x38], 0
jne 0x488730
mov r11, qword [rbx + 0x28]
add qword [rbx + 0x30], r11
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r14, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r14
jae 0x48887e
mov byte [r8 + rax], 0
add qword [rbx + 0x18], 1
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r14d, byte [r8]
jmp 0x488730
cmp rdx, qword [rbx + 0x18]
jae 0x488a00
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp r13b, 0xa
je 0x4882e9
mov rdx, qword [rbx + 0x20]
movzx r13d, byte [rdx]
jmp 0x4882e0
cmp rdx, qword [rbx + 0x18]
jae 0x488a60
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp r13b, 0xa
je 0x488449
mov rdx, qword [rbx + 0x20]
movzx r13d, byte [rdx]
jmp 0x488440
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r10, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r10
jae 0x488941
mov byte [r8 + rax], 0
mov r13, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r10, [r13 + 1]
mov qword [rbx + 0x18], r10
movzx r13d, byte [r8]
jmp 0x48857d
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r11
jae 0x4889a1
mov byte [r8 + rax], 0
mov r8, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea r11, [r8 + 1]
mov r8, qword [rbx + 0x20]
mov qword [rbx + 0x18], r11
movzx r14d, byte [r8]
jmp 0x48870d
lea r14, [r8 + 1]
mov qword [rbx + 0x20], r14
movzx r13d, byte [r8 + 1]
mov r8, r14
jmp 0x4885a0
add r8, 1
mov qword [rbx + 0x20], r8
jmp 0x48861a
lea r9, [r8 + 1]
mov qword [rbx + 0x20], r9
movzx r14d, byte [r8 + 1]
mov r8, r9
jmp 0x488730
add r8, 1
mov qword [rbx + 0x20], r8
jmp 0x4887aa
cmp byte [rbx + 0x38], 0
jne 0x4888a2
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r9, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r9 + rax - 1]
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x18], rcx
jae 0x4888a2
mov byte [r9 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4888a2
cmp byte [rbx + 0x38], 0
jne 0x4888d2
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r8, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r8
jae 0x4888d2
mov byte [r10 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4888d2
cmp r9b, 0x5d
jne 0x488fbe
cmp qword [rbx + 0x18], rdx
ja 0x489110
cmp byte [rbx + 0x38], 0
je 0x48927e
mov rdx, qword [rdi + 0x38]
mov ebx, r12d
mov r9, qword [rdi + 0x10]
shl rbx, 4
mov r8d, r12d
sub rdx, rbx
lea rcx, [rdx - 0x10]
mov qword [rdi + 0x38], rdx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp 0x486990
xor ebp, ebp
cmp al, 0x22
jne 0x488d13
mov r9d, 1
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call 0x48e430
mov r9d, dword [rsi + 0x30]
test r9d, r9d
jne 0x4870ff
mov rdx, rbx
mov rcx, rsi
call fcn.004902e0
mov r13d, dword [rsi + 0x30]
test r13d, r13d
jne 0x4870ff
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x3a
jne 0x488d2b
cmp rax, qword [rbx + 0x18]
jb 0x488c29
cmp byte [rbx + 0x38], 0
je 0x488cc5
mov rdx, rbx
mov rcx, rsi
call fcn.004902e0
mov r10d, dword [rsi + 0x30]
test r10d, r10d
jne 0x4870ff
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.00486fa0
mov r11d, dword [rsi + 0x30]
test r11d, r11d
jne 0x4870ff
mov rdx, rbx
mov rcx, rsi
call fcn.004902e0
mov r8d, dword [rsi + 0x30]
test r8d, r8d
jne 0x4870ff
mov r12, qword [rbx + 0x20]
add ebp, 1
movzx r9d, byte [r12]
cmp r9b, 0x2c
je 0x488c4e
cmp r9b, 0x7d
jne 0x488c36
cmp r12, qword [rbx + 0x18]
jb 0x488d50
cmp byte [rbx + 0x38], 0
je 0x488eb2
mov rsi, qword [rdi + 0x38]
mov r13d, ebp
mov rbx, qword [rdi + 0x10]
shl r13, 5
mov r14, r13
sub rsi, r13
test ebp, ebp
mov qword [rdi + 0x38], rsi
mov edi, 3
mov word [rsi - 2], di
jne 0x488f51
movabs rax, 0xffff000000000000
and qword [rsi - 8], rax
mov dword [rsi - 0xc], ebp
mov dword [rsi - 0x10], ebp
jmp 0x4870ff
add rax, 1
mov qword [rbx + 0x20], rax
jmp 0x488b6b
sub r12, qword [rbx + 8]
add r12, qword [rbx + 0x30]
mov dword [rsi + 0x30], 6
mov qword [rsi + 0x38], r12
jmp 0x4870ff
cmp r12, qword [rbx + 0x18]
jb 0x488d43
cmp byte [rbx + 0x38], 0
je 0x488f02
mov rdx, rbx
mov rcx, rsi
call fcn.004902e0
mov r14d, dword [rsi + 0x30]
test r14d, r14d
jne 0x4870ff
mov rdx, qword [rbx + 0x20]
movzx eax, byte [rdx]
cmp al, 0x7d
jne 0x488b09
mov rdx, qword [rdi + 0x38]
mov esi, ebp
mov r9, qword [rdi + 0x10]
shl rsi, 5
mov r8d, ebp
sub rdx, rsi
lea rcx, [rdx - 0x10]
mov qword [rdi + 0x38], rdx
call fcn.00486ad0
mov r12, qword [rbx + 0x20]
cmp r12, qword [rbx + 0x18]
jae 0x48838d
add r12, 1
mov qword [rbx + 0x20], r12
jmp 0x4870ff
mov r14, qword [rbx + 0x28]
add qword [rbx + 0x30], r14
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x488b6b
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x488b6b
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [rsi + 0x30], 4
mov qword [rsi + 0x38], rdx
jmp 0x4870ff
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x30]
mov dword [rsi + 0x30], 5
mov qword [rsi + 0x38], rax
jmp 0x4870ff
add r12, 1
mov qword [rbx + 0x20], r12
jmp 0x488c62
add r12, 1
mov qword [rbx + 0x20], r12
jmp 0x488be6
call fcn.0047b518
xor eax, eax
jmp 0x48824f
call fcn.0047b518
xor eax, eax
jmp 0x4881fb
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movzx r13d, byte [rdx + 1]
mov rdx, rax
jmp 0x4882e0
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx r13d, byte [rdx + 1]
mov rdx, rcx
jmp 0x488440
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x4892e9
sub rdx, rcx
lea r13, [rdx + 1]
shr r13, 1
add rdx, r13
sub rbx, rcx
mov rbp, rdx
lea r10, [rbx + 0x10]
mov r14, rbx
cmp r10, rdx
cmovae rbp, r10
test rbp, rbp
je 0x48912a
mov rdx, rbp
call sub.msvcrt.dll_realloc
lea rbx, [rax + r14]
mov qword [rdi + 0x30], rax
add rax, rbp
mov qword [rdi + 0x40], rax
lea rcx, [rbx + 0x10]
jmp 0x487874
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x4892cd
sub r12, rcx
lea rdx, [r12 + 1]
shr rdx, 1
add r12, rdx
sub rbx, rcx
mov rsi, r12
lea r10, [rbx + 0x10]
mov r14, rbx
cmp r10, r12
cmovae rsi, r10
test rsi, rsi
je 0x4891de
mov rdx, rsi
call sub.msvcrt.dll_realloc
lea rbx, [rax + r14]
mov qword [rdi + 0x30], rax
add rax, rsi
mov qword [rdi + 0x40], rax
lea rax, [rbx + 0x10]
jmp 0x4876ac
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x489305
sub rbp, rcx
lea rax, [rbp + 1]
shr rax, 1
add rbp, rax
sub rbx, rcx
mov rsi, rbp
lea r14, [rbx + 0x10]
mov r12, rbx
cmp r14, rbp
cmovae rsi, r14
test rsi, rsi
je 0x489136
mov rdx, rsi
call sub.msvcrt.dll_realloc
lea rbx, [rax + r12]
mov qword [rdi + 0x30], rax
add rax, rsi
mov qword [rdi + 0x40], rax
lea r13, [rbx + 0x10]
jmp 0x4877fd
lea r14, [r8 + 1]
mov qword [rbx + 0x20], r14
jmp 0x4882e9
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r14, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], r14
jae 0x488be6
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x488be6
mov rcx, qword [rbx + 0x28]
add qword [rbx + 0x30], rcx
mov edx, 1
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r9
jae 0x488c62
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x488c62
test r13, r13
je 0x488f94
mov rax, qword [rbx]
test rax, rax
je 0x488f74
mov rcx, qword [rax + 8]
lea rdi, [r13 + rcx]
add rcx, 0x18
cmp rdi, qword [rax]
jbe 0x48900a
cmp qword [rbx + 8], r13
mov r12, r13
cmovae r12, qword [rbx + 8]
cmp qword [rbx + 0x18], 0
je 0x48939b
mov rcx, r12
add rcx, 0x18
jne 0x488fe3
xor r10d, r10d
xor ecx, ecx
movabs r11, 0xffff000000000000
and r11, qword [rsi - 8]
mov r8, r14
mov rdx, rsi
or r11, r10
mov qword [rsi - 8], r11
call sub.msvcrt.dll_memcpy
jmp 0x488c1e
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [rsi + 0x30], 7
mov qword [rsi + 0x38], rdx
jmp 0x4870ff
lea r9, [r8 + 1]
mov qword [rbx + 0x20], r9
jmp 0x488449
call sub.msvcrt.dll_malloc
test rax, rax
je 0x488f94
mov rdx, qword [rbx]
mov qword [rax], r12
mov rdi, r13
mov qword [rax + 8], 0
mov ecx, 0x18
mov qword [rax + 0x10], rdx
mov qword [rbx], rax
add rcx, rax
mov qword [rax + 8], rdi
mov r10, rcx
jmp 0x488f99
mov r11, qword [rbx + 0x28]
add qword [rbx + 0x30], r11
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r14, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r14
jae 0x4888b0
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4888ac
mov r14, qword [rbx + 0x28]
add qword [rbx + 0x30], r14
mov edx, 1
mov r9, qword [rbx]
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r9
jae 0x4888e0
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4888dc
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movzx ebp, byte [rdx + 1]
mov rdx, rax
jmp 0x48732a
lea r13, [rdx + 1]
mov qword [rbx + 0x20], r13
movzx r14d, byte [rdx + 1]
mov rdx, r13
jmp 0x4870b6
cmp qword [rdi + 0x20], 0
je 0x4893ec
mov r9, qword [rdi + 0x48]
jmp 0x48822d
cmp qword [rdi + 0x20], 0
je 0x489337
mov r8, qword [rdi + 0x48]
jmp 0x4881d9
lea r11, [r8 + 1]
mov qword [rbx + 0x20], r11
jmp 0x487333
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x488ad7
lea rax, [r8 + 1]
mov qword [rbx + 0x20], rax
jmp 0x4870bf
call fcn.0047b518
xor eax, eax
jmp 0x488dde
call fcn.0047b518
xor eax, eax
jmp 0x488e8d
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov r9, qword [rbx]
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r9
jae 0x487f70
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x487f6c
mov r9, qword [rbx + 0x28]
add qword [rbx + 0x30], r9
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r13, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r13
jae 0x487fa0
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x487f9c
call fcn.0047b518
xor eax, eax
jmp 0x488e36
test r13, r13
je 0x489226
mov rax, qword [rsi]
mov rdi, r13
test rax, rax
je 0x489206
mov r14, r13
add r14, qword [rax + 8]
cmp r14, qword [rax]
jbe 0x48926c
cmp qword [rsi + 8], rdi
mov r14, rdi
cmovae r14, qword [rsi + 8]
cmp qword [rsi + 0x18], 0
je 0x48937c
mov rcx, r14
add rcx, 0x18
jne 0x48924d
xor ecx, ecx
movabs rax, 0xffff000000000000
and rax, qword [rbp - 8]
mov r8, r13
mov rdx, rbp
or rax, rcx
mov qword [rbp - 8], rax
call sub.msvcrt.dll_memcpy
jmp 0x488377
call sub.msvcrt.dll_malloc
test rax, rax
je 0x489226
mov r11, qword [rsi]
mov qword [rax], r14
mov qword [rax + 8], 0
mov qword [rax + 0x10], r11
mov qword [rsi], rax
mov r8, qword [rax + 8]
add rdi, r8
lea rcx, [rax + r8 + 0x18]
mov qword [rax + 8], rdi
jmp 0x489228
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rbp, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rbp + rax - 1]
mov qword [rbx + 0x20], rbp
mov qword [rbx + 0x18], rcx
jae 0x488ad7
mov byte [rbp + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x488ad7
cmp qword [rdi + 0x20], 0
je 0x4893b2
mov r12, qword [rdi + 0x48]
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rdi + 0x38]
jmp 0x488e11
cmp qword [rdi + 0x20], 0
je 0x48940b
mov rdx, qword [rdi + 0x48]
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rdi + 0x38]
jmp 0x488db9
cmp qword [rdi + 0x20], 0
je 0x489368
mov rbp, qword [rdi + 0x48]
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rdi + 0x38]
jmp 0x488e68
cmp r14b, 0x2f
jne 0x487db2
mov rdx, r8
jmp 0x488422
mov r8, r9
jmp 0x4870ec
mov ecx, 1
call fcn.00511200
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r10, qword [rdi + 0x38]
jmp 0x4890fa
cmp r13b, 0x2f
jne 0x487db2
mov rdx, r8
jmp 0x4882c7
mov ecx, 1
call fcn.00511200
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
jmp 0x48930c
mov ecx, 1
call fcn.00511200
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], rax
jmp 0x48921d
mov r8, r10
jmp 0x487448
mov ecx, 1
call fcn.00511200
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
jmp 0x488f8b
mov ecx, 1
call fcn.00511200
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
jmp 0x4892d8
cmp r10b, 0x2f
jne 0x487db2
mov rdx, r8
jmp 0x48709d
cmp dl, 0x2f
jne 0x487db2
mov rdx, r8
jmp 0x487312
mov ecx, 1
call fcn.00511200
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov rdx, qword [rdi + 0x38]
jmp 0x4890e6
mov ecx, 1
call fcn.00511200
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
jmp 0x4892f4
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x60], xmm8
mov r14, rcx
mov rbx, rdx
mov rbp, qword [rdx + 0x20]
mov rcx, qword [rdx + 8]
mov r9, qword [rdx + 0x30]
mov qword [rsp + 0xd0], r8
movsx r12d, byte [rbp]
mov r8, rbp
sub r8, rcx
lea rdi, [r8 + r9]
cmp r12b, 0x2d
mov qword [rsp + 0x28], rdi
jne 0x48bee0
cmp rbp, qword [rdx + 0x18]
jb 0x48b912
cmp byte [rdx + 0x38], 0
je 0x48b780
sub rbp, qword [rbx + 8]
mov dword [r14 + 0x30], 3
add rbp, r9
mov qword [r14 + 0x38], rbp
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r9
add rdx, qword [rbx + 0x28]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov qword [rbx + 0x30], rdx
mov edx, 1
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48b7c8
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx r12d, byte [rdx]
mov byte [rsp + 0x3b], 1
cmp r12b, 0x30
je 0x48b92e
lea esi, [r12 - 0x31]
mov eax, r12d
cmp sil, 8
ja 0x48cc74
cmp qword [rbx + 0x18], rdx
jbe 0x48ba10
lea r13, [rdx + 1]
mov qword [rbx + 0x20], r13
movsx ebp, byte [rdx + 1]
mov rdx, r13
mov eax, ebp
sub r12d, 0x30
sub eax, 0x30
xor r15d, r15d
cmp byte [rsp + 0x3b], 0
jne 0x48b960
cmp al, 9
jbe 0x48b855
jmp 0x48c230
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movsx edi, byte [rdx + 1]
mov rdx, rax
lea esi, [rdi - 0x30]
add r15d, 1
lea r12d, [r12 + rbp - 0x30]
cmp sil, 9
ja 0x48b8d0
movsx ebp, dil
cmp r12d, 0x19999998
ja 0x48c244
lea r12d, [r12 + r12*4]
add r12d, r12d
cmp rdx, qword [rbx + 0x18]
jb 0x48b830
cmp byte [rbx + 0x38], 0
movsx edi, bpl
jne 0x48b83f
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48b8c2
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx edi, byte [rdx]
jmp 0x48b83f
pxor xmm6, xmm6
xor ebp, ebp
xor r13d, r13d
xor esi, esi
cmp dil, 0x2e
jne 0x48c970
cmp qword [rbx + 0x18], rdx
ja 0x48bbb1
cmp byte [rbx + 0x38], 0
je 0x48ba71
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [r14 + 0x30], 0xe
mov qword [r14 + 0x38], rdx
jmp 0x48b75b
lea rdx, [rbp + 1]
mov byte [rsp + 0x3b], 1
mov qword [rbx + 0x20], rdx
movsx r12d, byte [rbp + 1]
cmp r12b, 0x30
jne 0x48b7db
cmp qword [rbx + 0x18], rdx
jbe 0x48bf79
lea r12, [rdx + 1]
xor ebp, ebp
xor r15d, r15d
xor r13d, r13d
xor esi, esi
mov qword [rbx + 0x20], r12
pxor xmm6, xmm6
movsx edi, byte [rdx + 1]
mov rdx, r12
xor r12d, r12d
jmp 0x48b8db
cmp al, 9
jbe 0x48b99a
jmp 0x48c230
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movsx edi, byte [rdx + 1]
mov rdx, rcx
lea r11d, [rdi - 0x30]
add r15d, 1
lea r12d, [r12 + rbp - 0x30]
cmp r11b, 9
ja 0x48b8d0
movsx ebp, dil
cmp r12d, 0xccccccb
ja 0x48c350
lea r12d, [r12 + r12*4]
add r12d, r12d
cmp rdx, qword [rbx + 0x18]
jb 0x48b970
cmp byte [rbx + 0x38], 0
movsx edi, bpl
jne 0x48b97f
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r8, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r8
jae 0x48ba07
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx edi, byte [rdx]
jmp 0x48b97f
cmp byte [rbx + 0x38], 0
movsx ebp, r12b
jne 0x48b808
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r11
jae 0x48ba67
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx ebp, byte [rdx]
mov eax, ebp
jmp 0x48b808
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdi, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rdi
jae 0x48baba
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx edi, byte [rdx]
lea r9d, [rdi - 0x30]
cmp r9b, 9
ja 0x48b8f9
xor r10d, r10d
test bpl, bpl
jne 0x48bbdc
mov r8d, r12d
test r13b, r13b
mov dword [rsp + 0x3c], r12d
cmove rsi, r8
movabs r9, 0x1fffffffffffff
xor ebp, ebp
mov r12d, edi
jmp 0x48bb2b
lea r10, [rdx + 1]
mov qword [rbx + 0x20], r10
movzx eax, byte [rdx + 1]
mov rdx, r10
movsx r12d, r12b
sub ebp, 1
sub r12d, 0x30
movsxd rsi, r12d
mov r12d, eax
add rsi, rdi
cmp rsi, 1
sbb r15d, 0xffffffff
lea r11d, [r12 - 0x30]
cmp r11b, 9
ja 0x48bbbe
cmp rsi, r9
ja 0x48bbbe
cmp qword [rbx + 0x18], rdx
lea rsi, [rsi + rsi*4]
lea rdi, [rsi + rsi]
ja 0x48bb00
cmp byte [rbx + 0x38], 0
mov eax, r12d
jne 0x48bb0f
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov qword [rsp + 0x30], r9
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r9, qword [rsp + 0x30]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48bba9
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx eax, byte [rdx]
jmp 0x48bb0f
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48baba
test rsi, rsi
movsx edi, r12b
mov r10d, ebp
mov r12d, dword [rsp + 0x3c]
js 0x48c8b5
pxor xmm6, xmm6
cvtsi2sd xmm6, rsi
pxor xmm7, xmm7
mov ebp, r10d
movsd xmm8, qword [0x00516d68]
nop dword [rax]
lea r11d, [rdi - 0x30]
cmp r11b, 9
ja 0x48bc51
cmp r15d, 0x10
jg 0x48bcd0
cmp qword [rbx + 0x18], rdx
mulsd xmm6, xmm8
jbe 0x48bcf0
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx r11d, byte [rdx + 1]
mov rdx, rcx
pxor xmm1, xmm1
sub edi, 0x30
sub ebp, 1
cvtsi2sd xmm1, edi
addsd xmm6, xmm1
comisd xmm6, xmm7
jbe 0x48bf70
movsx edi, r11b
add r15d, 1
lea r11d, [rdi - 0x30]
cmp r11b, 9
jbe 0x48bbfa
mov r8d, ebp
mov ebp, 1
cmp dil, 0x65
jne 0x48bdcd
cmp qword [rbx + 0x18], rdx
ja 0x48bdb0
cmp byte [rbx + 0x38], 0
je 0x48be80
test bpl, bpl
jne 0x48c965
pxor xmm6, xmm6
test r13b, r13b
cvtsi2sd xmm6, r12
jne 0x48c58d
cmp dil, 0x2b
jne 0x48beed
cmp qword [rbx + 0x18], rdx
ja 0x48bff3
movzx r12d, byte [rbx + 0x38]
test r12b, r12b
je 0x48c714
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [r14 + 0x30], 0xf
mov qword [r14 + 0x38], rdx
jmp 0x48b75b
cmp qword [rbx + 0x18], rdx
jbe 0x48bd50
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movsx edi, byte [rdx + 1]
mov rdx, rax
jmp 0x48bbf0
cmp byte [rbx + 0x38], 0
mov r11d, edi
jne 0x48bc23
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r8, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r8
jae 0x48bd46
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r11d, byte [rdx]
jmp 0x48bc23
cmp byte [rbx + 0x38], 0
jne 0x48bbf0
mov r9, qword [rbx + 0x28]
add qword [rbx + 0x30], r9
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r10, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r10
jae 0x48bda3
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx edi, byte [rdx]
jmp 0x48bbf0
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movsx edi, byte [rdx + 1]
mov rdx, rax
test bpl, bpl
jne 0x48bc92
jmp 0x48bc80
cmp dil, 0x45
je 0x48bc63
test bpl, bpl
jne 0x48c705
test r13b, r13b
je 0x48bf89
cmp byte [rsp + 0x3b], 0
jne 0x48c5fe
mov r11, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd0]
mov r10, qword [r11 + 0x38]
mov r13, qword [rcx + 0x40]
lea rax, [r10 + 0x10]
cmp rax, r13
ja 0x48ca89
test r10, r10
mov qword [rcx + 0x38], rax
je 0x48b75b
test rsi, rsi
mov qword [r10 + 8], 0
mov qword [r10], rsi
js 0x48c998
mov r11d, 0x196
mov r12d, 0x1b6
mov r13d, 0x1f6
mov word [r10 + 0xe], r11w
mov ebx, 0x1d6
movabs r15, 0xffffffff00000000
test rsi, r15
jne 0x48be6d
mov word [r10 + 0xe], bx
mov r12d, r13d
test rsi, 0xffffffff80000000
je 0x48bfe9
jmp 0x48b75b
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov dword [rsp + 0x30], r8d
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r8d, dword [rsp + 0x30]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48bed3
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx edi, byte [rdx]
jmp 0x48bdbf
mov rdx, rbp
mov byte [rsp + 0x3b], 0
jmp 0x48b7d1
cmp dil, 0x2d
jne 0x48c965
cmp qword [rbx + 0x18], rdx
ja 0x48c670
cmp byte [rbx + 0x38], 0
jne 0x48bcb4
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov dword [rsp + 0x30], r8d
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r8d, dword [rsp + 0x30]
lea rsi, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], rsi
jae 0x48bf60
mov byte [r13 + rax], 0
add qword [rbx + 0x18], 1
mov r13, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx edi, byte [r13]
mov r12d, 1
jmp 0x48c002
movsx edi, r11b
jmp 0x48bbf0
movzx ebp, byte [rbx + 0x38]
xor r12d, r12d
test bpl, bpl
je 0x48c6a8
cmp byte [rsp + 0x3b], 0
je 0x48c5a4
mov r11, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd0]
neg r12d
mov r10, qword [r11 + 0x38]
mov r13, qword [rcx + 0x40]
lea rax, [r10 + 0x10]
cmp rax, r13
ja 0x48c9c5
test r10, r10
mov qword [rcx + 0x38], rax
je 0x48b75b
movsxd r8, r12d
sar r12d, 0x1f
mov qword [r10 + 8], 0
and r12w, 0xfec0
mov qword [r10], r8
lea r12d, [r12 + 0x1f6]
mov word [r10 + 0xe], r12w
jmp 0x48b75b
lea r13, [rdx + 1]
xor r12d, r12d
mov qword [rbx + 0x20], r13
movsx edi, byte [rdx + 1]
lea r9d, [rdi - 0x30]
cmp r9b, 9
ja 0x48cc80
cmp qword [rbx + 0x18], r13
jbe 0x48c520
lea rcx, [r13 + 1]
mov qword [rbx + 0x20], rcx
movsx ebp, byte [r13 + 1]
mov r13, rcx
sub edi, 0x30
test r12b, r12b
je 0x48c468
mov esi, r8d
nop dword [rax]
lea r14d, [rbp - 0x30]
cmp r14b, 9
ja 0x48c172
lea edi, [rdi + rdi*4]
add edi, edi
cmp qword [rbx + 0x18], r13
jbe 0x48c110
lea rcx, [r13 + 1]
mov qword [rbx + 0x20], rcx
movzx r8d, byte [r13 + 1]
mov r13, rcx
lea edi, [rbp + rdi - 0x30]
movsx ebp, r8b
cmp edi, 0xccccccb
jle 0x48c040
nop dword [rax]
lea r12d, [rbp - 0x30]
cmp r12b, 9
ja 0x48c040
cmp qword [rbx + 0x18], r13
jbe 0x48c0b0
lea rcx, [r13 + 1]
mov qword [rbx + 0x20], rcx
movsx ebp, byte [r13 + 1]
mov r13, rcx
lea r12d, [rbp - 0x30]
cmp r12b, 9
ja 0x48c040
cmp qword [rbx + 0x18], r13
ja 0x48c090
cmp byte [rbx + 0x38], 0
jne 0x48c080
mov r13, qword [rbx + 0x28]
add qword [rbx + 0x30], r13
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], r11
jae 0x48c101
mov byte [r13 + rax], 0
add qword [rbx + 0x18], 1
mov r13, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx ebp, byte [r13]
jmp 0x48c080
cmp byte [rbx + 0x38], 0
mov r8d, ebp
jne 0x48c06d
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], rcx
jae 0x48c168
mov byte [r13 + rax], 0
add qword [rbx + 0x18], 1
mov r13, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r8d, byte [r13]
jmp 0x48c06d
mov r8d, esi
neg edi
add r8d, edi
cmp r8d, 0xfffffecc
jge 0x48c1b0
cmp r8d, 0xfffffd98
jl 0x48c687
mulsd xmm6, qword [0x00516d70]
mov eax, 0xfffffecc
lea rcx, [0x0052c700]
sub eax, r8d
cdqe
divsd xmm6, qword [rcx + rax*8]
jmp 0x48c1c9
test r8d, r8d
js 0x48c690
lea r10, [0x0052c700]
movsxd rdx, r8d
mulsd xmm6, qword [r10 + rdx*8]
cmp byte [rsp + 0x3b], 0
je 0x48c1d8
xorpd xmm6, xmmword [0x00516d80]
mov r8, qword [rsp + 0xd0]
mov r15, qword [rsp + 0xd0]
mov r9, qword [r8 + 0x38]
mov rdi, qword [r15 + 0x40]
lea rdx, [r9 + 0x10]
cmp rdx, rdi
ja 0x48c8d6
test r9, r9
mov qword [r15 + 0x38], rdx
je 0x48b75b
mov r10d, 0x216
mov qword [r9 + 8], 0
movsd qword [r9], xmm6
mov word [r9 + 0xe], r10w
jmp 0x48b75b
movsx edi, bpl
xor r13d, r13d
xor ebp, ebp
xor esi, esi
pxor xmm6, xmm6
jmp 0x48b8db
cmp bpl, 0x35
setg r8b
cmp r12d, 0x19999999
setne dil
or r8b, dil
je 0x48b862
lea r9d, [rbp - 0x30]
mov r13d, r8d
mov esi, r12d
movabs r11, 0x1999999999999998
cmp r9b, 9
jbe 0x48c2b1
jmp 0x48c33e
lea rsi, [rdx + 1]
mov qword [rbx + 0x20], rsi
movzx eax, byte [rdx + 1]
mov rdx, rsi
movsx r9d, bpl
lea ebp, [rax - 0x30]
add r15d, 1
sub r9d, 0x30
movsxd rsi, r9d
add rsi, rdi
cmp bpl, 9
ja 0x48c330
movsx ebp, al
cmp rsi, r11
ja 0x48c893
cmp rdx, qword [rbx + 0x18]
lea r8, [rsi + rsi*4]
lea rdi, [r8 + r8]
jb 0x48c280
cmp byte [rbx + 0x38], 0
mov eax, ebp
jne 0x48c28f
mov qword [rsp + 0x30], r11
mov r11, qword [rbx + 0x28]
mov edx, 1
add qword [rbx + 0x30], r11
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r11, qword [rsp + 0x30]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48c323
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx eax, byte [rdx]
jmp 0x48c28f
movsx edi, al
xor ebp, ebp
pxor xmm6, xmm6
jmp 0x48b8db
movsx edi, bpl
pxor xmm6, xmm6
xor ebp, ebp
jmp 0x48b8db
cmp bpl, 0x38
setg r13b
cmp r12d, 0xccccccc
setne r10b
or r13b, r10b
je 0x48b9a7
lea edi, [rbp - 0x30]
mov esi, r12d
movabs r8, 0xccccccccccccccb
cmp dil, 9
jbe 0x48c3c1
jmp 0x48c454
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx r11d, byte [rdx + 1]
mov rdx, rcx
movsx ebp, bpl
lea eax, [r11 - 0x30]
add r15d, 1
sub ebp, 0x30
movsxd rsi, ebp
add rsi, rdi
cmp al, 9
ja 0x48c440
movsx ebp, r11b
cmp rsi, r8
ja 0x48c773
cmp rdx, qword [rbx + 0x18]
lea rsi, [rsi + rsi*4]
lea rdi, [rsi + rsi]
jb 0x48c390
cmp byte [rbx + 0x38], 0
mov r11d, ebp
jne 0x48c3a0
mov r9, qword [rbx + 0x28]
add qword [rbx + 0x30], r9
mov edx, 1
mov qword [rsp + 0x30], r8
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r8, qword [rsp + 0x30]
lea r10, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r10
jae 0x48c434
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r11d, byte [rdx]
jmp 0x48c3a0
movsx edi, r11b
mov byte [rsp + 0x3b], r13b
xor ebp, ebp
pxor xmm6, xmm6
jmp 0x48b8db
movsx edi, bpl
mov byte [rsp + 0x3b], r13b
xor ebp, ebp
pxor xmm6, xmm6
jmp 0x48b8db
mov esi, 0x134
mov r12d, r8d
sub esi, r8d
jmp 0x48c48e
add r13, 1
mov qword [rbx + 0x20], r13
lea edi, [rbp + rdi - 0x30]
cmp esi, edi
jl 0x48c500
mov r13, qword [rbx + 0x20]
movsx ebp, byte [r13]
lea r8d, [rbp - 0x30]
cmp r8b, 9
ja 0x48c70c
lea edi, [rdi + rdi*4]
add edi, edi
cmp qword [rbx + 0x18], r13
ja 0x48c475
cmp byte [rbx + 0x38], 0
jne 0x48c47d
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], r11
jae 0x48c47d
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48c47d
mov rbx, qword [rsp + 0x28]
mov dword [r14 + 0x30], 0xd
mov qword [r14 + 0x38], rbx
jmp 0x48b75b
cmp byte [rbx + 0x38], 0
movsx ebp, dil
jne 0x48c02a
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov dword [rsp + 0x30], r8d
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r8d, dword [rsp + 0x30]
lea rcx, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], rcx
jae 0x48c583
mov byte [r13 + rax], 0
add qword [rbx + 0x18], 1
mov r13, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx ebp, byte [r13]
jmp 0x48c02a
test rsi, rsi
js 0x48c947
pxor xmm6, xmm6
cvtsi2sd xmm6, rsi
jmp 0x48bc92
mov r14, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd0]
mov r10, qword [r14 + 0x38]
mov r13, qword [rcx + 0x40]
lea rax, [r10 + 0x10]
cmp rax, r13
ja 0x48caeb
test r10, r10
mov qword [rcx + 0x38], rax
je 0x48b75b
mov r8d, r12d
sar r12d, 0x1f
mov qword [r10 + 8], 0
and r12d, 0xffffffe0
mov qword [r10], r8
lea r12d, [r12 + 0x1f6]
mov word [r10 + 0xe], r12w
jmp 0x48b75b
mov r10, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd0]
neg rsi
mov r10, qword [r10 + 0x38]
mov r9, qword [rcx + 0x40]
lea r8, [r10 + 0x10]
cmp r8, r9
ja 0x48ca27
test r10, r10
mov qword [rcx + 0x38], r8
je 0x48b75b
test rsi, rsi
mov qword [r10 + 8], 0
mov qword [r10], rsi
js 0x48c978
movabs r15, 0xffffffff00000000
test rsi, r15
je 0x48c932
mov r9d, 0x196
mov r12d, 0x1b6
mov word [r10 + 0xe], r9w
jmp 0x48be6d
lea r13, [rdx + 1]
mov r12d, 1
mov qword [rbx + 0x20], r13
movsx edi, byte [rdx + 1]
jmp 0x48c002
pxor xmm6, xmm6
jmp 0x48c1c9
neg r8d
lea r9, [0x0052c700]
movsxd r15, r8d
divsd xmm6, qword [r9 + r15*8]
jmp 0x48c1c9
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48c6f1
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx edi, byte [rdx]
xor r13d, r13d
xor r15d, r15d
xor esi, esi
pxor xmm6, xmm6
jmp 0x48b8db
xor edi, edi
jmp 0x48c177
mov r8d, r12d
jmp 0x48c177
mov r11, qword [rbx + 0x28]
add qword [rbx + 0x30], r11
mov edx, 1
mov dword [rsp + 0x30], r8d
mov rcx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r8d, dword [rsp + 0x30]
lea r15, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], r15
jae 0x48c769
mov byte [r13 + rax], 0
add qword [rbx + 0x18], 1
mov r13, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx edi, byte [r13]
jmp 0x48c002
movabs rax, 0xccccccccccccccc
cmp rsi, rax
jne 0x48c78c
cmp bpl, 0x38
jle 0x48c3ca
test rsi, rsi
js 0x48c872
pxor xmm6, xmm6
cvtsi2sd xmm6, rsi
movsd xmm7, qword [0x00516d90]
comisd xmm6, xmm7
jae 0x48c500
mov r10, qword [rbx + 0x18]
movsd xmm8, qword [0x00516d68]
jmp 0x48c7f6
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movsx edi, byte [rdx + 1]
mov rdx, r8
pxor xmm0, xmm0
sub ebp, 0x30
lea r11d, [rdi - 0x30]
cvtsi2sd xmm0, ebp
cmp r11b, 9
addsd xmm6, xmm0
ja 0x48c862
comisd xmm6, xmm7
jae 0x48c500
movsx ebp, dil
cmp rdx, r10
mulsd xmm6, xmm8
jb 0x48c7c0
cmp byte [rbx + 0x38], 0
movsx edi, bpl
jne 0x48c7cf
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r10, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r10
jae 0x48c85a
mov byte [rdx + rax], 0
mov r9, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r10, [r9 + 1]
mov qword [rbx + 0x18], r10
movsx edi, byte [rdx]
jmp 0x48c7cf
mov ebp, 1
mov r13d, 1
jmp 0x48b8db
mov r13, rsi
mov rdi, rsi
pxor xmm6, xmm6
shr r13, 1
and edi, 1
or r13, rdi
cvtsi2sd xmm6, r13
addsd xmm6, xmm6
jmp 0x48c79e
movabs r10, 0x1999999999999999
cmp rsi, r10
jne 0x48c78c
cmp bpl, 0x35
jg 0x48c78c
jmp 0x48c2ba
mov r8, rsi
mov rbp, rsi
pxor xmm6, xmm6
shr r8, 1
and ebp, 1
or r8, rbp
cvtsi2sd xmm6, r8
addsd xmm6, xmm6
jmp 0x48bbdc
mov rcx, qword [r15 + 0x30]
test rcx, rcx
je 0x48cb49
sub rdi, rcx
lea r12, [rdi + 1]
shr r12, 1
add rdi, r12
sub r9, rcx
lea r14, [r9 + 0x10]
mov rbx, r9
cmp r14, rdi
cmovb r14, rdi
test r14, r14
je 0x48c9b9
mov rdx, r14
call sub.msvcrt.dll_realloc
mov r15, qword [rsp + 0xd0]
lea r9, [rax + rbx]
lea rdx, [r9 + 0x10]
mov qword [r15 + 0x30], rax
add rax, r14
mov qword [r15 + 0x40], rax
jmp 0x48c1fd
mov edi, 0x1d6
mov r12d, 0x1f6
mov word [r10 + 0xe], di
jmp 0x48be6d
mov rbp, rsi
pxor xmm6, xmm6
shr rbp, 1
and esi, 1
or rbp, rsi
cvtsi2sd xmm6, rbp
addsd xmm6, xmm6
jmp 0x48bc92
mov r13, rdx
xor r12d, r12d
jmp 0x48c002
xor r8d, r8d
jmp 0x48bc59
cmp rsi, 0xffffffff80000000
mov r11d, 0xb6
mov esi, 0x96
cmovl r11d, esi
mov word [r10 + 0xe], r11w
jmp 0x48b75b
mov r8d, 0x116
mov r12d, 0x136
mov r13d, 0x176
mov word [r10 + 0xe], r8w
mov ebx, 0x156
jmp 0x48be56
call fcn.0047b518
xor eax, eax
jmp 0x48c912
mov rbx, rcx
mov rcx, qword [rcx + 0x30]
test rcx, rcx
je 0x48cbae
sub r13, rcx
lea r15, [r13 + 1]
shr r15, 1
add r13, r15
sub r10, rcx
mov r14, r13
lea rdx, [r10 + 0x10]
mov rbp, r10
cmp rdx, r13
cmovae r14, rdx
test r14, r14
je 0x48cb65
mov rdx, r14
call sub.msvcrt.dll_realloc
mov rcx, qword [rsp + 0xd0]
lea r10, [rax + rbp]
mov qword [rcx + 0x30], rax
add rax, r14
mov qword [rcx + 0x40], rax
lea rax, [r10 + 0x10]
jmp 0x48bfbc
mov rdi, rcx
mov rcx, qword [rcx + 0x30]
test rcx, rcx
je 0x48cbca
sub r9, rcx
lea rbp, [r9 + 1]
shr rbp, 1
add r9, rbp
mov r13, r10
mov rbx, r9
sub r13, rcx
lea rax, [r13 + 0x10]
cmp rax, r9
cmovae rbx, rax
test rbx, rbx
je 0x48cb71
mov rdx, rbx
call sub.msvcrt.dll_realloc
mov rcx, qword [rsp + 0xd0]
lea r10, [rax + r13]
lea r8, [r10 + 0x10]
mov qword [rcx + 0x30], rax
add rax, rbx
mov qword [rcx + 0x40], rax
jmp 0x48c626
mov rbx, rcx
mov rcx, qword [rcx + 0x30]
test rcx, rcx
je 0x48cb92
sub r13, rcx
lea r15, [r13 + 1]
shr r15, 1
add r13, r15
mov r14, r10
mov r12, r13
sub r14, rcx
lea rdx, [r14 + 0x10]
cmp rdx, r13
cmovae r12, rdx
test r12, r12
je 0x48cb86
mov rdx, r12
call sub.msvcrt.dll_realloc
mov rcx, qword [rsp + 0xd0]
lea r10, [rax + r14]
mov qword [rcx + 0x30], rax
add rax, r12
mov qword [rcx + 0x40], rax
lea rax, [r10 + 0x10]
jmp 0x48be19
mov rbx, rcx
mov rcx, qword [rcx + 0x30]
test rcx, rcx
je 0x48cbe7
sub r13, rcx
lea r15, [r13 + 1]
shr r15, 1
add r13, r15
sub r10, rcx
mov r14, r13
lea rdx, [r10 + 0x10]
mov rbp, r10
cmp rdx, r13
cmovae r14, rdx
test r14, r14
je 0x48cb7d
mov rdx, r14
call sub.msvcrt.dll_realloc
mov rcx, qword [rsp + 0xd0]
lea r10, [rax + rbp]
mov qword [rcx + 0x30], rax
add rax, r14
mov qword [rcx + 0x40], rax
lea rax, [r10 + 0x10]
jmp 0x48c5c9
cmp qword [r15 + 0x20], 0
je 0x48cbff
mov rbp, qword [rsp + 0xd0]
mov rdi, qword [rbp + 0x48]
jmp 0x48c8f0
call fcn.0047b518
xor eax, eax
jmp 0x48ca07
call fcn.0047b518
xor eax, eax
jmp 0x48ca69
call fcn.0047b518
xor eax, eax
jmp 0x48cb29
call fcn.0047b518
xor eax, eax
jmp 0x48cacb
cmp qword [rbx + 0x20], 0
je 0x48cc26
mov rbp, qword [rsp + 0xd0]
mov r13, qword [rbp + 0x48]
jmp 0x48caa6
cmp qword [rbx + 0x20], 0
je 0x48cc88
mov r9, qword [rsp + 0xd0]
mov r13, qword [r9 + 0x48]
jmp 0x48c9e2
cmp qword [rdi + 0x20], 0
je 0x48ccaf
mov r12, qword [rsp + 0xd0]
mov r9, qword [r12 + 0x48]
jmp 0x48ca44
cmp qword [rbx + 0x20], 0
je 0x48cc4d
mov r9, qword [rsp + 0xd0]
mov r13, qword [r9 + 0x48]
jmp 0x48cb08
mov ecx, 1
call fcn.00511200
mov r13, qword [rsp + 0xd0]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov r9, qword [r13 + 0x38]
mov rcx, qword [r13 + 0x30]
jmp 0x48cb54
mov ecx, 1
call fcn.00511200
mov rdi, qword [rsp + 0xd0]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r10, qword [rdi + 0x38]
mov rcx, qword [rdi + 0x30]
jmp 0x48cb9d
mov ecx, 1
call fcn.00511200
mov rsi, qword [rsp + 0xd0]
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rax
mov r10, qword [rsi + 0x38]
mov rcx, qword [rsi + 0x30]
jmp 0x48cbee
mov rbp, rdx
mov r9, qword [rbx + 0x30]
jmp 0x48b748
mov rdx, r13
jmp 0x48bcb4
mov ecx, 1
call fcn.00511200
mov rsi, qword [rsp + 0xd0]
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rax
mov r10, qword [rsi + 0x38]
mov rcx, qword [rsi + 0x30]
jmp 0x48cbb9
mov ecx, 1
call fcn.00511200
mov r14, qword [rsp + 0xd0]
mov qword [r14 + 0x20], rax
mov qword [r14 + 0x28], rax
mov r10, qword [r14 + 0x38]
mov rcx, qword [r14 + 0x30]
jmp 0x48cbd5
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rsi, qword [rdx + 0x20]
cmp rsi, qword [rdx + 0x18]
mov rbp, rcx
mov rbx, rdx
mov r15, r8
jb 0x48e811
cmp byte [rdx + 0x38], 0
je 0x48e623
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x38], 0
lea r13, [0x0052bd60]
lea r14, [rsp + 0x30]
jmp 0x48e4b5
add rsi, 1
mov qword [rbx + 0x20], rsi
mov r12, qword [rsp + 0x30]
mov rsi, qword [r12 + 0x18]
mov rdx, qword [r12 + 0x20]
lea rax, [rsi + 1]
cmp rax, rdx
ja 0x48e783
mov qword [r12 + 0x18], rax
mov byte [rsi], dil
add dword [rsp + 0x38], 1
mov rsi, qword [rbx + 0x20]
movzx edi, byte [rsi]
cmp dil, 0x5c
je 0x48e530
cmp dil, 0x22
je 0x48e5c0
movsx ecx, dil
cmp ecx, 0x1f
jbe 0x48e7f0
cmp qword [rbx + 0x18], rsi
ja 0x48e480
cmp byte [rbx + 0x38], 0
jne 0x48e488
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r9
jae 0x48e488
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48e488
mov rcx, qword [rbx + 0x18]
mov r9, qword [rbx + 0x30]
mov r11, qword [rbx + 8]
cmp rcx, rsi
ja 0x48e675
cmp byte [rbx + 0x38], 0
mov edi, 0x5c
jne 0x48e4db
mov rdi, r9
add rdi, qword [rbx + 0x28]
mov qword [rsp + 0x28], r9
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx]
mov rcx, r11
mov edx, 1
mov qword [rsp + 0x20], r11
mov qword [rbx + 0x30], rdi
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r11, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48e67d
mov byte [rdx + rax], 0
mov rcx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rdx, qword [rbx + 0x20]
lea rcx, [rcx + 1]
mov qword [rbx + 0x18], rcx
jmp 0x48e67d
cmp qword [rbx + 0x18], rsi
ja 0x48e6b0
cmp byte [rbx + 0x38], 0
jne 0x48e6b8
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
call sub.msvcrt.dll_fread
mov r8, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r9
jae 0x48e6b8
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48e6b8
mov rax, qword [rdx + 0x28]
add qword [rdx + 0x30], rax
mov rcx, qword [rdx + 8]
mov r9, qword [rdx]
mov r8, qword [rdx + 0x10]
mov edx, 1
call sub.msvcrt.dll_fread
mov rsi, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdx, [rsi + rax - 1]
mov qword [rbx + 0x20], rsi
mov qword [rbx + 0x18], rdx
jae 0x48e461
mov byte [rsi + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rsi, qword [rbx + 0x20]
jmp 0x48e461
lea rdx, [rsi + 1]
mov qword [rbx + 0x20], rdx
movzx r10d, byte [rdx]
movzx edi, byte [r13 + r10]
test dil, dil
je 0x48e945
cmp rdx, rcx
jae 0x48e4db
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48e488
add rsi, 1
mov qword [rbx + 0x20], rsi
mov r12, qword [rsp + 0x30]
mov r11, qword [r12 + 0x18]
mov r10, qword [r12 + 0x20]
lea rax, [r11 + 1]
cmp rax, r10
ja 0x48e974
mov qword [r12 + 0x18], rax
mov byte [r11], 0
mov ebp, dword [rbp + 0x30]
add dword [rsp + 0x38], 1
test ebp, ebp
jne 0x48e772
mov rdx, qword [rsp + 0x30]
mov r14d, dword [rsp + 0x38]
mov r12, qword [r15 + 0x10]
mov rdi, qword [rdx + 0x18]
mov rbx, r14
sub ebx, 1
sub rdi, r14
mov qword [rdx + 0x18], rdi
mov rsi, qword [r15 + 0x38]
mov r8, qword [r15 + 0x40]
lea rcx, [rsi + 0x10]
cmp rcx, r8
ja 0x48e8e0
test rsi, rsi
mov qword [r15 + 0x38], rcx
je 0x48e772
cmp ebx, 0xd
mov dword [rsi], 0
mov dword [rsi + 4], 0
mov qword [rsi + 8], 0
ja 0x48e820
mov r8d, 0xd
mov r12d, 0x1c05
sub r8d, ebx
mov word [rsi + 0xe], r12w
mov byte [rsi + 0xd], r8b
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov byte [rsi + rbx], 0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x48e930
sub rdx, rcx
lea r11, [rdx + 1]
shr r11, 1
add rdx, r11
sub rsi, rcx
lea r10, [rsi + 1]
cmp r10, rdx
cmovb r10, rdx
test r10, r10
je 0x48e8c0
mov rdx, r10
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r10
call sub.msvcrt.dll_realloc
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
add rsi, rax
mov qword [r12 + 0x10], rax
add rax, rcx
mov qword [r12 + 0x20], rax
lea rax, [rsi + 1]
jmp 0x48e4a4
sub rsi, qword [rbx + 8]
add rsi, qword [rbx + 0x30]
test dil, dil
jne 0x48e882
mov dword [rbp + 0x30], 0xb
mov qword [rbp + 0x38], rsi
jmp 0x48e772
add rsi, 1
mov qword [rdx + 0x20], rsi
jmp 0x48e461
mov r15d, 0xc05
test r14, r14
mov dword [rsi], ebx
mov word [rsi + 0xe], r15w
je 0x48e8b9
mov rax, qword [r12]
add r14, 7
and r14, 0xfffffffffffffff8
test rax, rax
je 0x48e892
mov rdx, qword [rax + 8]
lea r10, [r14 + rdx]
cmp r10, qword [rax]
ja 0x48e892
add rdx, 0x18
mov r14, r10
add rdx, rax
mov qword [rax + 8], r14
mov r14, rdx
movabs rax, 0xffff000000000000
and rax, qword [rsi + 8]
or rax, r14
mov qword [rsi + 8], rax
mov rsi, rdx
jmp 0x48e760
mov dword [rbp + 0x30], 0xa
mov qword [rbp + 0x38], rsi
jmp 0x48e772
cmp qword [r12 + 8], r14
mov rbp, r14
cmovae rbp, qword [r12 + 8]
cmp qword [r12 + 0x18], 0
je 0x48edb8
mov rcx, rbp
add rcx, 0x18
jne 0x48eb16
xor r14d, r14d
xor edx, edx
jmp 0x48e865
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r10
call fcn.0047b518
xor eax, eax
mov rsi, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
jmp 0x48e7d1
mov rcx, qword [r15 + 0x30]
test rcx, rcx
je 0x48ebc7
sub r8, rcx
lea r9, [r8 + 1]
shr r9, 1
add r8, r9
sub rsi, rcx
lea r13, [rsi + 0x10]
cmp r13, r8
cmovb r13, r8
test r13, r13
je 0x48eb45
mov rdx, r13
call sub.msvcrt.dll_realloc
add rsi, rax
mov qword [r15 + 0x30], rax
add rax, r13
mov qword [r15 + 0x40], rax
lea rcx, [rsi + 0x10]
jmp 0x48e721
cmp qword [r12], 0
je 0x48ee11
mov rdx, qword [r12 + 0x28]
jmp 0x48e79e
sub rsi, r11
add rsi, r9
cmp r10b, 0x75
jne 0x48e882
cmp rdx, rcx
jb 0x48e9cb
cmp byte [rbx + 0x38], 0
je 0x48eca9
mov dword [rbp + 0x30], 8
mov qword [rbp + 0x38], rsi
jmp 0x48e772
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x48eb01
sub r10, rcx
lea rbx, [r10 + 1]
shr rbx, 1
add r10, rbx
sub r11, rcx
lea r14, [r11 + 1]
mov r13, r11
cmp r14, r10
cmovb r14, r10
test r14, r14
je 0x48eb69
mov rdx, r14
call sub.msvcrt.dll_realloc
lea r11, [rax + r13]
mov qword [r12 + 0x10], rax
add rax, r14
mov qword [r12 + 0x20], rax
lea rax, [r11 + 1]
jmp 0x48e6d4
add rdx, 1
mov qword [rbx + 0x20], rdx
movsx r8d, byte [rdx]
lea r9d, [r8 - 0x30]
mov r11d, r8d
lea edi, [r8 - 0x30]
cmp r9b, 9
ja 0x48edd1
cmp rdx, rcx
jb 0x48eb75
cmp byte [rbx + 0x38], 0
je 0x48ed03
mov rdx, qword [rbx + 0x20]
movsx r9d, byte [rdx]
shl edi, 4
lea r8d, [r9 - 0x30]
add edi, r9d
mov eax, r9d
cmp r8b, 9
jbe 0x48eb51
lea r12d, [r9 - 0x41]
cmp r12b, 5
jbe 0x48ebe3
lea r11d, [r9 - 0x61]
cmp r11b, 5
ja 0x48e964
sub edi, 0x57
cmp rdx, rcx
jb 0x48eb9e
cmp byte [rbx + 0x38], 0
je 0x48ed58
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x48eb59
lea r12d, [rax - 0x41]
cmp r12b, 5
jbe 0x48ebdb
lea r11d, [rax - 0x61]
cmp r11b, 5
ja 0x48e964
sub edi, 0x57
cmp rdx, rcx
jb 0x48eb82
cmp byte [rbx + 0x38], 0
je 0x48ebf3
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x48eb61
lea r12d, [rax - 0x41]
cmp r12b, 5
jbe 0x48ebeb
sub eax, 0x61
cmp al, 5
ja 0x48e964
sub edi, 0x57
cmp rdx, rcx
jb 0x48ebba
cmp byte [rbx + 0x38], 0
je 0x48ec53
mov r9d, dword [rbp + 0x30]
test r9d, r9d
jne 0x48e772
lea r12d, [rdi - 0xd800]
cmp r12d, 0x3ff
jbe 0x48ede8
mov edx, edi
mov rcx, r14
call fcn.004908a0
jmp 0x48e4b1
cmp qword [r12], 0
je 0x48f2be
mov r10, qword [r12 + 0x28]
jmp 0x48e98f
call sub.msvcrt.dll_malloc
test rax, rax
je 0x48e8b9
mov r11, qword [r12]
mov qword [rax], rbp
mov edx, 0x18
mov qword [rax + 8], 0
mov qword [rax + 0x10], r11
mov qword [r12], rax
jmp 0x48e85b
call fcn.0047b518
xor eax, eax
jmp 0x48e919
sub edi, 0x30
jmp 0x48ea3d
sub edi, 0x30
jmp 0x48ea7f
sub edi, 0x30
jmp 0x48eabe
call fcn.0047b518
xor eax, eax
jmp 0x48e9b1
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48ea03
lea r10, [rdx + 1]
mov qword [rbx + 0x20], r10
movsx r9d, byte [rdx + 1]
mov rdx, r10
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x48ea92
lea r10, [rdx + 1]
mov qword [rbx + 0x20], r10
movsx r9d, byte [rdx + 1]
mov rdx, r10
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x48ea50
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48ead1
cmp qword [r15 + 0x20], 0
je 0x48f1c8
mov r8, qword [r15 + 0x48]
jmp 0x48e8fa
sub edi, 0x37
jmp 0x48ea7f
sub edi, 0x37
jmp 0x48ea3d
sub edi, 0x37
jmp 0x48eabe
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48ec43
mov byte [rdx + rax], 0
mov r9, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [r9 + 1]
mov qword [rbx + 0x18], rcx
movsx r9d, byte [rdx]
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x48ea92
mov rcx, qword [rbx + 0x28]
add qword [rbx + 0x30], rcx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], rcx
jae 0x48ead1
mov byte [r11 + rax], 0
mov r10, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [r10 + 1]
mov qword [rbx + 0x18], rcx
jmp 0x48ead1
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48e9d3
mov byte [rdx + rax], 0
mov r12, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rdx, qword [rbx + 0x20]
lea rcx, [r12 + 1]
mov qword [rbx + 0x18], rcx
jmp 0x48e9d3
mov rcx, qword [rbx + 0x28]
add qword [rbx + 0x30], rcx
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48ea03
mov byte [rdx + rax], 0
mov r10, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [r10 + 1]
mov qword [rbx + 0x18], rcx
jmp 0x48e9ff
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48eda8
mov byte [rdx + rax], 0
mov rdx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [rdx + 1]
mov rdx, qword [rbx + 0x20]
mov qword [rbx + 0x18], rcx
movsx r9d, byte [rdx]
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x48ea50
mov ecx, 1
call fcn.00511200
mov qword [r12 + 0x18], rax
mov qword [r12 + 0x20], rax
jmp 0x48e8ac
lea edi, [r8 - 0x41]
cmp dil, 5
ja 0x48f2e8
lea edi, [r8 - 0x37]
jmp 0x48e9ec
mov r11, qword [rbx + 0x20]
cmp byte [r11], 0x5c
jne 0x48ee01
cmp r11, rcx
jb 0x48ee33
cmp byte [rbx + 0x38], 0
je 0x48f164
mov dword [rbp + 0x30], 9
mov qword [rbp + 0x38], rsi
jmp 0x48e772
mov ecx, 1
call fcn.00511200
mov rcx, qword [r12 + 0x10]
mov qword [r12], rax
mov qword [r12 + 8], rax
mov rsi, qword [r12 + 0x18]
jmp 0x48e93b
add r11, 1
mov qword [rbx + 0x20], r11
cmp byte [r11], 0x75
jne 0x48ee01
cmp r11, rcx
jb 0x48efde
cmp byte [rbx + 0x38], 0
je 0x48f252
mov r8d, 0x75
mov eax, 0x75
mov r9d, 0x45
lea edx, [rax - 0x61]
cmp dl, 5
ja 0x48e964
lea edi, [r8 - 0x57]
mov r10, r11
cmp rcx, r10
ja 0x48ef8a
cmp byte [rbx + 0x38], 0
je 0x48f08e
shl edi, 4
add edi, r8d
cmp r9b, 9
jbe 0x48ef75
lea r11d, [rax - 0x41]
cmp r11b, 5
jbe 0x48f07e
lea edx, [rax - 0x61]
cmp dl, 5
ja 0x48e964
sub edi, 0x57
cmp r10, rcx
jb 0x48efa6
cmp byte [rbx + 0x38], 0
je 0x48f1e7
shl edi, 4
add edi, r8d
cmp r9b, 9
jbe 0x48ef82
lea r11d, [rax - 0x41]
cmp r11b, 5
jbe 0x48f086
lea edx, [rax - 0x61]
cmp dl, 5
ja 0x48e964
sub edi, 0x57
cmp r10, rcx
jb 0x48efc2
cmp byte [rbx + 0x38], 0
je 0x48f0f9
shl edi, 4
add edi, r8d
cmp r9b, 9
jbe 0x48ef7d
lea r11d, [rax - 0x41]
cmp r11b, 5
jbe 0x48f2b6
sub eax, 0x61
cmp al, 5
ja 0x48e964
sub edi, 0x57
cmp r10, rcx
jb 0x48f018
cmp byte [rbx + 0x38], 0
je 0x48f025
mov eax, dword [rbp + 0x30]
test eax, eax
jne 0x48e772
sub edi, 0xdc00
cmp edi, 0x3ff
ja 0x48ee01
shl r12d, 0xa
or edi, r12d
add edi, 0x10000
jmp 0x48eaf2
sub edi, 0x30
jmp 0x48eeb8
sub edi, 0x30
jmp 0x48ef33
sub edi, 0x30
jmp 0x48eef8
lea rdx, [r10 + 1]
mov qword [rbx + 0x20], rdx
movsx r8d, byte [r10 + 1]
mov r10, rdx
mov eax, r8d
lea r9d, [r8 - 0x30]
jmp 0x48ee8b
lea rdx, [r10 + 1]
mov qword [rbx + 0x20], rdx
movsx r8d, byte [r10 + 1]
mov r10, rdx
mov eax, r8d
lea r9d, [r8 - 0x30]
jmp 0x48eecb
lea rdx, [r10 + 1]
mov qword [rbx + 0x20], rdx
movsx r8d, byte [r10 + 1]
mov r10, rdx
mov eax, r8d
lea r9d, [r8 - 0x30]
jmp 0x48ef0b
lea r10, [r11 + 1]
mov qword [rbx + 0x20], r10
movzx eax, byte [r11 + 1]
lea r9d, [rax - 0x30]
movsx r8d, al
lea edi, [r8 - 0x30]
cmp r9b, 9
jbe 0x48ee78
lea r11d, [rax - 0x41]
cmp r11b, 5
ja 0x48f2e0
lea edi, [r8 - 0x37]
jmp 0x48ee78
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x48ef46
mov dword [rsp + 0x20], r12d
mov r12, qword [rbx + 0x28]
mov edx, 1
add qword [rbx + 0x30], r12
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r12d, dword [rsp + 0x20]
lea rcx, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], rcx
jae 0x48ef46
mov byte [r10 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48ef46
sub edi, 0x37
jmp 0x48eeb8
sub edi, 0x37
jmp 0x48eef8
mov dword [rsp + 0x20], r12d
mov r12, qword [rbx + 0x28]
mov edx, 1
add qword [rbx + 0x30], r12
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp qword [rbx + 0x10], rax
mov qword [rbx + 0x28], rax
mov r12d, dword [rsp + 0x20]
lea rcx, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], rcx
jbe 0x48f0e9
mov byte [r10 + rax], 0
mov rcx, qword [rbx + 0x18]
mov r10, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [rcx + 1]
mov qword [rbx + 0x18], rcx
movsx r8d, byte [r10]
mov eax, r8d
lea r9d, [r8 - 0x30]
jmp 0x48ee8b
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov dword [rsp + 0x20], r12d
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r12d, dword [rsp + 0x20]
lea rcx, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], rcx
jae 0x48f154
mov byte [r10 + rax], 0
mov r9, qword [rbx + 0x18]
mov r10, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [r9 + 1]
mov qword [rbx + 0x18], rcx
movsx r8d, byte [r10]
mov eax, r8d
lea r9d, [r8 - 0x30]
jmp 0x48ef0b
mov rdi, qword [rbx + 0x28]
add qword [rbx + 0x30], rdi
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov dword [rsp + 0x20], r12d
call sub.msvcrt.dll_fread
mov r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r12d, dword [rsp + 0x20]
lea rcx, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], rcx
jae 0x48ee3b
mov byte [r11 + rax], 0
mov rax, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r11, qword [rbx + 0x20]
lea rcx, [rax + 1]
mov qword [rbx + 0x18], rcx
jmp 0x48ee3b
mov ecx, 1
call fcn.00511200
mov rcx, qword [r15 + 0x30]
mov qword [r15 + 0x20], rax
mov qword [r15 + 0x28], rax
mov rsi, qword [r15 + 0x38]
jmp 0x48ebd2
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov dword [rsp + 0x20], r12d
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r12d, dword [rsp + 0x20]
lea rcx, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], rcx
jae 0x48f242
mov byte [r10 + rax], 0
mov rax, qword [rbx + 0x18]
mov r10, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [rax + 1]
mov qword [rbx + 0x18], rcx
movsx r8d, byte [r10]
mov eax, r8d
lea r9d, [r8 - 0x30]
jmp 0x48eecb
mov r8, qword [rbx + 0x28]
add qword [rbx + 0x30], r8
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov dword [rsp + 0x20], r12d
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r12d, dword [rsp + 0x20]
lea rcx, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], rcx
jae 0x48f2ad
mov byte [r10 + rax], 0
mov rdx, qword [rbx + 0x18]
mov r10, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [rdx + 1]
mov qword [rbx + 0x18], rcx
movzx eax, byte [r10]
jmp 0x48efeb
sub edi, 0x37
jmp 0x48ef33
mov ecx, 1
call fcn.00511200
mov r11, qword [r12 + 0x18]
mov qword [r12], rax
mov qword [r12 + 8], rax
mov rcx, qword [r12 + 0x10]
jmp 0x48eb0c
mov r11, r10
jmp 0x48ee65
sub r11d, 0x61
cmp r11b, 5
ja 0x48e964
lea edi, [r8 - 0x57]
jmp 0x48e9ec