Function at 0x494650
Capabilities:
Read file on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov r10, qword [rdx + 0x20]
mov rsi, rcx
mov rbx, rdx
mov rdi, r8
movzx eax, byte [r10]
cmp al, 0x66
je 0x48d935
jle 0x48d500
cmp al, 0x74
je 0x48d630
cmp al, 0x7b
je 0x48d780
cmp al, 0x6e
je 0x48d670
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp 0x492460
cmp al, 0x22
je 0x48d764
cmp al, 0x5b
jne 0x48d4df
cmp r10, qword [rdx + 0x18]
jb 0x48db00
cmp byte [rdx + 0x38], 0
je 0x48e1e0
mov r9, qword [rdi + 0x38]
mov r8, qword [rdi + 0x40]
lea r10, [r9 + 0x10]
cmp r10, r8
ja 0x48e560
test r9, r9
mov qword [rdi + 0x38], r10
je 0x48d553
movabs r11, 0x4000000000000
mov qword [r9], 0
mov qword [r9 + 8], r11
mov rdx, qword [rbx + 0x20]
movabs r12, 0x100002600
movzx eax, byte [rdx]
cmp al, 0x20
jbe 0x48d6e1
movabs rbp, 0x100002600
cmp al, 0x2f
jne 0x48d9b0
cmp qword [rbx + 0x18], rdx
ja 0x48dea0
cmp byte [rbx + 0x38], 0
je 0x48e282
cmp byte [rbx + 0x38], 0
je 0x48f6aa
mov rdx, qword [rbx + 0x20]
movzx r12d, byte [rdx]
jmp 0x48d5c2
lea r11, [rdx + 1]
mov qword [rbx + 0x20], r11
movzx eax, byte [rdx + 1]
mov rdx, r11
cmp r12b, 0xa
je 0x48df6c
mov r12d, eax
test r12b, r12b
je 0x48f473
cmp qword [rbx + 0x18], rdx
ja 0x48d5a6
cmp byte [rbx + 0x38], 0
mov eax, r12d
jne 0x48d5b5
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 0x48d623
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 0x48d5b5
mov rbp, qword [rdx + 0x18]
cmp r10, rbp
jb 0x48da73
cmp byte [rdx + 0x38], 0
mov r12, qword [rdx + 0x30]
mov rcx, qword [rdx + 8]
je 0x48e180
nop
sub r10, rcx
mov dword [rsi + 0x30], 3
add r12, r10
mov qword [rsi + 0x38], r12
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov r12, qword [rdx + 0x18]
cmp r10, r12
jb 0x48dba3
cmp byte [rdx + 0x38], 0
mov r12, qword [rdx + 0x30]
mov rcx, qword [rdx + 8]
jne 0x48d650
add r12, qword [rdx + 0x28]
mov r9, qword [rdx]
mov r8, qword [rdx + 0x10]
mov qword [rdx + 0x30], r12
mov edx, 1
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r12
jae 0x48dbab
mov byte [r10 + rax], 0
mov rcx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r10, qword [rbx + 0x20]
lea r12, [rcx + 1]
mov qword [rbx + 0x18], r12
jmp 0x48dbab
bt r12, rax
jae 0x48d9b0
cmp qword [rbx + 0x18], rdx
ja 0x48d750
cmp byte [rbx + 0x38], 0
jne 0x48d564
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 0x48d744
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 0x48d564
lea r13, [rdx + 1]
mov qword [rbx + 0x20], r13
movzx eax, byte [rdx + 1]
mov rdx, r13
jmp 0x48d564
xor r9d, r9d
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp 0x494650
cmp r10, qword [rdx + 0x18]
jb 0x48db10
cmp byte [rdx + 0x38], 0
je 0x48e130
mov r10, qword [rdi + 0x38]
mov r9, qword [rdi + 0x40]
lea r11, [r10 + 0x10]
cmp r11, r9
ja 0x48e50c
test r10, r10
mov qword [rdi + 0x38], r11
je 0x48d7c7
movabs rcx, 0x3000000000000
mov qword [r10], 0
mov qword [r10 + 8], rcx
mov rdx, qword [rbx + 0x20]
movabs r12, 0x100002600
movzx r13d, byte [rdx]
nop dword [rax]
cmp r13b, 0x20
jbe 0x48d8b0
movabs rbp, 0x100002600
cmp r13b, 0x2f
jne 0x48da10
cmp qword [rbx + 0x18], rdx
ja 0x48dda5
cmp byte [rbx + 0x38], 0
je 0x48e230
cmp byte [rbx + 0x38], 0
je 0x48f75c
mov rdx, qword [rbx + 0x20]
movzx r12d, byte [rdx]
jmp 0x48d843
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx r13d, byte [rdx + 1]
mov rdx, rcx
cmp r12b, 0xa
je 0x48de72
mov r12d, r13d
test r12b, r12b
je 0x48f47a
cmp qword [rbx + 0x18], rdx
ja 0x48d826
cmp byte [rbx + 0x38], 0
mov r13d, r12d
jne 0x48d836
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 r11, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r11
jae 0x48d8a4
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r13d, byte [rdx]
jmp 0x48d836
bt r12, r13
jae 0x48da10
cmp qword [rbx + 0x18], rdx
ja 0x48d920
cmp byte [rbx + 0x38], 0
jne 0x48d7e0
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 rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x48d913
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r13d, byte [rdx]
jmp 0x48d7e0
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movzx r13d, byte [rdx + 1]
mov rdx, rax
jmp 0x48d7e0
mov r9, qword [rdx + 0x18]
cmp r10, r9
jb 0x48db20
cmp byte [rdx + 0x38], 0
mov r12, qword [rdx + 0x30]
mov rcx, qword [rdx + 8]
jne 0x48d650
add r12, qword [rdx + 0x28]
mov r9, qword [rdx]
mov r8, qword [rdx + 0x10]
mov qword [rdx + 0x30], r12
mov edx, 1
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r9
jae 0x48db28
mov byte [r10 + rax], 0
mov rax, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r10, qword [rbx + 0x20]
lea r9, [rax + 1]
mov qword [rbx + 0x18], r9
jmp 0x48db28
mov ebp, dword [rsi + 0x30]
test ebp, ebp
jne 0x48d661
cmp byte [rdx], 0x5d
jne 0x48e5fc
cmp qword [rbx + 0x18], rdx
ja 0x48e4a0
cmp byte [rbx + 0x38], 0
je 0x48e37c
mov rbx, qword [rdi + 0x38]
mov edi, 4
movabs r9, 0xffff000000000000
mov word [rbx - 2], di
and qword [rbx - 8], r9
mov dword [rbx - 0xc], 0
mov dword [rbx - 0x10], 0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov ebp, dword [rsi + 0x30]
test ebp, ebp
jne 0x48d661
movzx r8d, byte [rdx]
cmp r8b, 0x7d
jne 0x48ea80
cmp qword [rbx + 0x18], rdx
ja 0x48e470
cmp byte [rbx + 0x38], 0
je 0x48e3cb
mov rbx, qword [rdi + 0x38]
mov edi, 3
movabs r10, 0xffff000000000000
mov word [rbx - 2], di
and qword [rbx - 8], r10
mov dword [rbx - 0xc], 0
mov dword [rbx - 0x10], 0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
add r10, 1
mov qword [rdx + 0x20], r10
cmp byte [r10], 0x72
jne 0x48e5ef
cmp r10, rbp
jb 0x48dc30
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x48d650
add r12, qword [rbx + 0x28]
mov r9, qword [rbx]
mov edx, 1
mov r8, qword [rbx + 0x10]
mov qword [rbx + 0x30], r12
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rbp, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], rbp
jae 0x48dc38
mov byte [r10 + rax], 0
mov r8, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r10, qword [rbx + 0x20]
lea rbp, [r8 + 1]
mov qword [rbx + 0x18], rbp
jmp 0x48dc38
add r10, 1
mov qword [rdx + 0x20], r10
jmp 0x48d520
add r10, 1
mov qword [rdx + 0x20], r10
jmp 0x48d794
add r10, 1
mov qword [rdx + 0x20], r10
cmp byte [r10], 0x61
jne 0x48e5ef
cmp r10, r9
jb 0x48dcb3
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x48d650
add r12, qword [rbx + 0x28]
mov r9, qword [rbx]
mov edx, 1
mov r8, qword [rbx + 0x10]
mov qword [rbx + 0x30], r12
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r9
jae 0x48dcbb
mov byte [r10 + rax], 0
mov r8, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r10, qword [rbx + 0x20]
lea r9, [r8 + 1]
mov qword [rbx + 0x18], r9
jmp 0x48dcbb
add r10, 1
mov qword [rdx + 0x20], r10
cmp byte [r10], 0x75
jne 0x48e5ef
cmp r10, r12
jb 0x48dd40
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x48d650
add r12, qword [rbx + 0x28]
mov r9, qword [rbx]
mov edx, 1
mov r8, qword [rbx + 0x10]
mov qword [rbx + 0x30], r12
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r12
jae 0x48dd48
mov byte [r10 + rax], 0
mov r8, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r10, qword [rbx + 0x20]
lea r12, [r8 + 1]
mov qword [rbx + 0x18], r12
jmp 0x48dd48
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x75
jne 0x48e5ef
cmp r10, rbp
jb 0x48dfc0
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x48d650
add r12, qword [rbx + 0x28]
mov r9, qword [rbx]
mov edx, 1
mov r8, qword [rbx + 0x10]
mov qword [rbx + 0x30], r12
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rbp, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], rbp
jae 0x48dfc8
mov byte [r10 + rax], 0
mov rdx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r10, qword [rbx + 0x20]
lea rbp, [rdx + 1]
mov qword [rbx + 0x18], rbp
jmp 0x48dfc8
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x6c
jne 0x48e5ef
cmp r10, r9
jb 0x48e021
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x48d650
add r12, qword [rbx + 0x28]
mov r9, qword [rbx]
mov edx, 1
mov r8, qword [rbx + 0x10]
mov qword [rbx + 0x30], r12
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r9
jae 0x48e029
mov byte [r10 + rax], 0
mov rdx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r10, qword [rbx + 0x20]
lea r9, [rdx + 1]
mov qword [rbx + 0x18], r9
jmp 0x48e029
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x6c
jne 0x48e5ef
cmp r10, r12
jb 0x48df90
cmp byte [rbx + 0x38], 0
je 0x48e2d4
cmp byte [rbx + 0x38], 0
je 0x48e32e
mov r11, qword [rdi + 0x38]
mov r10, qword [rdi + 0x40]
lea rcx, [r11 + 0x10]
cmp rcx, r10
ja 0x48ec54
test r11, r11
mov qword [rdi + 0x38], rcx
je 0x48d661
mov qword [r11], 0
mov qword [r11 + 8], 0
jmp 0x48d661
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx r9d, byte [rdx]
cmp r9b, 0x2a
jne 0x48f83c
cmp qword [rbx + 0x18], rdx
ja 0x48e5bd
cmp byte [rbx + 0x38], 0
je 0x48ee51
test r9b, r9b
je 0x48ee11
mov r13, qword [rbx + 0x18]
cmp r9b, 0x2a
mov r11, r13
jne 0x48e5b4
cmp r13, rdx
ja 0x48de00
cmp byte [rbx + 0x38], 0
je 0x48ef67
cmp r13, rdx
mov r11, r13
jbe 0x48ddee
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx r9d, byte [rdx]
cmp r9b, 0x2f
jne 0x48ddcf
cmp rdx, r11
jb 0x48e100
cmp byte [rbx + 0x38], 0
jne 0x48d7fe
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 0x48de6e
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r13d, byte [rdx]
cmp r13b, 0x20
ja 0x48d7f4
bt rbp, r13
jae 0x48d7f4
cmp qword [rbx + 0x18], rdx
ja 0x48e100
cmp byte [rbx + 0x38], 0
jne 0x48de72
jmp 0x48de25
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx eax, byte [rdx]
cmp al, 0x2a
jne 0x48f85d
cmp rdx, qword [rbx + 0x18]
jb 0x48e5db
cmp byte [rbx + 0x38], 0
je 0x48eea3
test al, al
je 0x48ee11
mov r8, qword [rbx + 0x18]
cmp al, 0x2a
mov r9, r8
jne 0x48e5d2
cmp r8, rdx
ja 0x48def5
cmp byte [rbx + 0x38], 0
je 0x48efc0
cmp r8, rdx
mov r9, r8
jbe 0x48dee3
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx eax, byte [rdx]
cmp al, 0x2f
jne 0x48dec7
cmp rdx, r9
jb 0x48e115
cmp byte [rbx + 0x38], 0
jne 0x48d57e
nop word [rax + rax]
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 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 0x48df69
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx eax, byte [rdx]
cmp al, 0x20
ja 0x48d576
bt rbp, rax
jae 0x48d576
cmp rdx, qword [rbx + 0x18]
jb 0x48e115
cmp byte [rbx + 0x38], 0
jne 0x48df6c
jmp 0x48df20
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x6c
jne 0x48e5ef
cmp r10, r12
jae 0x48dd65
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x48dd6f
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x65
jne 0x48e5ef
cmp r10, rbp
jb 0x48e480
cmp byte [rbx + 0x38], 0
je 0x48e41b
mov r11, qword [rdi + 0x38]
mov r10, qword [rdi + 0x40]
lea rcx, [r11 + 0x10]
cmp rcx, r10
ja 0x48ec00
test r11, r11
mov qword [rdi + 0x38], rcx
je 0x48d661
movabs rdi, 0xa000000000000
mov qword [r11], 0
mov qword [r11 + 8], rdi
jmp 0x48d661
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x73
jne 0x48e5ef
cmp r10, r9
jb 0x48e490
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x48d650
add r12, qword [rbx + 0x28]
mov r9, qword [rbx]
mov edx, 1
mov r8, qword [rbx + 0x10]
mov qword [rbx + 0x30], r12
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r9
jae 0x48e0a0
mov byte [r10 + rax], 0
mov r13, qword [rbx + 0x18]
mov r10, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea r9, [r13 + 1]
mov qword [rbx + 0x18], r9
nop dword [rax + rax]
cmp byte [r10], 0x65
jne 0x48e5ef
cmp r10, r9
jb 0x48e4b0
cmp byte [rbx + 0x38], 0
je 0x48e4bd
mov rdx, qword [rdi + 0x38]
mov r8, qword [rdi + 0x40]
lea rcx, [rdx + 0x10]
cmp rcx, r8
ja 0x48eca8
test rdx, rdx
mov qword [rdi + 0x38], rcx
je 0x48d661
movabs rdi, 0x9000000000000
mov qword [rdx], 0
mov qword [rdx + 8], rdi
jmp 0x48d661
lea r12, [rdx + 1]
mov qword [rbx + 0x20], r12
movzx r13d, byte [rdx + 1]
mov rdx, r12
jmp 0x48de72
lea r12, [rdx + 1]
mov qword [rbx + 0x20], r12
movzx eax, byte [rdx + 1]
mov rdx, r12
jmp 0x48df6c
mov r8, qword [rdx + 0x28]
add qword [rdx + 0x30], r8
mov rcx, qword [rdx + 8]
mov r9, qword [rdx]
mov r8, qword [rdx + 0x10]
mov edx, 1
call sub.msvcrt.dll_fread
mov r12, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdx, [r12 + rax - 1]
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x18], rdx
jae 0x48d794
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48d794
add r12, qword [rdx + 0x28]
mov r9, qword [rdx]
mov r8, qword [rdx + 0x10]
mov qword [rdx + 0x30], r12
mov edx, 1
call sub.msvcrt.dll_fread
mov r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rbp, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], rbp
jae 0x48da7b
mov byte [r10 + rax], 0
mov r12, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r10, qword [rbx + 0x20]
lea rbp, [r12 + 1]
mov qword [rbx + 0x18], rbp
jmp 0x48da7b
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 0x48d520
mov byte [rbp + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48d520
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 0x48ddad
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x48ddad
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 0x48dea8
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x48dea8
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 r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], r12
jae 0x48df98
mov byte [r10 + rax], 0
mov rbp, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r10, qword [rbx + 0x20]
lea r12, [rbp + 1]
mov qword [rbx + 0x18], r12
jmp 0x48df98
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 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 0x48dd6f
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48dd6f
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 r12, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdx, [r12 + rax - 1]
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x18], rdx
jae 0x48d9d8
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48d9d8
mov rbp, qword [rbx + 0x28]
add qword [rbx + 0x30], rbp
mov edx, 1
mov r9, qword [rbx]
mov rcx, qword [rbx + 8]
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 r9, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], r9
jae 0x48da3d
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48da3d
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 r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r9, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], r9
jae 0x48dfe5
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48dfe5
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48da3d
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x48dfe5
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x48e0a0
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48d9d8
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x48e0bd
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 r11, [rbp + rax - 1]
mov qword [rbx + 0x20], rbp
mov qword [rbx + 0x18], r11
jae 0x48e0bd
mov byte [rbp + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48e0bd
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x48ede4
sub r9, rcx
lea rax, [r9 + 1]
shr rax, 1
add r9, rax
sub r10, rcx
lea rbp, [r10 + 0x10]
mov r13, r10
cmp rbp, r9
cmovb rbp, r9
test rbp, rbp
je 0x48ed08
mov rdx, rbp
call sub.msvcrt.dll_realloc
lea r10, [rax + r13]
mov qword [rdi + 0x30], rax
add rax, rbp
mov qword [rdi + 0x40], rax
lea r11, [r10 + 0x10]
jmp 0x48d7a9
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x48edd0
sub r8, rcx
lea r12, [r8 + 1]
shr r12, 1
add r8, r12
sub r9, rcx
lea rbp, [r9 + 0x10]
mov r13, r9
cmp rbp, r8
cmovb rbp, r8
test rbp, rbp
je 0x48ecfc
mov rdx, rbp
call sub.msvcrt.dll_realloc
lea r9, [rax + r13]
mov qword [rdi + 0x30], rax
add rax, rbp
mov qword [rdi + 0x40], rax
lea r10, [r9 + 0x10]
jmp 0x48d535
cmp rdx, r13
jae 0x48ddc5
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx r9d, byte [rdx + 1]
mov rdx, r8
jmp 0x48ddcf
cmp rdx, r8
jae 0x48debd
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx eax, byte [rdx + 1]
mov rdx, rcx
jmp 0x48dec7
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jmp 0x48d650
xor r12d, r12d
movabs rbp, 0x100002600
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.0048d4a0
mov r13d, dword [rsi + 0x30]
test r13d, r13d
jne 0x48d661
mov rdx, qword [rbx + 0x20]
add r12d, 1
movzx r10d, byte [rdx]
cmp r10b, 0x20
jbe 0x48e700
cmp r10b, 0x2f
jne 0x48e79b
cmp qword [rbx + 0x18], rdx
ja 0x48ea1b
cmp byte [rbx + 0x38], 0
je 0x48ed14
cmp byte [rbx + 0x38], 0
je 0x48f93b
mov r11, qword [rbx + 0x20]
movzx r13d, byte [r11]
mov rdx, r11
test r13b, r13b
je 0x48e68d
cmp r11, qword [rbx + 0x18]
jae 0x48f1d6
add r11, 1
mov qword [rbx + 0x20], r11
cmp r13b, 0xa
jne 0x48e666
mov rdx, r11
movzx r10d, byte [rdx]
cmp r10b, 0x20
ja 0x48e63a
bt rbp, r10
jae 0x48e63a
cmp rdx, qword [rbx + 0x18]
jb 0x48e9f2
cmp byte [rbx + 0x38], 0
jne 0x48e691
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
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 0x48e68d
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 0x48e691
bt rbp, r10
jae 0x48e79b
cmp qword [rbx + 0x18], rdx
ja 0x48e770
cmp byte [rbx + 0x38], 0
jne 0x48e630
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 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 0x48e62c
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 0x48e630
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movzx r10d, byte [rdx + 1]
mov rdx, rax
jmp 0x48e630
mov r11, rdx
sub r11, qword [rbx + 8]
add r11, qword [rbx + 0x30]
mov dword [rsi + 0x30], 0x11
mov qword [rsi + 0x38], r11
mov ecx, dword [rsi + 0x30]
test ecx, ecx
jne 0x48d661
movzx eax, byte [rdx]
cmp al, 0x2c
jne 0x48ef08
cmp qword [rbx + 0x18], rdx
ja 0x48e870
cmp byte [rbx + 0x38], 0
je 0x48e89d
cmp al, 0x2f
jne 0x48e9a6
cmp rdx, qword [rbx + 0x18]
jb 0x48eba2
cmp byte [rbx + 0x38], 0
je 0x48ed7e
cmp byte [rbx + 0x38], 0
je 0x48f893
mov rdx, qword [rbx + 0x20]
jmp 0x48e803
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp r13b, 0xa
je 0x48e913
movzx r13d, byte [rdx]
test r13b, r13b
je 0x48e913
cmp rdx, qword [rbx + 0x18]
jb 0x48e7f1
cmp byte [rbx + 0x38], 0
jne 0x48e7f9
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 rcx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdx, [rcx + rax - 1]
mov qword [rbx + 0x20], rcx
mov qword [rbx + 0x18], rdx
mov rdx, rcx
jae 0x48e7f9
mov byte [rcx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x48e7f9
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx eax, byte [rdx + 1]
mov rdx, rcx
cmp al, 0x20
ja 0x48e7c5
bt rbp, rax
jae 0x48e9a6
cmp rdx, qword [rbx + 0x18]
jb 0x48e870
cmp byte [rbx + 0x38], 0
jne 0x48e87f
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 r13, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r13
jae 0x48e8e6
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 0x48e87f
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp byte [rdx], 0x2f
jne 0x48ebfa
cmp rdx, r8
jb 0x48f236
cmp byte [rbx + 0x38], 0
je 0x48f658
mov rdx, qword [rbx + 0x20]
movzx eax, byte [rdx]
nop word cs:[rax + rax]
cmp al, 0x20
ja 0x48e7c5
bt rbp, rax
jae 0x48e7c5
cmp qword [rbx + 0x18], rdx
ja 0x48ea07
cmp byte [rbx + 0x38], 0
jne 0x48e920
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 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 0x48e913
mov byte [rdx + rax], 0
mov rdx, qword [rbx + 0x20]
add qword [rbx + 0x18], 1
mov byte [rbx + 0x38], 1
movzx eax, byte [rdx]
jmp 0x48e920
mov r9, rdx
sub r9, qword [rbx + 8]
add r9, qword [rbx + 0x30]
mov dword [rsi + 0x30], 0x11
mov qword [rsi + 0x38], r9
mov r10d, dword [rsi + 0x30]
test r10d, r10d
jne 0x48d661
cmp byte [rdx], 0x5d
jne 0x48e609
mov rdx, qword [rdi + 0x38]
mov esi, r12d
mov r9, qword [rdi + 0x10]
shl rsi, 4
mov r8d, r12d
sub rdx, rsi
lea rcx, [rdx - 0x10]
mov qword [rdi + 0x38], rdx
call fcn.0048caa0
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp fcn.00496c90
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movzx r10d, byte [rdx + 1]
mov rdx, rax
jmp 0x48e691
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx eax, byte [rdx + 1]
mov rdx, r8
jmp 0x48e920
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx r11d, byte [rdx]
cmp r11b, 0x2a
jne 0x48f903
cmp rdx, qword [rbx + 0x18]
jb 0x48f170
cmp byte [rbx + 0x38], 0
je 0x48f3a9
movzx r13d, byte [rdx]
test r13b, r13b
je 0x48e785
cmp r13b, 0x2a
mov rcx, qword [rbx + 0x18]
jne 0x48f7ac
cmp rcx, rdx
ja 0x48f0fa
cmp byte [rbx + 0x38], 0
je 0x48f3fb
mov rdx, qword [rbx + 0x20]
jmp 0x48ea45
xor ebp, ebp
cmp r8b, 0x22
jne 0x48f0e2
mov r9d, 1
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call 0x494650
mov r10d, dword [rsi + 0x30]
test r10d, r10d
jne 0x48d661
mov rdx, rbx
mov rcx, rsi
call fcn.00496860
mov r11d, dword [rsi + 0x30]
test r11d, r11d
jne 0x48d661
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x3a
jne 0x48f1a4
cmp rax, qword [rbx + 0x18]
jb 0x48ee04
cmp byte [rbx + 0x38], 0
je 0x48f093
mov rdx, rbx
mov rcx, rsi
call fcn.00496860
mov r9d, dword [rsi + 0x30]
test r9d, r9d
jne 0x48d661
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.0048d4a0
mov r13d, dword [rsi + 0x30]
test r13d, r13d
jne 0x48d661
mov rdx, rbx
mov rcx, rsi
call fcn.00496860
mov edx, dword [rsi + 0x30]
test edx, edx
jne 0x48d661
mov r10, qword [rbx + 0x20]
add ebp, 1
movzx r11d, byte [r10]
cmp r11b, 0x2c
je 0x48f031
cmp r11b, 0x7d
jne 0x48f019
cmp r10, qword [rbx + 0x18]
jb 0x48f17d
cmp byte [rbx + 0x38], 0
je 0x48f4f0
mov rbx, qword [rdi + 0x38]
mov r12d, ebp
mov rsi, qword [rdi + 0x10]
shl r12, 5
sub rbx, r12
test ebp, ebp
mov qword [rdi + 0x38], rbx
mov edi, 3
mov word [rbx - 2], di
jne 0x48f243
movabs rax, 0xffff000000000000
and qword [rbx - 8], rax
mov dword [rbx - 0xc], ebp
mov dword [rbx - 0x10], ebp
jmp 0x48d661
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx r9d, byte [rdx]
cmp r9b, 0x2a
jne 0x48f8e2
cmp rdx, qword [rbx + 0x18]
jb 0x48f18a
cmp byte [rbx + 0x38], 0
je 0x48f5b7
movzx r10d, byte [rdx]
test r10b, r10b
je 0x48e990
cmp r10b, 0x2a
mov r8, qword [rbx + 0x18]
jne 0x48f6f9
cmp r8, rdx
ja 0x48e8eb
cmp byte [rbx + 0x38], 0
je 0x48f53f
mov rdx, qword [rbx + 0x20]
jmp 0x48ebcc
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x48ee29
sub r10, rcx
lea rbx, [r10 + 1]
shr rbx, 1
add r10, rbx
sub r11, rcx
lea rbp, [r11 + 0x10]
mov r12, r11
cmp rbp, r10
cmovb rbp, r10
test rbp, rbp
je 0x48ed66
mov rdx, rbp
call sub.msvcrt.dll_realloc
lea r11, [rax + r12]
mov qword [rdi + 0x30], rax
add rax, rbp
mov qword [rdi + 0x40], rax
lea rcx, [r11 + 0x10]
jmp 0x48dffa
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x48ee3d
sub r10, rcx
lea rbx, [r10 + 1]
shr rbx, 1
add r10, rbx
sub r11, rcx
lea rbp, [r11 + 0x10]
mov r13, r11
cmp rbp, r10
cmovb rbp, r10
test rbp, rbp
je 0x48ed72
mov rdx, rbp
call sub.msvcrt.dll_realloc
lea r11, [rax + r13]
mov qword [rdi + 0x30], rax
add rax, rbp
mov qword [rdi + 0x40], rax
lea rcx, [r11 + 0x10]
jmp 0x48dd84
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x48eef4
sub r8, rcx
lea rbx, [r8 + 1]
shr rbx, 1
add r8, rbx
sub rdx, rcx
lea r12, [rdx + 0x10]
mov r13, rdx
cmp r12, r8
cmovb r12, r8
test r12, r12
je 0x48edf8
mov rdx, r12
call sub.msvcrt.dll_realloc
lea rdx, [rax + r13]
mov qword [rdi + 0x30], rax
add rax, r12
mov qword [rdi + 0x40], rax
lea rcx, [rdx + 0x10]
jmp 0x48e0d2
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x48e59c
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x48e548
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 0x48ea23
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x48ea23
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x48ec3c
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x48ec90
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 0x48ebaa
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x48ebaa
cmp qword [rdi + 0x20], 0
je 0x48f38a
mov r8, qword [rdi + 0x48]
jmp 0x48e57a
cmp qword [rdi + 0x20], 0
je 0x48f454
mov r9, qword [rdi + 0x48]
jmp 0x48e526
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x48ece4
add rax, 1
mov qword [rbx + 0x20], rax
jmp 0x48eae6
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [rsi + 0x30], 0x11
mov qword [rsi + 0x38], rdx
jmp 0x48d661
cmp qword [rdi + 0x20], 0
je 0x48f2d7
mov r10, qword [rdi + 0x48]
jmp 0x48ec1a
cmp qword [rdi + 0x20], 0
je 0x48f482
mov r10, qword [rdi + 0x48]
jmp 0x48ec6e
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 0x48ee9a
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 0x48ddcf
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 0x48eeec
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 0x48dec7
cmp qword [rdi + 0x20], 0
je 0x48f598
mov r8, qword [rdi + 0x48]
jmp 0x48ecc2
cmp al, 0x5d
jne 0x48f80a
cmp qword [rbx + 0x18], rdx
ja 0x48f197
cmp byte [rbx + 0x38], 0
je 0x48f609
mov rbx, qword [rdi + 0x38]
mov ebp, r12d
mov rsi, qword [rdi + 0x10]
shl rbp, 4
sub rbx, rbp
test r12d, r12d
mov qword [rdi + 0x38], rbx
mov edi, 4
mov word [rbx - 2], di
jne 0x48f2f6
movabs r13, 0xffff000000000000
and qword [rbx - 8], r13
mov dword [rbx - 0xc], r12d
mov dword [rbx - 0x10], r12d
jmp 0x48d661
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 r11, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r11
jae 0x48de08
mov byte [rdx + rax], 0
mov rcx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rdx, qword [rbx + 0x20]
lea r11, [rcx + 1]
mov qword [rbx + 0x18], r11
jmp 0x48de08
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 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 0x48defd
mov byte [rdx + rax], 0
mov r11, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rdx, qword [rbx + 0x20]
lea r9, [r11 + 1]
mov qword [rbx + 0x18], r9
jmp 0x48defd
sub r10, qword [rbx + 8]
add r10, qword [rbx + 0x30]
mov dword [rsi + 0x30], 6
mov qword [rsi + 0x38], r10
jmp 0x48d661
cmp r10, qword [rbx + 0x18]
jb 0x48f1bc
cmp byte [rbx + 0x38], 0
je 0x48f4a1
mov rdx, rbx
mov rcx, rsi
call fcn.00496860
mov eax, dword [rsi + 0x30]
test eax, eax
jne 0x48d661
mov rdx, qword [rbx + 0x20]
movzx r8d, byte [rdx]
cmp r8b, 0x7d
jne 0x48ea82
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.0048cbf0
jmp 0x48e9de
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 r12, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r8, [r12 + rax - 1]
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x18], r8
jae 0x48eae6
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48eae6
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [rsi + 0x30], 4
mov qword [rsi + 0x38], rdx
jmp 0x48d661
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp byte [rdx], 0x2f
jne 0x48ea73
cmp rdx, rcx
jb 0x48f1c9
cmp byte [rbx + 0x38], 0
jne 0x48e68d
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 0x48e68d
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x48e68d
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48ea45
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x48eb62
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48ebcc
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48ef24
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x30]
mov dword [rsi + 0x30], 5
mov qword [rsi + 0x38], rax
jmp 0x48d661
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x48f045
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48e68d
cmp byte [rbx + 0x38], 0
jne 0x48e684
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
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 r10, [r9 + rax - 1]
mov qword [rbx + 0x20], r9
mov r11, r9
mov qword [rbx + 0x18], r10
jae 0x48e684
mov byte [r9 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov r11, qword [rbx + 0x20]
jmp 0x48e684
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48e913
test r12, r12
je 0x48f27f
mov rax, qword [rsi]
mov rdi, r12
test rax, rax
je 0x48f25f
mov r8, qword [rax + 8]
add r8, r12
cmp r8, qword [rax]
jbe 0x48f2c5
cmp qword [rsi + 8], rdi
mov r13, rdi
cmovae r13, qword [rsi + 8]
cmp qword [rsi + 0x18], 0
je 0x48f87c
mov rcx, r13
add rcx, 0x18
jne 0x48f2a6
xor ecx, ecx
movabs r10, 0xffff000000000000
and r10, qword [rbx - 8]
mov r8, r12
mov rdx, rbx
or r10, rcx
mov qword [rbx - 8], r10
call sub.msvcrt.dll_memcpy
jmp 0x48eb97
call sub.msvcrt.dll_malloc
test rax, rax
je 0x48f27f
mov r9, qword [rsi]
mov qword [rax], r13
mov qword [rax + 8], 0
mov qword [rax + 0x10], r9
mov qword [rsi], rax
mov rdx, qword [rax + 8]
add rdi, rdx
lea rcx, [rax + rdx + 0x18]
mov qword [rax + 8], rdi
jmp 0x48f281
mov ecx, 1
call fcn.004a9400
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r11, qword [rdi + 0x38]
jmp 0x48ee34
test rbp, rbp
je 0x48f332
mov rax, qword [rsi]
mov rdi, rbp
test rax, rax
je 0x48f312
mov r9, qword [rax + 8]
add r9, rbp
cmp r9, qword [rax]
jbe 0x48f378
cmp qword [rsi + 8], rdi
mov r13, rdi
cmovae r13, qword [rsi + 8]
cmp qword [rsi + 0x18], 0
je 0x48f924
mov rcx, r13
add rcx, 0x18
jne 0x48f359
xor ecx, ecx
movabs rax, 0xffff000000000000
and rax, qword [rbx - 8]
mov r8, rbp
mov rdx, rbx
or rax, rcx
mov qword [rbx - 8], rax
call sub.msvcrt.dll_memcpy
jmp 0x48ef5a
call sub.msvcrt.dll_malloc
test rax, rax
je 0x48f332
mov r10, qword [rsi]
mov qword [rax], r13
mov qword [rax + 8], 0
mov qword [rax + 0x10], r10
mov qword [rsi], rax
mov r11, qword [rax + 8]
add rdi, r11
lea rcx, [rax + r11 + 0x18]
mov qword [rax + 8], rdi
jmp 0x48f334
mov ecx, 1
call fcn.004a9400
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r9, qword [rdi + 0x38]
jmp 0x48eddb
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 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 0x48ea45
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x48ea45
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 0x48f102
mov byte [rdx + rax], 0
mov r11, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rdx, qword [rbx + 0x20]
lea rcx, [r11 + 1]
mov qword [rbx + 0x18], rcx
jmp 0x48f102
mov ecx, 1
call fcn.004a9400
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r10, qword [rdi + 0x38]
jmp 0x48edef
xor eax, eax
jmp 0x48df6c
xor r13d, r13d
jmp 0x48de72
mov ecx, 1
call fcn.004a9400
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r11, qword [rdi + 0x38]
jmp 0x48ee48
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 r12, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r12 + rax - 1]
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x18], rcx
jae 0x48f045
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48f045
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 r12, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r12 + rax - 1]
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x18], rcx
jae 0x48eb62
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48eb62
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 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 0x48e8f3
mov byte [rdx + rax], 0
mov rdx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea r8, [rdx + 1]
mov rdx, qword [rbx + 0x20]
mov qword [rbx + 0x18], r8
jmp 0x48e8f3
mov ecx, 1
call fcn.004a9400
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov rdx, qword [rdi + 0x38]
jmp 0x48eeff
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 0x48ebcc
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x48ebcc
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov rbp, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r8, [rbp + rax - 1]
mov qword [rbx + 0x20], rbp
mov qword [rbx + 0x18], r8
jae 0x48ef24
mov byte [rbp + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48ef24
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 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 rdx, r10
mov qword [rbx + 0x18], r11
jae 0x48e913
mov byte [r10 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48e90f
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 r13, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], r13
jae 0x48d59c
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48d59c
cmp r8, rdx
ja 0x48f822
cmp byte [rbx + 0x38], 0
jne 0x48ebfa
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 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 0x48ebfa
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48ebfa
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 r13, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r10, [r13 + rax - 1]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x18], r10
jae 0x48d81c
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48d81c
cmp rcx, rdx
ja 0x48f82f
cmp byte [rbx + 0x38], 0
jne 0x48ea73
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
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 r10, [r9 + rax - 1]
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x18], r10
jae 0x48ea73
mov byte [r9 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48ea73
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [rsi + 0x30], 7
mov qword [rsi + 0x38], rdx
jmp 0x48d661
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48ebfa
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48ea73
cmp r9b, 0x2f
jne 0x48ee11
cmp qword [rbx + 0x18], rdx
jbe 0x48d812
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48d81c
cmp al, 0x2f
jne 0x48ee11
cmp rdx, qword [rbx + 0x18]
jae 0x48d592
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48d59c
mov ecx, 1
call fcn.004a9400
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], rax
jmp 0x48f276
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 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 0x48e7eb
mov byte [r10 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48e7eb
cmp r9b, 0x2f
jne 0x48e990
cmp qword [rbx + 0x18], rdx
jbe 0x48e7e1
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48e7eb
cmp r11b, 0x2f
jne 0x48e785
cmp rdx, qword [rbx + 0x18]
jae 0x48e658
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x48e662
mov ecx, 1
call fcn.004a9400
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], rax
jmp 0x48f329
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 rdx, [r8 + rax - 1]
mov qword [rbx + 0x20], r8
mov qword [rbx + 0x18], rdx
jae 0x48e662
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x48e662
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 rbx, rdx
mov r14, rcx
mov r13, r8
mov r9, qword [rbx + 0x20]
mov rcx, qword [rbx + 8]
mov rdx, qword [rdx + 0x30]
movsx ebp, byte [r9]
mov r8, r9
sub r8, rcx
lea rdi, [r8 + rdx]
cmp bpl, 0x2d
mov qword [rsp + 0x28], rdi
jne 0x493190
cmp r9, qword [rbx + 0x18]
jb 0x492500
cmp byte [rbx + 0x38], 0
je 0x493050
sub r9, qword [rbx + 8]
mov dword [r14 + 0x30], 3
add r9, rdx
mov qword [r14 + 0x38], r9
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
lea rdx, [r9 + 1]
mov byte [rsp + 0x3e], 1
mov qword [rbx + 0x20], rdx
movsx ebp, byte [r9 + 1]
cmp bpl, 0x30
je 0x4930aa
lea esi, [rbp - 0x31]
mov r12d, ebp
cmp sil, 8
ja 0x4939f7
cmp qword [rbx + 0x18], rdx
jbe 0x492740
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx r15d, byte [rdx + 1]
mov rdx, r8
mov r12d, r15d
sub ebp, 0x30
sub r12d, 0x30
cmp byte [rsp + 0x3e], 0
je 0x4927b0
cmp r12b, 9
ja 0x4931a0
xor r12d, r12d
cmp ebp, 0xccccccb
movsx edi, r15b
ja 0x4925b5
lea ebp, [rbp + rbp*4]
add ebp, ebp
cmp qword [rbx + 0x18], rdx
jbe 0x492690
lea r10, [rdx + 1]
mov qword [rbx + 0x20], r10
movsx esi, byte [rdx + 1]
mov rdx, r10
lea r9d, [rsi - 0x30]
add r12d, 1
lea ebp, [rbp + rdi - 0x30]
cmp r9b, 9
ja 0x4926f0
cmp ebp, 0xccccccb
movsx edi, sil
jbe 0x492574
cmp ebp, 0xccccccc
je 0x4936de
mov r9d, edi
mov edi, ebp
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x49360a
movabs r15, 0xccccccccccccccb
jmp 0x492611
lea rdi, [rdx + 1]
mov qword [rbx + 0x20], rdi
movzx r10d, byte [rdx + 1]
mov rdx, rdi
movsx r9d, r9b
lea eax, [r10 - 0x30]
add r12d, 1
sub r9d, 0x30
movsxd rdi, r9d
add rdi, rsi
cmp al, 9
ja 0x493160
mov r9d, r10d
cmp rdi, r15
ja 0x4931e0
cmp qword [rbx + 0x18], rdx
lea r11, [rdi + rdi*4]
lea rsi, [r11 + r11]
ja 0x4925e0
cmp byte [rbx + 0x38], 0
mov r10d, r9d
jne 0x4925f0
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov byte [rsp + 0x30], r9b
mov r8, qword [rbx + 0x10]
mov r9, qword [rbx]
mov rcx, qword [rbx + 8]
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
movzx r9d, byte [rsp + 0x30]
lea r8, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r8
jae 0x492685
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r10d, byte [rdx]
jmp 0x4925f0
cmp byte [rbx + 0x38], 0
movsx esi, dil
jne 0x492593
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 rsi, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rsi
jae 0x4926e7
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx esi, byte [rdx]
jmp 0x492593
pxor xmm6, xmm6
xor r11d, r11d
xor r10d, r10d
xor edi, edi
cmp sil, 0x2e
jne 0x4934d0
cmp qword [rbx + 0x18], rdx
ja 0x492940
cmp byte [rbx + 0x38], 0
mov r15, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
je 0x4930e0
sub rdx, rcx
mov dword [r14 + 0x30], 0xe
add r15, rdx
mov qword [r14 + 0x38], r15
jmp 0x4924d5
cmp byte [rbx + 0x38], 0
mov r15d, ebp
jne 0x492549
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 0x492796
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r15d, byte [rdx]
sub ebp, 0x30
mov r12d, r15d
sub r12d, 0x30
cmp byte [rsp + 0x3e], 0
jne 0x49255b
nop
cmp r12b, 9
ja 0x4931c0
xor r12d, r12d
cmp ebp, 0x19999998
movsx r15d, r15b
ja 0x49280a
lea ebp, [rbp + rbp*4]
add ebp, ebp
cmp qword [rbx + 0x18], rdx
jbe 0x4928e1
lea r9, [rdx + 1]
mov qword [rbx + 0x20], r9
movsx esi, byte [rdx + 1]
mov rdx, r9
lea edi, [rsi - 0x30]
add r12d, 1
lea ebp, [rbp + r15 - 0x30]
cmp dil, 9
ja 0x4926f0
cmp ebp, 0x19999998
movsx r15d, sil
jbe 0x4927c9
cmp ebp, 0x19999999
je 0x4936c7
mov r9d, r15d
mov edi, ebp
lea esi, [r9 - 0x30]
movabs r15, 0x1999999999999998
cmp sil, 9
jbe 0x492865
jmp 0x4935f4
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx eax, byte [rdx + 1]
mov rdx, rcx
movsx edi, r9b
lea r11d, [rax - 0x30]
add r12d, 1
sub edi, 0x30
movsxd rdi, edi
add rdi, rsi
cmp r11b, 9
ja 0x493144
mov r9d, eax
cmp rdi, r15
ja 0x493302
cmp qword [rbx + 0x18], rdx
lea r8, [rdi + rdi*4]
lea rsi, [r8 + r8]
ja 0x492834
cmp byte [rbx + 0x38], 0
mov eax, r9d
jne 0x492843
mov rdx, qword [rbx + 0x28]
add qword [rbx + 0x30], rdx
mov edx, 1
mov byte [rsp + 0x30], r9b
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
movzx r9d, byte [rsp + 0x30]
lea r10, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r10
jae 0x4928d9
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 0x492843
cmp byte [rbx + 0x38], 0
movsx esi, r15b
jne 0x4927e8
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 0x492938
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx esi, byte [rdx]
jmp 0x4927e8
add rdx, 1
mov qword [rbx + 0x20], rdx
movsx esi, byte [rdx]
lea r8d, [rsi - 0x30]
cmp r8b, 9
ja 0x493a24
xor r15d, r15d
test r11b, r11b
jne 0x4929d4
lea eax, [rsi - 0x30]
test r10b, r10b
mov r9d, ebp
cmove rdi, r9
movabs r11, 0x1fffffffffffff
cmp al, 9
ja 0x4929c2
cmp rdi, r11
ja 0x4929c2
lea rdi, [rdi + rdi*4]
add rdi, rdi
cmp qword [rbx + 0x18], rdx
jbe 0x492bb0
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx r8d, byte [rdx + 1]
mov rdx, rcx
sub esi, 0x30
sub r15d, 1
movsxd rsi, esi
add rdi, rsi
movsx esi, r8b
lea eax, [rsi - 0x30]
cmp rdi, 1
sbb r12d, 0xffffffff
cmp al, 9
jbe 0x49297c
pxor xmm6, xmm6
test rdi, rdi
cvtsi2sd xmm6, rdi
js 0x493010
pxor xmm7, xmm7
movsd xmm8, qword [0x004acff0]
lea r11d, [rsi - 0x30]
cmp r11b, 9
ja 0x492a44
cmp r12d, 0x10
mov r9, qword [rbx + 0x18]
jg 0x492ab3
cmp rdx, r9
mulsd xmm6, xmm8
jae 0x492ad0
lea r9, [rdx + 1]
mov qword [rbx + 0x20], r9
movzx eax, byte [rdx + 1]
mov rdx, r9
pxor xmm1, xmm1
sub esi, 0x30
sub r15d, 1
cvtsi2sd xmm1, esi
addsd xmm6, xmm1
comisd xmm6, xmm7
jbe 0x493180
movsx esi, al
add r12d, 1
lea r11d, [rsi - 0x30]
cmp r11b, 9
jbe 0x4929eb
mov r11d, 1
cmp sil, 0x65
jne 0x493500
cmp qword [rbx + 0x18], rdx
ja 0x492c24
cmp byte [rbx + 0x38], 0
je 0x492f10
test r11b, r11b
jne 0x493a06
pxor xmm6, xmm6
test r10b, r10b
cvtsi2sd xmm6, rbp
je 0x492c38
pxor xmm6, xmm6
test rdi, rdi
cvtsi2sd xmm6, rdi
jns 0x492c38
mov rax, rdi
pxor xmm6, xmm6
shr rax, 1
and edi, 1
or rdi, rax
cvtsi2sd xmm6, rdi
addsd xmm6, xmm6
jmp 0x492c38
cmp rdx, r9
jae 0x492b40
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movsx esi, byte [rdx + 1]
mov rdx, rcx
jmp 0x4929e1
cmp byte [rbx + 0x38], 0
mov eax, esi
jne 0x492a16
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]
mov byte [rsp + 0x30], r10b
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
movzx r10d, byte [rsp + 0x30]
lea r11, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r11
jae 0x492b30
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 0x492a16
cmp byte [rbx + 0x38], 0
jne 0x4929e1
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov byte [rsp + 0x30], r10b
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
movzx r10d, byte [rsp + 0x30]
lea r8, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r8
jae 0x492b9e
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx esi, byte [rdx]
jmp 0x4929e1
cmp byte [rbx + 0x38], 0
mov r8d, esi
jne 0x4929a2
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]
mov byte [rsp + 0x3f], r10b
mov qword [rsp + 0x30], r11
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 r10, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r10
movzx r10d, byte [rsp + 0x3f]
jae 0x492c1b
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx r8d, byte [rdx]
jmp 0x4929a2
add rdx, 1
mov qword [rbx + 0x20], rdx
test r11b, r11b
movsx esi, byte [rdx]
je 0x492a71
cmp sil, 0x2b
jne 0x493330
cmp qword [rbx + 0x18], rdx
ja 0x492c74
movzx edi, byte [rbx + 0x38]
mov r9, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
test dil, dil
je 0x492f80
sub rdx, rcx
mov dword [r14 + 0x30], 0xf
add r9, rdx
mov qword [r14 + 0x38], r9
jmp 0x4924d5
lea rcx, [rdx + 1]
xor edi, edi
mov qword [rbx + 0x20], rcx
movsx esi, byte [rdx + 1]
lea ebp, [rsi - 0x30]
cmp bpl, 9
ja 0x493a03
cmp qword [rbx + 0x18], rcx
jbe 0x492eb0
lea r8, [rcx + 1]
mov qword [rbx + 0x20], r8
movsx ebp, byte [rcx + 1]
mov rcx, r8
sub esi, 0x30
test dil, dil
jne 0x492d94
lea r11d, [rbp - 0x30]
mov edi, 0x134
sub edi, r15d
cmp r11b, 9
ja 0x492cfa
lea esi, [rsi + rsi*4]
add esi, esi
cmp qword [rbx + 0x18], rcx
jbe 0x492e40
add rcx, 1
mov qword [rbx + 0x20], rcx
lea esi, [rsi + rbp - 0x30]
cmp edi, esi
jl 0x493031
mov rcx, qword [rbx + 0x20]
movsx ebp, byte [rcx]
lea r11d, [rbp - 0x30]
cmp r11b, 9
jbe 0x492cc6
mov r12, qword [r13 + 0x38]
mov r8, qword [r13 + 0x40]
add esi, r15d
cmp esi, 0xfffffecc
jl 0x492fd0
test esi, esi
js 0x4934e0
lea r11, [0x004bbf80]
movsxd rdi, esi
movsd xmm7, qword [r11 + rdi*8]
mulsd xmm7, xmm6
cmp byte [rsp + 0x3e], 0
je 0x492d3c
xorpd xmm7, xmmword [0x004ad000]
lea rdx, [r12 + 0x10]
cmp rdx, r8
ja 0x493620
test r12, r12
mov qword [r13 + 0x38], rdx
je 0x4924d5
movabs r13, 0x216000000000000
movsd qword [r12], xmm7
mov qword [r12 + 8], r13
jmp 0x4924d5
lea r8, [rcx + 1]
mov qword [rbx + 0x20], r8
movzx eax, byte [rcx + 1]
mov rcx, r8
lea esi, [r14 + rbp - 0x30]
cmp esi, 0xccccccb
jg 0x492e10
movsx ebp, al
lea r14d, [rbp - 0x30]
cmp r14b, 9
ja 0x492ea0
lea r14d, [rsi + rsi*4]
add r14d, r14d
cmp qword [rbx + 0x18], rcx
ja 0x492d71
cmp byte [rbx + 0x38], 0
mov eax, ebp
jne 0x492d80
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 rcx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [rcx + rax - 1]
mov qword [rbx + 0x20], rcx
mov qword [rbx + 0x18], r12
jae 0x492e00
mov byte [rcx + rax], 0
add qword [rbx + 0x18], 1
mov rcx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea esi, [r14 + rbp - 0x30]
movzx eax, byte [rcx]
cmp esi, 0xccccccb
jle 0x492d91
lea edi, [rax - 0x30]
cmp dil, 9
ja 0x492d91
cmp qword [rbx + 0x18], rcx
jbe 0x4938dd
lea r10, [rcx + 1]
mov qword [rbx + 0x20], r10
movzx eax, byte [rcx + 1]
mov rcx, r10
jmp 0x492e10
cmp byte [rbx + 0x38], 0
jne 0x492cdd
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 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 0x492cdd
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x492cdd
neg esi
jmp 0x492cfa
cmp byte [rbx + 0x38], 0
movsx ebp, sil
jne 0x492ca8
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 rcx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r12, [rcx + rax - 1]
mov qword [rbx + 0x20], rcx
mov qword [rbx + 0x18], r12
jae 0x492f07
mov byte [rcx + rax], 0
add qword [rbx + 0x18], 1
mov rcx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx ebp, byte [rcx]
jmp 0x492ca8
mov r12, qword [rbx + 0x28]
add qword [rbx + 0x30], r12
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov byte [rsp + 0x3f], r10b
mov byte [rsp + 0x30], r11b
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
movzx r11d, byte [rsp + 0x30]
movzx r10d, byte [rsp + 0x3f]
lea r8, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], r8
jae 0x492c2c
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x492c2c
add r9, qword [rbx + 0x28]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov qword [rbx + 0x30], r9
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov rcx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rsi, [rcx + rax - 1]
mov qword [rbx + 0x20], rcx
mov qword [rbx + 0x18], rsi
jae 0x492fc5
mov byte [rcx + rax], 0
add qword [rbx + 0x18], 1
mov rcx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx esi, byte [rcx]
jmp 0x492c82
cmp esi, 0xfffffd98
pxor xmm7, xmm7
jl 0x492d2d
mulsd xmm6, qword [0x004acff8]
mov eax, 0xfffffecc
sub eax, esi
lea rsi, [0x004bbf80]
cdqe
movapd xmm7, xmm6
divsd xmm7, qword [rsi + rax*8]
jmp 0x492d2d
mov r9, rdi
mov rax, rdi
pxor xmm6, xmm6
shr r9, 1
and eax, 1
or r9, rax
cvtsi2sd xmm6, r9
addsd xmm6, xmm6
jmp 0x4929d4
mov r15, qword [rsp + 0x28]
mov dword [r14 + 0x30], 0xd
mov qword [r14 + 0x38], r15
jmp 0x4924d5
mov rax, qword [rbx + 0x28]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
add rax, rdx
mov edx, 1
mov qword [rbx + 0x30], rax
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 0x493098
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 byte [rsp + 0x3e], 1
cmp bpl, 0x30
jne 0x49251c
cmp qword [rbx + 0x18], rdx
jbe 0x4933b0
lea rcx, [rdx + 1]
xor r11d, r11d
xor r12d, r12d
xor r10d, r10d
xor edi, edi
xor ebp, ebp
mov qword [rbx + 0x20], rcx
pxor xmm6, xmm6
movsx esi, byte [rdx + 1]
mov rdx, rcx
jmp 0x4926fc
add r15, qword [rbx + 0x28]
mov r9, qword [rbx]
mov edx, 1
mov r8, qword [rbx + 0x10]
mov byte [rsp + 0x3f], r10b
mov byte [rsp + 0x30], r11b
mov qword [rbx + 0x30], r15
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
movzx r11d, byte [rsp + 0x30]
movzx r10d, byte [rsp + 0x3f]
lea rsi, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rsi
jae 0x492948
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x492948
movsx esi, al
xor r11d, r11d
mov r10d, 1
pxor xmm6, xmm6
jmp 0x4926fc
movsx esi, r10b
xor r11d, r11d
movzx r10d, byte [rsp + 0x3e]
pxor xmm6, xmm6
jmp 0x4926fc
movsx esi, al
jmp 0x4929e1
mov rdx, r9
mov byte [rsp + 0x3e], 0
jmp 0x492512
movsx esi, r15b
xor r11d, r11d
xor r12d, r12d
xor r10d, r10d
xor edi, edi
pxor xmm6, xmm6
jmp 0x4926fc
movsx esi, r15b
xor r11d, r11d
xor r10d, r10d
xor r12d, r12d
xor edi, edi
pxor xmm6, xmm6
jmp 0x4926fc
movabs rcx, 0xccccccccccccccc
cmp rdi, rcx
je 0x493713
pxor xmm6, xmm6
test rdi, rdi
cvtsi2sd xmm6, rdi
jns 0x49321d
mov r11, rdi
mov rcx, rdi
pxor xmm6, xmm6
shr r11, 1
and ecx, 1
or r11, rcx
cvtsi2sd xmm6, r11
addsd xmm6, xmm6
comisd xmm6, xmmword [0x004acfe8]
jae 0x493031
mov r8, qword [rbx + 0x18]
movsd xmm7, qword [0x004acff0]
movsd xmm8, qword [0x004acfe8]
movsx r15d, r9b
mulsd xmm6, xmm7
cmp rdx, r8
jae 0x49328f
lea r10, [rdx + 1]
mov qword [rbx + 0x20], r10
movsx esi, byte [rdx + 1]
mov rdx, r10
pxor xmm0, xmm0
sub r15d, 0x30
lea r9d, [rsi - 0x30]
cvtsi2sd xmm0, r15d
cmp r9b, 9
addsd xmm6, xmm0
ja 0x4932f1
comisd xmm6, xmm8
jae 0x493031
cmp rdx, r8
movsx r15d, sil
mulsd xmm6, xmm7
jb 0x49324d
cmp byte [rbx + 0x38], 0
movsx esi, r15b
jne 0x49325c
mov rsi, qword [rbx + 0x28]
add qword [rbx + 0x30], rsi
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 0x4932e9
mov byte [rdx + rax], 0
mov rdx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea r8, [rdx + 1]
mov rdx, qword [rbx + 0x20]
mov qword [rbx + 0x18], r8
movsx esi, byte [rdx]
jmp 0x49325c
mov r11d, 1
mov r10d, 1
jmp 0x4926fc
movabs r11, 0x1999999999999999
cmp rdi, r11
jne 0x4931f3
cmp r9b, 0x35
jle 0x49286e
movsd xmm6, qword [0x004acfd8]
jmp 0x49321d
cmp sil, 0x2d
jne 0x493a1a
cmp qword [rbx + 0x18], rdx
ja 0x493411
cmp byte [rbx + 0x38], 0
mov r9, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x492c5d
add r9, qword [rbx + 0x28]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov qword [rbx + 0x30], r9
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov rcx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdx, [rcx + rax - 1]
mov qword [rbx + 0x20], rcx
mov qword [rbx + 0x18], rdx
jae 0x49339b
mov byte [rcx + rax], 0
add qword [rbx + 0x18], 1
mov rcx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx esi, byte [rcx]
mov edi, 1
jmp 0x492c82
movzx r12d, byte [rbx + 0x38]
test r12b, r12b
je 0x493427
mov r14, qword [r13 + 0x38]
mov rbx, qword [r13 + 0x40]
xor ebp, ebp
lea rax, [r14 + 0x10]
cmp byte [rsp + 0x3e], 0
je 0x493491
cmp rbx, rax
jb 0x493838
test r14, r14
mov qword [r13 + 0x38], rax
je 0x4924d5
neg ebp
mov qword [r14 + 8], 0
movsxd r10, ebp
sar ebp, 0x1f
and bp, 0xfec0
mov qword [r14], r10
lea ebp, [rbp + 0x1f6]
mov word [r14 + 0xe], bp
jmp 0x4924d5
lea rcx, [rdx + 1]
mov edi, 1
mov qword [rbx + 0x20], rcx
movsx esi, byte [rdx + 1]
jmp 0x492c82
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 byte [rsp + 0x30], r12b
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
movzx r11d, byte [rsp + 0x30]
jae 0x49347b
mov byte [rdx + rax], 0
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movsx esi, byte [rdx]
xor r10d, r10d
xor r12d, r12d
xor edi, edi
xor ebp, ebp
pxor xmm6, xmm6
jmp 0x4926fc
cmp rbx, rax
jb 0x49378f
test r14, r14
mov qword [r13 + 0x38], rax
je 0x4924d5
mov r13d, ebp
sar ebp, 0x1f
mov qword [r14 + 8], 0
and ebp, 0xffffffe0
mov qword [r14], r13
lea ebx, [rbp + 0x1f6]
mov word [r14 + 0xe], bx
jmp 0x4924d5
xor r15d, r15d
jmp 0x492a4a
neg esi
lea rax, [0x004bbf80]
movapd xmm7, xmm6
movsxd rbx, esi
divsd xmm7, qword [rax + rbx*8]
jmp 0x492d2d
cmp sil, 0x45
je 0x492a54
mov r12, qword [r13 + 0x38]
mov r8, qword [r13 + 0x40]
test r11b, r11b
mov r14, r12
lea rax, [r12 + 0x10]
mov rbx, r8
jne 0x493a13
test r10b, r10b
je 0x4933c8
cmp byte [rsp + 0x3e], 0
je 0x493581
cmp rax, r8
ja 0x49373e
test r14, r14
mov qword [r13 + 0x38], rax
je 0x4924d5
neg rdi
mov qword [r14 + 8], 0
test rdi, rdi
mov qword [r14], rdi
jns 0x493676
cmp rdi, 0xffffffff80000000
mov esi, 0xb6
mov edi, 0x96
cmovge edi, esi
mov word [r14 + 0xe], di
jmp 0x4924d5
cmp rax, r8
ja 0x4937e4
test r14, r14
mov qword [r13 + 0x38], rax
je 0x4924d5
test rdi, rdi
mov qword [r14 + 8], 0
mov qword [r14], rdi
js 0x4936a6
mov ecx, 0x196
mov r11d, 0x1f6
mov r13d, 0x1d6
mov word [r14 + 0xe], cx
mov ecx, 0x1b6
movabs rax, 0xffffffff00000000
test rdi, rax
jne 0x4935dd
mov word [r14 + 0xe], r13w
mov ecx, r11d
test rdi, 0xffffffff80000000
jne 0x4924d5
mov word [r14 + 0xe], cx
jmp 0x4924d5
movsx esi, r9b
xor r11d, r11d
mov r10d, 1
pxor xmm6, xmm6
jmp 0x4926fc
movsx esi, r9b
movzx r10d, byte [rsp + 0x3e]
xor r11d, r11d
pxor xmm6, xmm6
jmp 0x4926fc
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x49372a
sub r8, rcx
lea r10, [r8 + 1]
shr r10, 1
add r10, r8
sub r12, rcx
lea r15, [r12 + 0x10]
mov rbp, r12
cmp r15, r10
cmovb r15, r10
test r15, r15
je 0x4936f5
mov rdx, r15
call sub.msvcrt.dll_realloc
lea r12, [rax + rbp]
mov qword [r13 + 0x30], rax
add rax, r15
mov qword [r13 + 0x40], rax
lea rdx, [r12 + 0x10]
jmp 0x492d4a
movabs r10, 0xffffffff00000000
test rdi, r10
je 0x493701
mov ebp, 0x196
mov word [r14 + 0xe], bp
mov ebp, 0x1b6
test rdi, 0xffffffff80000000
jne 0x4924d5
jmp 0x493407
mov r8d, 0x116
mov ecx, 0x136
mov r11d, 0x176
mov word [r14 + 0xe], r8w
mov r13d, 0x156
jmp 0x4935c6
cmp r15b, 0x35
jle 0x4927c9
mov r9d, r15d
mov edi, 0x19999999
jmp 0x49281b
cmp dil, 0x39
jne 0x492574
mov r9d, edi
mov edi, 0xccccccc
jmp 0x4925d2
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x49365d
mov r9d, 0x1d6
mov ebp, 0x1f6
mov word [r14 + 0xe], r9w
jmp 0x493694
cmp r9b, 0x39
jne 0x49261a
movsd xmm6, qword [0x004acfe0]
jmp 0x49322b
cmp qword [r13 + 0x20], 0
je 0x49395c
mov r10, qword [r13 + 0x48]
jmp 0x49363a
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x493948
sub r8, rcx
lea rdx, [r8 + 1]
shr rdx, 1
add rdx, r8
sub r14, rcx
lea rbx, [r14 + 0x10]
cmp rbx, rdx
cmovb rbx, rdx
test rbx, rbx
je 0x493894
mov rdx, rbx
call sub.msvcrt.dll_realloc
lea r14, [rax + r14]
mov qword [r13 + 0x30], rax
add rax, rbx
mov qword [r13 + 0x40], rax
lea rax, [r14 + 0x10]
jmp 0x49353f
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x493938
sub rbx, rcx
lea r15, [rbx + 1]
shr r15, 1
add rbx, r15
mov r12, r14
sub r12, rcx
lea r14, [r12 + 0x10]
cmp r14, rbx
cmovae rbx, r14
test rbx, rbx
je 0x493888
mov rdx, rbx
call sub.msvcrt.dll_realloc
lea r14, [rax + r12]
mov qword [r13 + 0x30], rax
add rax, rbx
mov qword [r13 + 0x40], rax
lea rax, [r14 + 0x10]
jmp 0x49349a
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x4938b5
sub r8, rcx
lea r9, [r8 + 1]
shr r9, 1
add r9, r8
mov r15, r14
sub r15, rcx
lea r12, [r15 + 0x10]
cmp r12, r9
cmovb r12, r9
test r12, r12
je 0x4938a0
mov rdx, r12
call sub.msvcrt.dll_realloc
lea r14, [rax + r15]
mov qword [r13 + 0x30], rax
add rax, r12
mov qword [r13 + 0x40], rax
lea rax, [r14 + 0x10]
jmp 0x49358a
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x4938c9
sub rbx, rcx
lea rdi, [rbx + 1]
shr rdi, 1
add rbx, rdi
mov rsi, r14
sub rsi, rcx
lea rdx, [rsi + 0x10]
cmp rdx, rbx
cmovae rbx, rdx
test rbx, rbx
je 0x4938ac
mov rdx, rbx
call sub.msvcrt.dll_realloc
lea r14, [rax + rsi]
mov qword [r13 + 0x30], rax
add rax, rbx
mov qword [r13 + 0x40], rax
lea rax, [r14 + 0x10]
jmp 0x4933dc
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4937cc
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x493777
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x493820
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x493870
cmp qword [r13 + 0x20], 0
je 0x49399a
mov r9, qword [r13 + 0x48]
jmp 0x4937fe
cmp qword [r13 + 0x20], 0
je 0x49397b
mov rbx, qword [r13 + 0x48]
jmp 0x493852
cmp byte [rbx + 0x38], 0
jne 0x492e10
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 rcx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r11, [rcx + rax - 1]
mov qword [rbx + 0x20], rcx
mov qword [rbx + 0x18], r11
jae 0x493930
mov byte [rcx + rax], 0
add qword [rbx + 0x18], 1
mov rcx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
movzx eax, byte [rcx]
jmp 0x492e10
cmp qword [r13 + 0x20], 0
je 0x4939b9
mov rbx, qword [r13 + 0x48]
jmp 0x4937a9
cmp qword [r13 + 0x20], 0
je 0x4939d8
mov rdx, qword [r13 + 0x48]
jmp 0x493758
mov ecx, 1
call fcn.004a9400
mov rcx, qword [r13 + 0x30]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov r12, qword [r13 + 0x38]
jmp 0x493735
mov ecx, 1
call fcn.004a9400
mov r14, qword [r13 + 0x38]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov rcx, qword [r13 + 0x30]
jmp 0x4938d4
mov ecx, 1
call fcn.004a9400
mov r14, qword [r13 + 0x38]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov rcx, qword [r13 + 0x30]
jmp 0x4938c0
mov ecx, 1
call fcn.004a9400
mov r14, qword [r13 + 0x38]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov rcx, qword [r13 + 0x30]
jmp 0x49393f
mov ecx, 1
call fcn.004a9400
mov r14, qword [r13 + 0x38]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov rcx, qword [r13 + 0x30]
jmp 0x493953
mov r9, rdx
mov rdx, qword [rbx + 0x30]
jmp 0x4924c2
mov rdx, rcx
mov r9, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jmp 0x492c5d
xor esi, esi
jmp 0x492d02
mov rcx, rdx
xor edi, edi
jmp 0x492c82
mov r15, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jmp 0x492722
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rsi, qword [rdx + 0x20]
cmp rsi, qword [rdx + 0x18]
mov rbp, rcx
mov rbx, rdx
mov r15, r8
jb 0x494940
cmp byte [rdx + 0x38], 0
je 0x4949c0
xor r14d, r14d
lea r13, [0x004bb740]
jmp 0x4946bc
add rsi, 1
mov qword [rbx + 0x20], rsi
mov rdx, qword [rbp + 0x18]
mov r10, qword [rbp + 0x20]
lea rsi, [rdx + 1]
cmp rsi, r10
ja 0x494950
mov qword [rbp + 0x18], rsi
add r14d, 1
mov byte [rdx], dil
mov rsi, qword [rbx + 0x20]
movzx edi, byte [rsi]
cmp dil, 0x5c
je 0x494740
cmp dil, 0x22
je 0x4947c0
movsx ecx, dil
cmp ecx, 0x1f
jbe 0x494925
cmp qword [rbx + 0x18], rsi
ja 0x494690
cmp byte [rbx + 0x38], 0
jne 0x494698
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 0x494698
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x494698
mov rcx, qword [rbx + 0x18]
mov r9, qword [rbx + 0x30]
mov r11, qword [rbx + 8]
cmp rcx, rsi
ja 0x494820
cmp byte [rbx + 0x38], 0
mov edi, 0x5c
je 0x494a12
cmp byte [rbx + 0x38], 0
jne 0x49484c
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 rsi, [r9 + rax - 1]
mov qword [rbx + 0x20], r9
mov qword [rbx + 0x18], rsi
jae 0x49484c
mov byte [r9 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49484c
cmp qword [rbx + 0x18], rsi
ja 0x494871
cmp byte [rbx + 0x38], 0
jne 0x494879
mov r13, qword [rbx + 0x28]
add qword [rbx + 0x30], r13
mov edx, 1
mov r8, qword [rbx + 0x10]
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
call sub.msvcrt.dll_fread
mov rdi, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea r8, [rdi + rax - 1]
mov qword [rbx + 0x20], rdi
mov qword [rbx + 0x18], r8
jae 0x494879
mov byte [rdi + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x494879
lea rdx, [rsi + 1]
mov qword [rbx + 0x20], rdx
movzx r10d, byte [rdx]
movzx edi, byte [r13 + r10]
test dil, dil
je 0x494bb4
cmp rdx, rcx
jae 0x494764
add rdx, 1
mov qword [rbx + 0x20], rdx
mov r10, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x20]
lea rcx, [r10 + 1]
cmp rcx, rdx
ja 0x494c44
mov qword [rbp + 0x18], rcx
add r14d, 1
mov byte [r10], dil
jmp 0x4946b8
add rsi, 1
mov qword [rbx + 0x20], rsi
mov r10, qword [rbp + 0x18]
mov r9, qword [rbp + 0x20]
lea r11, [r10 + 1]
cmp r11, r9
ja 0x494bf0
mov qword [rbp + 0x18], r11
mov byte [r10], 0
lea r13d, [r14 + 1]
mov eax, dword [rbp + 0x30]
test eax, eax
jne 0x494914
mov rdi, qword [rbp + 0x18]
sub rdi, r13
mov qword [rbp + 0x18], rdi
mov rbx, qword [r15 + 0x38]
mov rdx, qword [r15 + 0x40]
mov rbp, qword [r15 + 0x10]
lea rcx, [rbx + 0x10]
cmp rcx, rdx
ja 0x494b64
test rbx, rbx
mov qword [r15 + 0x38], rcx
je 0x494914
cmp r14d, 0xd
mov qword [rbx], 0
mov qword [rbx + 8], 0
ja 0x494aa0
mov r8d, 0xd
mov edx, 0x1c05
mov r13, rbx
sub r8d, r14d
mov word [rbx + 0xe], dx
mov byte [rbx + 0xd], r8b
mov r8, r14
mov rdx, rdi
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov byte [r13 + r14], 0
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
sub rsi, qword [rbx + 8]
add rsi, qword [rbx + 0x30]
test dil, dil
jne 0x4949b0
mov dword [rbp + 0x30], 0xb
mov qword [rbp + 0x38], rsi
jmp 0x494914
add rsi, 1
mov qword [rdx + 0x20], rsi
jmp 0x494681
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x494b50
sub r10, rcx
lea r11, [r10 + 1]
shr r11, 1
add r11, r10
sub rdx, rcx
lea rax, [rdx + 1]
mov r12, rdx
cmp rax, r11
cmovb rax, r11
test rax, rax
je 0x494a81
mov rdx, rax
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_realloc
mov rcx, qword [rsp + 0x20]
lea rdx, [rax + r12]
add rcx, rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x20], rcx
lea rsi, [rdx + 1]
jmp 0x4946ad
mov dword [rbp + 0x30], 0xa
mov qword [rbp + 0x38], rsi
jmp 0x494914
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 0x494681
mov byte [rsi + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rsi, qword [rbx + 0x20]
jmp 0x494681
mov r12, r9
add r12, 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], r12
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 0x494828
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 0x494828
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_free
xor eax, eax
mov rcx, qword [rsp + 0x20]
jmp 0x494996
mov r15d, 0xc05
test r13, r13
mov dword [rbx], r14d
mov word [rbx + 0xe], r15w
je 0x494af6
mov rax, qword [rbp]
add r13, 7
and r13, 0xfffffffffffffff8
test rax, rax
je 0x494ad6
mov r11, qword [rax + 8]
lea r10, [r13 + r11]
add r11, 0x18
cmp r10, qword [rax]
jbe 0x494b3f
cmp qword [rbp + 8], r13
mov rsi, r13
cmovae rsi, qword [rbp + 8]
cmp qword [rbp + 0x18], 0
je 0x494f8f
mov rcx, rsi
add rcx, 0x18
jne 0x494b15
xor ebp, ebp
xor r13d, r13d
movabs rax, 0xffff000000000000
and rax, qword [rbx + 8]
or rax, rbp
mov qword [rbx + 8], rax
jmp 0x494900
call sub.msvcrt.dll_malloc
test rax, rax
je 0x494af6
mov r9, qword [rbp]
mov qword [rax], rsi
mov r10, r13
mov qword [rax + 8], 0
mov r11d, 0x18
mov qword [rax + 0x10], r9
mov qword [rbp], rax
lea r13, [rax + r11]
mov qword [rax + 8], r10
mov rbp, r13
jmp 0x494afb
cmp qword [rbp], 0
je 0x494f70
mov r11, qword [rbp + 0x28]
jmp 0x49496a
mov rcx, qword [r15 + 0x30]
test rcx, rcx
je 0x494e61
sub rdx, rcx
lea r8, [rdx + 1]
shr r8, 1
add rdx, r8
sub rbx, rcx
lea r12, [rbx + 0x10]
cmp r12, rdx
cmovb r12, rdx
test r12, r12
je 0x494ca3
mov rdx, r12
call sub.msvcrt.dll_realloc
add rbx, rax
mov qword [r15 + 0x30], rax
add rax, r12
mov qword [r15 + 0x40], rax
lea rcx, [rbx + 0x10]
jmp 0x4948c5
sub rsi, r11
add rsi, r9
cmp r10b, 0x75
jne 0x4949b0
cmp rdx, rcx
jb 0x494caf
cmp byte [rbx + 0x38], 0
je 0x4951e7
mov dword [rbp + 0x30], 8
mov qword [rbp + 0x38], rsi
jmp 0x494914
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x494e4d
sub r9, rcx
lea rbx, [r9 + 1]
shr rbx, 1
add r9, rbx
sub r10, rcx
lea rsi, [r10 + 1]
mov r12, r10
cmp rsi, r9
cmovb rsi, r9
test rsi, rsi
je 0x494e9a
mov rdx, rsi
call sub.msvcrt.dll_realloc
lea r10, [rax + r12]
mov qword [rbp + 0x10], rax
add rax, rsi
mov qword [rbp + 0x20], rax
lea r11, [r10 + 1]
jmp 0x49488e
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x494e39
sub rdx, rcx
lea rax, [rdx + 1]
shr rax, 1
add rdx, rax
mov r12, r10
sub r12, rcx
lea r8, [r12 + 1]
cmp r8, rdx
cmovb r8, rdx
test r8, r8
je 0x494ea6
mov rdx, r8
mov qword [rsp + 0x20], r8
call sub.msvcrt.dll_realloc
mov r11, qword [rsp + 0x20]
lea r10, [rax + r12]
mov qword [rbp + 0x10], rax
add rax, r11
mov qword [rbp + 0x20], rax
lea rcx, [r10 + 1]
jmp 0x494861
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x494b9d
add rdx, 1
mov qword [rbx + 0x20], rdx
movsx r12d, byte [rdx]
lea r9d, [r12 - 0x30]
mov r11d, r12d
lea edi, [r12 - 0x30]
cmp r9b, 9
ja 0x4953ab
cmp rdx, rcx
jb 0x494e8d
cmp byte [rbx + 0x38], 0
je 0x495300
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 0x494e7d
lea r12d, [r9 - 0x41]
cmp r12b, 5
jbe 0x494fb6
lea r11d, [r9 - 0x61]
cmp r11b, 5
ja 0x494bd7
sub edi, 0x57
cmp rdx, rcx
jb 0x494ed8
cmp byte [rbx + 0x38], 0
je 0x4952a0
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x494e75
lea r12d, [rax - 0x41]
cmp r12b, 5
jbe 0x494fae
lea r11d, [rax - 0x61]
cmp r11b, 5
ja 0x494bd7
sub edi, 0x57
cmp rdx, rcx
jb 0x494ebc
cmp byte [rbx + 0x38], 0
je 0x495240
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x494e85
lea r12d, [rax - 0x41]
cmp r12b, 5
jbe 0x494fa6
sub eax, 0x61
cmp al, 5
ja 0x494bd7
sub edi, 0x57
cmp rdx, rcx
jb 0x494f63
cmp byte [rbx + 0x38], 0
je 0x495355
mov r9d, dword [rbp + 0x30]
test r9d, r9d
jne 0x494914
lea r10d, [rdi - 0xd800]
cmp r10d, 0x3ff
jbe 0x49544c
cmp edi, 0x7f
jbe 0x494ef4
mov rax, qword [rbp + 0x18]
mov esi, edi
mov r12, qword [rbp + 0x20]
shr esi, 6
cmp edi, 0x7ff
lea rdx, [rax + 1]
ja 0x495177
or esi, 0xffffffc0
cmp rdx, r12
ja 0x495572
mov qword [rbp + 0x18], rdx
mov byte [rax], sil
and edi, 0x3f
mov rax, qword [rbp + 0x18]
or edi, 0xffffff80
lea r8, [rax + 1]
cmp r8, qword [rbp + 0x20]
ja 0x495558
mov qword [rbp + 0x18], r8
add r14d, 2
mov byte [rax], dil
jmp 0x4946b8
cmp qword [rbp], 0
je 0x495497
mov rdx, qword [rbp + 0x28]
jmp 0x494c5e
cmp qword [rbp], 0
je 0x4954b6
mov r9, qword [rbp + 0x28]
jmp 0x494c0a
cmp qword [r15 + 0x20], 0
je 0x495478
mov rdx, qword [r15 + 0x48]
jmp 0x494b7e
sub edi, 0x30
jmp 0x494d65
sub edi, 0x30
jmp 0x494d23
sub edi, 0x30
jmp 0x494da4
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x494ce9
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x494c2c
mov qword [rsp + 0x20], r8
call sub.msvcrt.dll_free
xor eax, eax
mov r11, qword [rsp + 0x20]
jmp 0x494c8b
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 0x494d78
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 0x494d36
mov rdx, qword [rbp + 0x18]
mov r11, qword [rbp + 0x20]
lea rsi, [rdx + 1]
cmp rsi, r11
jbe 0x4946ad
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x495594
sub r11, rcx
lea r10, [r11 + 1]
shr r10, 1
add r11, r10
sub rdx, rcx
lea r12, [rdx + 1]
mov qword [rsp + 0x20], rdx
cmp r12, r11
cmovb r12, r11
test r12, r12
je 0x49554c
mov rdx, r12
call sub.msvcrt.dll_realloc
mov rdx, qword [rsp + 0x20]
mov qword [rbp + 0x10], rax
add rdx, rax
add rax, r12
mov qword [rbp + 0x20], rax
lea rsi, [rdx + 1]
jmp 0x4946ad
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x494db7
mov ecx, 1
call fcn.004a9400
mov rdx, qword [rbp + 0x18]
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x10]
jmp 0x494b5b
mov ecx, 1
call fcn.004a9400
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
jmp 0x494aed
sub edi, 0x37
jmp 0x494da4
sub edi, 0x37
jmp 0x494d65
sub edi, 0x37
jmp 0x494d23
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp byte [rdx], 0x75
jne 0x495468
cmp rdx, rcx
jb 0x4954d5
cmp byte [rbx + 0x38], 0
jne 0x494bd7
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]
mov dword [rsp + 0x20], r10d
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r10d, dword [rsp + 0x20]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x49503c
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 r8d, byte [rdx]
lea r11d, [r8 - 0x30]
mov eax, r8d
lea edi, [r8 - 0x30]
cmp r11b, 9
ja 0x4958a9
cmp rdx, rcx
jb 0x495532
cmp byte [rbx + 0x38], 0
je 0x4955cb
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 0x49552a
lea r11d, [r9 - 0x41]
cmp r11b, 5
jbe 0x495750
lea r12d, [r9 - 0x61]
cmp r12b, 5
ja 0x494bd7
sub edi, 0x57
cmp rdx, rcx
jb 0x49550e
cmp byte [rbx + 0x38], 0
je 0x4956e6
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x495506
lea r12d, [rax - 0x41]
cmp r12b, 5
jbe 0x4957c2
lea r11d, [rax - 0x61]
cmp r11b, 5
ja 0x494bd7
sub edi, 0x57
cmp rdx, rcx
jb 0x4954ea
cmp byte [rbx + 0x38], 0
je 0x495758
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x4954e2
lea r11d, [rax - 0x41]
cmp r11b, 5
jbe 0x49558c
sub eax, 0x61
cmp al, 5
ja 0x494bd7
sub edi, 0x57
cmp rdx, rcx
jb 0x49553f
cmp byte [rbx + 0x38], 0
je 0x49568d
mov r9d, dword [rbp + 0x30]
test r9d, r9d
jne 0x494914
sub edi, 0xdc00
cmp edi, 0x3ff
ja 0x495468
shl r10d, 0xa
mov rax, qword [rbp + 0x18]
mov r12, qword [rbp + 0x20]
or edi, r10d
add edi, 0x10000
mov esi, edi
lea rdx, [rax + 1]
shr esi, 6
mov r8d, edi
shr r8d, 0xc
cmp edi, 0xffff
ja 0x4953c4
or r8d, 0xffffffe0
cmp r12, rdx
jb 0x495853
mov qword [rbp + 0x18], rdx
mov byte [rax], r8b
and esi, 0x3f
mov r8, qword [rbp + 0x18]
or esi, 0xffffff80
lea r11, [r8 + 1]
cmp r11, qword [rbp + 0x20]
ja 0x495878
mov qword [rbp + 0x18], r11
mov byte [r8], sil
and edi, 0x3f
mov r12, qword [rbp + 0x18]
or edi, 0xffffff80
lea rcx, [r12 + 1]
cmp rcx, qword [rbp + 0x20]
ja 0x4955b0
mov qword [rbp + 0x18], rcx
add r14d, 3
mov byte [r12], dil
jmp 0x4946b8
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 0x494cb7
mov byte [rdx + rax], 0
mov r8, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rdx, qword [rbx + 0x20]
lea rcx, [r8 + 1]
mov qword [rbx + 0x18], rcx
jmp 0x494cb7
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 0x495290
mov byte [rdx + rax], 0
mov rcx, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [rcx + 1]
mov qword [rbx + 0x18], rcx
movsx r9d, byte [rdx]
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x494d78
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 0x4952f0
mov byte [rdx + rax], 0
mov r8, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [r8 + 1]
mov qword [rbx + 0x18], rcx
movsx r9d, byte [rdx]
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x494d36
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 0x494ce9
mov byte [rdx + rax], 0
mov rax, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [rax + 1]
mov qword [rbx + 0x18], rcx
jmp 0x494ce5
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 r10, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r10 + rax - 1]
mov qword [rbx + 0x20], r10
mov qword [rbx + 0x18], rcx
jae 0x494db7
mov byte [r10 + rax], 0
mov rcx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [rcx + 1]
mov qword [rbx + 0x18], rcx
jmp 0x494db7
lea r10d, [r12 - 0x41]
cmp r10b, 5
ja 0x4958cf
lea edi, [r12 - 0x37]
jmp 0x494cd2
mov r11d, edi
shr r11d, 0x12
or r11d, 0xfffffff0
cmp r12, rdx
jb 0x495824
mov qword [rbp + 0x18], rdx
mov byte [rax], r11b
mov r10d, r8d
mov r12, qword [rbp + 0x18]
and r10d, 0x3f
or r10d, 0xffffff80
lea rcx, [r12 + 1]
cmp rcx, qword [rbp + 0x20]
ja 0x4957fe
mov qword [rbp + 0x18], rcx
mov byte [r12], r10b
and esi, 0x3f
mov r9, qword [rbp + 0x18]
or esi, 0xffffff80
lea rax, [r9 + 1]
cmp rax, qword [rbp + 0x20]
ja 0x4957e4
mov qword [rbp + 0x18], rax
mov byte [r9], sil
and edi, 0x3f
mov rsi, qword [rbp + 0x18]
or edi, 0xffffff80
lea rdx, [rsi + 1]
cmp rdx, qword [rbp + 0x20]
ja 0x4957ca
mov qword [rbp + 0x18], rdx
add r14d, 4
mov byte [rsi], dil
jmp 0x4946b8
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x5c
jne 0x495468
cmp rdx, rcx
jb 0x494fbe
cmp byte [rbx + 0x38], 0
je 0x49562a
mov dword [rbp + 0x30], 9
mov qword [rbp + 0x38], rsi
jmp 0x494914
mov ecx, 1
call fcn.004a9400
mov rcx, qword [r15 + 0x30]
mov qword [r15 + 0x20], rax
mov qword [r15 + 0x28], rax
mov rbx, qword [r15 + 0x38]
jmp 0x494e6c
mov ecx, 1
call fcn.004a9400
mov r10, qword [rbp + 0x18]
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x10]
jmp 0x494e44
mov ecx, 1
call fcn.004a9400
mov r10, qword [rbp + 0x18]
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x10]
jmp 0x494e58
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49503c
sub edi, 0x30
jmp 0x495127
lea r12, [rdx + 1]
mov qword [rbx + 0x20], r12
movsx r9d, byte [rdx + 1]
mov rdx, r12
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x4950fb
sub edi, 0x30
jmp 0x4950e8
lea r11, [rdx + 1]
mov qword [rbx + 0x20], r11
movsx r9d, byte [rdx + 1]
mov rdx, r11
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x4950b9
sub edi, 0x30
jmp 0x4950a6
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49506c
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49513a
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x494f47
mov edx, 1
mov rcx, rbp
invalid
mov edx, 1
mov rcx, rbp
or byte [rdx], 0xd
add byte [rax], al
mov rax, qword [rbp + 0x18]
lea rdx, [rax + 1]
jmp 0x494e0a
sub edi, 0x37
jmp 0x495127
cmp qword [rbp], 0
je 0x495892
mov r11, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
jmp 0x494f23
mov rcx, rbp
mov edx, 1
call fcn.00496de0
mov r12, qword [rbp + 0x18]
lea rcx, [r12 + 1]
jmp 0x4951d6
mov dword [rsp + 0x20], r10d
mov r10, qword [rbx + 0x28]
mov edx, 1
add qword [rbx + 0x30], r10
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 qword [rbx + 0x10], rax
mov qword [rbx + 0x28], rax
mov r10d, dword [rsp + 0x20]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jbe 0x49506c
mov byte [rdx + rax], 0
mov rdx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [rdx + 1]
mov qword [rbx + 0x18], rcx
jmp 0x495068
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], r10d
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r10d, dword [rsp + 0x20]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x494fc6
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
jmp 0x494fc6
mov dword [rsp + 0x20], r10d
mov r10, qword [rbx + 0x28]
mov edx, 1
add qword [rbx + 0x30], r10
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
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
mov r10d, dword [rsp + 0x20]
lea rcx, [r12 + rax - 1]
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x18], rcx
jae 0x49513a
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49513a
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]
mov dword [rsp + 0x20], r10d
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r10d, dword [rsp + 0x20]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x495740
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 0x4950b9
sub edi, 0x37
jmp 0x4950a6
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], r10d
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r10d, dword [rsp + 0x20]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x4957b2
mov byte [rdx + rax], 0
mov rax, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
mov byte [rbx + 0x38], 1
lea rcx, [rax + 1]
mov qword [rbx + 0x18], rcx
movsx r9d, byte [rdx]
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x4950fb
sub edi, 0x37
jmp 0x4950e8
mov edx, 1
mov rcx, rbp
sub byte [rax + 0x4800000a], dh
mov esi, dword [rbp + 0x18]
lea rdx, [rsi + 1]
jmp 0x49543c
mov edx, 1
mov rcx, rbp
invalid
mov rcx, rbp
mov edx, 1
mov byte [rsp + 0x20], r10b
call fcn.00496de0
mov r12, qword [rbp + 0x18]
movzx r10d, byte [rsp + 0x20]
lea rcx, [r12 + 1]
jmp 0x4953fd
mov edx, 1
mov rcx, rbp
mov dword [rsp + 0x28], r8d
mov byte [rsp + 0x20], r11b
call fcn.00496de0
mov rax, qword [rbp + 0x18]
mov r8d, dword [rsp + 0x28]
movzx r11d, byte [rsp + 0x20]
lea rdx, [rax + 1]
jmp 0x4953d8
mov edx, 1
mov rcx, rbp
mov byte [rsp + 0x20], r8b
call fcn.00496de0
mov rax, qword [rbp + 0x18]
movzx r8d, byte [rsp + 0x20]
lea rdx, [rax + 1]
jmp 0x495197
mov edx, 1
mov rcx, rbp
call fcn.00496de0
mov r8, qword [rbp + 0x18]
lea r11, [r8 + 1]
jmp 0x4951b6
mov ecx, 1
call fcn.004a9400
mov qword [rbp], rax
mov qword [rbp + 8], rax
jmp 0x49559f
lea r12d, [r8 - 0x41]
lea edi, [r8 - 0x37]
cmp r12b, 5
jbe 0x495055
sub eax, 0x61
cmp al, 5
ja 0x494bd7
lea edi, [r8 - 0x57]
jmp 0x495055
sub r11d, 0x61
cmp r11b, 5
ja 0x494bd7
lea edi, [r12 - 0x57]
jmp 0x494cd2