Function at 0x4a6b10
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 0x49db75
jle 0x49d740
cmp al, 0x74
je 0x49d870
cmp al, 0x7b
je 0x49d9c0
cmp al, 0x6e
je 0x49d8b0
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 0x4a4b20
cmp al, 0x22
je 0x49d9a4
cmp al, 0x5b
jne 0x49d71f
cmp r10, qword [rdx + 0x18]
jb 0x49dd40
cmp byte [rdx + 0x38], 0
je 0x49e420
mov r9, qword [rdi + 0x38]
mov r8, qword [rdi + 0x40]
lea r10, [r9 + 0x10]
cmp r10, r8
ja 0x49e7a0
test r9, r9
mov qword [rdi + 0x38], r10
je 0x49d793
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 0x49d921
movabs rbp, 0x100002600
cmp al, 0x2f
jne 0x49dbf0
cmp qword [rbx + 0x18], rdx
ja 0x49e0e0
cmp byte [rbx + 0x38], 0
je 0x49e4c2
cmp byte [rbx + 0x38], 0
je 0x49f8ea
mov rdx, qword [rbx + 0x20]
movzx r12d, byte [rdx]
jmp 0x49d802
lea r11, [rdx + 1]
mov qword [rbx + 0x20], r11
movzx eax, byte [rdx + 1]
mov rdx, r11
cmp r12b, 0xa
je 0x49e1ac
mov r12d, eax
test r12b, r12b
je 0x49f6b3
cmp qword [rbx + 0x18], rdx
ja 0x49d7e6
cmp byte [rbx + 0x38], 0
mov eax, r12d
jne 0x49d7f5
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 0x49d863
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 0x49d7f5
mov rbp, qword [rdx + 0x18]
cmp r10, rbp
jb 0x49dcb3
cmp byte [rdx + 0x38], 0
mov r12, qword [rdx + 0x30]
mov rcx, qword [rdx + 8]
je 0x49e3c0
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 0x49dde3
cmp byte [rdx + 0x38], 0
mov r12, qword [rdx + 0x30]
mov rcx, qword [rdx + 8]
jne 0x49d890
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 0x49ddeb
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 0x49ddeb
bt r12, rax
jae 0x49dbf0
cmp qword [rbx + 0x18], rdx
ja 0x49d990
cmp byte [rbx + 0x38], 0
jne 0x49d7a4
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 0x49d984
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 0x49d7a4
lea r13, [rdx + 1]
mov qword [rbx + 0x20], r13
movzx eax, byte [rdx + 1]
mov rdx, r13
jmp 0x49d7a4
xor r9d, r9d
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp 0x4a6b10
cmp r10, qword [rdx + 0x18]
jb 0x49dd50
cmp byte [rdx + 0x38], 0
je 0x49e370
mov r10, qword [rdi + 0x38]
mov r9, qword [rdi + 0x40]
lea r11, [r10 + 0x10]
cmp r11, r9
ja 0x49e74c
test r10, r10
mov qword [rdi + 0x38], r11
je 0x49da07
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 0x49daf0
movabs rbp, 0x100002600
cmp r13b, 0x2f
jne 0x49dc50
cmp qword [rbx + 0x18], rdx
ja 0x49dfe5
cmp byte [rbx + 0x38], 0
je 0x49e470
cmp byte [rbx + 0x38], 0
je 0x49f99c
mov rdx, qword [rbx + 0x20]
movzx r12d, byte [rdx]
jmp 0x49da83
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx r13d, byte [rdx + 1]
mov rdx, rcx
cmp r12b, 0xa
je 0x49e0b2
mov r12d, r13d
test r12b, r12b
je 0x49f6ba
cmp qword [rbx + 0x18], rdx
ja 0x49da66
cmp byte [rbx + 0x38], 0
mov r13d, r12d
jne 0x49da76
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 0x49dae4
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 0x49da76
bt r12, r13
jae 0x49dc50
cmp qword [rbx + 0x18], rdx
ja 0x49db60
cmp byte [rbx + 0x38], 0
jne 0x49da20
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 0x49db53
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 0x49da20
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movzx r13d, byte [rdx + 1]
mov rdx, rax
jmp 0x49da20
mov r9, qword [rdx + 0x18]
cmp r10, r9
jb 0x49dd60
cmp byte [rdx + 0x38], 0
mov r12, qword [rdx + 0x30]
mov rcx, qword [rdx + 8]
jne 0x49d890
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 0x49dd68
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 0x49dd68
mov ebp, dword [rsi + 0x30]
test ebp, ebp
jne 0x49d8a1
cmp byte [rdx], 0x5d
jne 0x49e83c
cmp qword [rbx + 0x18], rdx
ja 0x49e6e0
cmp byte [rbx + 0x38], 0
je 0x49e5bc
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 0x49d8a1
movzx r8d, byte [rdx]
cmp r8b, 0x7d
jne 0x49ecc0
cmp qword [rbx + 0x18], rdx
ja 0x49e6b0
cmp byte [rbx + 0x38], 0
je 0x49e60b
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 0x49e82f
cmp r10, rbp
jb 0x49de70
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x49d890
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 0x49de78
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 0x49de78
add r10, 1
mov qword [rdx + 0x20], r10
jmp 0x49d760
add r10, 1
mov qword [rdx + 0x20], r10
jmp 0x49d9d4
add r10, 1
mov qword [rdx + 0x20], r10
cmp byte [r10], 0x61
jne 0x49e82f
cmp r10, r9
jb 0x49def3
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x49d890
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 0x49defb
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 0x49defb
add r10, 1
mov qword [rdx + 0x20], r10
cmp byte [r10], 0x75
jne 0x49e82f
cmp r10, r12
jb 0x49df80
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x49d890
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 0x49df88
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 0x49df88
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x75
jne 0x49e82f
cmp r10, rbp
jb 0x49e200
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x49d890
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 0x49e208
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 0x49e208
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x6c
jne 0x49e82f
cmp r10, r9
jb 0x49e261
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x49d890
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 0x49e269
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 0x49e269
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x6c
jne 0x49e82f
cmp r10, r12
jb 0x49e1d0
cmp byte [rbx + 0x38], 0
je 0x49e514
cmp byte [rbx + 0x38], 0
je 0x49e56e
mov r11, qword [rdi + 0x38]
mov r10, qword [rdi + 0x40]
lea rcx, [r11 + 0x10]
cmp rcx, r10
ja 0x49ee94
test r11, r11
mov qword [rdi + 0x38], rcx
je 0x49d8a1
mov qword [r11], 0
mov qword [r11 + 8], 0
jmp 0x49d8a1
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx r9d, byte [rdx]
cmp r9b, 0x2a
jne 0x49fa7c
cmp qword [rbx + 0x18], rdx
ja 0x49e7fd
cmp byte [rbx + 0x38], 0
je 0x49f091
test r9b, r9b
je 0x49f051
mov r13, qword [rbx + 0x18]
cmp r9b, 0x2a
mov r11, r13
jne 0x49e7f4
cmp r13, rdx
ja 0x49e040
cmp byte [rbx + 0x38], 0
je 0x49f1a7
cmp r13, rdx
mov r11, r13
jbe 0x49e02e
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx r9d, byte [rdx]
cmp r9b, 0x2f
jne 0x49e00f
cmp rdx, r11
jb 0x49e340
cmp byte [rbx + 0x38], 0
jne 0x49da3e
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 0x49e0ae
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 0x49da34
bt rbp, r13
jae 0x49da34
cmp qword [rbx + 0x18], rdx
ja 0x49e340
cmp byte [rbx + 0x38], 0
jne 0x49e0b2
jmp 0x49e065
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx eax, byte [rdx]
cmp al, 0x2a
jne 0x49fa9d
cmp rdx, qword [rbx + 0x18]
jb 0x49e81b
cmp byte [rbx + 0x38], 0
je 0x49f0e3
test al, al
je 0x49f051
mov r8, qword [rbx + 0x18]
cmp al, 0x2a
mov r9, r8
jne 0x49e812
cmp r8, rdx
ja 0x49e135
cmp byte [rbx + 0x38], 0
je 0x49f200
cmp r8, rdx
mov r9, r8
jbe 0x49e123
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx eax, byte [rdx]
cmp al, 0x2f
jne 0x49e107
cmp rdx, r9
jb 0x49e355
cmp byte [rbx + 0x38], 0
jne 0x49d7be
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 0x49e1a9
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 0x49d7b6
bt rbp, rax
jae 0x49d7b6
cmp rdx, qword [rbx + 0x18]
jb 0x49e355
cmp byte [rbx + 0x38], 0
jne 0x49e1ac
jmp 0x49e160
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x6c
jne 0x49e82f
cmp r10, r12
jae 0x49dfa5
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x49dfaf
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x65
jne 0x49e82f
cmp r10, rbp
jb 0x49e6c0
cmp byte [rbx + 0x38], 0
je 0x49e65b
mov r11, qword [rdi + 0x38]
mov r10, qword [rdi + 0x40]
lea rcx, [r11 + 0x10]
cmp rcx, r10
ja 0x49ee40
test r11, r11
mov qword [rdi + 0x38], rcx
je 0x49d8a1
movabs rdi, 0xa000000000000
mov qword [r11], 0
mov qword [r11 + 8], rdi
jmp 0x49d8a1
add r10, 1
mov qword [rbx + 0x20], r10
cmp byte [r10], 0x73
jne 0x49e82f
cmp r10, r9
jb 0x49e6d0
cmp byte [rbx + 0x38], 0
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x49d890
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 0x49e2e0
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 0x49e82f
cmp r10, r9
jb 0x49e6f0
cmp byte [rbx + 0x38], 0
je 0x49e6fd
mov rdx, qword [rdi + 0x38]
mov r8, qword [rdi + 0x40]
lea rcx, [rdx + 0x10]
cmp rcx, r8
ja 0x49eee8
test rdx, rdx
mov qword [rdi + 0x38], rcx
je 0x49d8a1
movabs rdi, 0x9000000000000
mov qword [rdx], 0
mov qword [rdx + 8], rdi
jmp 0x49d8a1
lea r12, [rdx + 1]
mov qword [rbx + 0x20], r12
movzx r13d, byte [rdx + 1]
mov rdx, r12
jmp 0x49e0b2
lea r12, [rdx + 1]
mov qword [rbx + 0x20], r12
movzx eax, byte [rdx + 1]
mov rdx, r12
jmp 0x49e1ac
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 0x49d9d4
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49d9d4
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 0x49dcbb
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 0x49dcbb
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 0x49d760
mov byte [rbp + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49d760
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 0x49dfed
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x49dfed
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 0x49e0e8
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x49e0e8
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 0x49e1d8
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 0x49e1d8
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 0x49dfaf
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49dfaf
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 0x49dc18
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49dc18
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 0x49dc7d
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49dc7d
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 0x49e225
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49e225
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49dc7d
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x49e225
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x49e2e0
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49dc18
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x49e2fd
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 0x49e2fd
mov byte [rbp + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49e2fd
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x49f024
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 0x49ef48
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 0x49d9e9
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x49f010
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 0x49ef3c
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 0x49d775
cmp rdx, r13
jae 0x49e005
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx r9d, byte [rdx + 1]
mov rdx, r8
jmp 0x49e00f
cmp rdx, r8
jae 0x49e0fd
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx eax, byte [rdx + 1]
mov rdx, rcx
jmp 0x49e107
mov r12, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jmp 0x49d890
xor r12d, r12d
movabs rbp, 0x100002600
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.0049d6e0
mov r13d, dword [rsi + 0x30]
test r13d, r13d
jne 0x49d8a1
mov rdx, qword [rbx + 0x20]
add r12d, 1
movzx r10d, byte [rdx]
cmp r10b, 0x20
jbe 0x49e940
cmp r10b, 0x2f
jne 0x49e9db
cmp qword [rbx + 0x18], rdx
ja 0x49ec5b
cmp byte [rbx + 0x38], 0
je 0x49ef54
cmp byte [rbx + 0x38], 0
je 0x49fb7b
mov r11, qword [rbx + 0x20]
movzx r13d, byte [r11]
mov rdx, r11
test r13b, r13b
je 0x49e8cd
cmp r11, qword [rbx + 0x18]
jae 0x49f416
add r11, 1
mov qword [rbx + 0x20], r11
cmp r13b, 0xa
jne 0x49e8a6
mov rdx, r11
movzx r10d, byte [rdx]
cmp r10b, 0x20
ja 0x49e87a
bt rbp, r10
jae 0x49e87a
cmp rdx, qword [rbx + 0x18]
jb 0x49ec32
cmp byte [rbx + 0x38], 0
jne 0x49e8d1
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 0x49e8cd
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 0x49e8d1
bt rbp, r10
jae 0x49e9db
cmp qword [rbx + 0x18], rdx
ja 0x49e9b0
cmp byte [rbx + 0x38], 0
jne 0x49e870
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 0x49e86c
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 0x49e870
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movzx r10d, byte [rdx + 1]
mov rdx, rax
jmp 0x49e870
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 0x49d8a1
movzx eax, byte [rdx]
cmp al, 0x2c
jne 0x49f148
cmp qword [rbx + 0x18], rdx
ja 0x49eab0
cmp byte [rbx + 0x38], 0
je 0x49eadd
cmp al, 0x2f
jne 0x49ebe6
cmp rdx, qword [rbx + 0x18]
jb 0x49ede2
cmp byte [rbx + 0x38], 0
je 0x49efbe
cmp byte [rbx + 0x38], 0
je 0x49fad3
mov rdx, qword [rbx + 0x20]
jmp 0x49ea43
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp r13b, 0xa
je 0x49eb53
movzx r13d, byte [rdx]
test r13b, r13b
je 0x49eb53
cmp rdx, qword [rbx + 0x18]
jb 0x49ea31
cmp byte [rbx + 0x38], 0
jne 0x49ea39
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 0x49ea39
mov byte [rcx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x49ea39
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movzx eax, byte [rdx + 1]
mov rdx, rcx
cmp al, 0x20
ja 0x49ea05
bt rbp, rax
jae 0x49ebe6
cmp rdx, qword [rbx + 0x18]
jb 0x49eab0
cmp byte [rbx + 0x38], 0
jne 0x49eabf
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 0x49eb26
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 0x49eabf
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp byte [rdx], 0x2f
jne 0x49ee3a
cmp rdx, r8
jb 0x49f476
cmp byte [rbx + 0x38], 0
je 0x49f898
mov rdx, qword [rbx + 0x20]
movzx eax, byte [rdx]
nop word cs:[rax + rax]
cmp al, 0x20
ja 0x49ea05
bt rbp, rax
jae 0x49ea05
cmp qword [rbx + 0x18], rdx
ja 0x49ec47
cmp byte [rbx + 0x38], 0
jne 0x49eb60
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 0x49eb53
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 0x49eb60
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 0x49d8a1
cmp byte [rdx], 0x5d
jne 0x49e849
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.0049c150
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp fcn.004aa870
lea rax, [rdx + 1]
mov qword [rbx + 0x20], rax
movzx r10d, byte [rdx + 1]
mov rdx, rax
jmp 0x49e8d1
lea r8, [rdx + 1]
mov qword [rbx + 0x20], r8
movzx eax, byte [rdx + 1]
mov rdx, r8
jmp 0x49eb60
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx r11d, byte [rdx]
cmp r11b, 0x2a
jne 0x49fb43
cmp rdx, qword [rbx + 0x18]
jb 0x49f3b0
cmp byte [rbx + 0x38], 0
je 0x49f5e9
movzx r13d, byte [rdx]
test r13b, r13b
je 0x49e9c5
cmp r13b, 0x2a
mov rcx, qword [rbx + 0x18]
jne 0x49f9ec
cmp rcx, rdx
ja 0x49f33a
cmp byte [rbx + 0x38], 0
je 0x49f63b
mov rdx, qword [rbx + 0x20]
jmp 0x49ec85
xor ebp, ebp
cmp r8b, 0x22
jne 0x49f322
mov r9d, 1
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call 0x4a6b10
mov r10d, dword [rsi + 0x30]
test r10d, r10d
jne 0x49d8a1
mov rdx, rbx
mov rcx, rsi
call fcn.004a9fe0
mov r11d, dword [rsi + 0x30]
test r11d, r11d
jne 0x49d8a1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x3a
jne 0x49f3e4
cmp rax, qword [rbx + 0x18]
jb 0x49f044
cmp byte [rbx + 0x38], 0
je 0x49f2d3
mov rdx, rbx
mov rcx, rsi
call fcn.004a9fe0
mov r9d, dword [rsi + 0x30]
test r9d, r9d
jne 0x49d8a1
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.0049d6e0
mov r13d, dword [rsi + 0x30]
test r13d, r13d
jne 0x49d8a1
mov rdx, rbx
mov rcx, rsi
call fcn.004a9fe0
mov edx, dword [rsi + 0x30]
test edx, edx
jne 0x49d8a1
mov r10, qword [rbx + 0x20]
add ebp, 1
movzx r11d, byte [r10]
cmp r11b, 0x2c
je 0x49f271
cmp r11b, 0x7d
jne 0x49f259
cmp r10, qword [rbx + 0x18]
jb 0x49f3bd
cmp byte [rbx + 0x38], 0
je 0x49f730
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 0x49f483
movabs rax, 0xffff000000000000
and qword [rbx - 8], rax
mov dword [rbx - 0xc], ebp
mov dword [rbx - 0x10], ebp
jmp 0x49d8a1
add rdx, 1
mov qword [rbx + 0x20], rdx
movzx r9d, byte [rdx]
cmp r9b, 0x2a
jne 0x49fb22
cmp rdx, qword [rbx + 0x18]
jb 0x49f3ca
cmp byte [rbx + 0x38], 0
je 0x49f7f7
movzx r10d, byte [rdx]
test r10b, r10b
je 0x49ebd0
cmp r10b, 0x2a
mov r8, qword [rbx + 0x18]
jne 0x49f939
cmp r8, rdx
ja 0x49eb2b
cmp byte [rbx + 0x38], 0
je 0x49f77f
mov rdx, qword [rbx + 0x20]
jmp 0x49ee0c
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x49f069
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 0x49efa6
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 0x49e23a
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x49f07d
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 0x49efb2
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 0x49dfc4
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x49f134
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 0x49f038
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 0x49e312
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x49e7dc
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x49e788
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 0x49ec63
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x49ec63
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x49ee7c
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x49eed0
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 0x49edea
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x49edea
cmp qword [rdi + 0x20], 0
je 0x49f5ca
mov r8, qword [rdi + 0x48]
jmp 0x49e7ba
cmp qword [rdi + 0x20], 0
je 0x49f694
mov r9, qword [rdi + 0x48]
jmp 0x49e766
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x49ef24
add rax, 1
mov qword [rbx + 0x20], rax
jmp 0x49ed26
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [rsi + 0x30], 0x11
mov qword [rsi + 0x38], rdx
jmp 0x49d8a1
cmp qword [rdi + 0x20], 0
je 0x49f517
mov r10, qword [rdi + 0x48]
jmp 0x49ee5a
cmp qword [rdi + 0x20], 0
je 0x49f6c2
mov r10, qword [rdi + 0x48]
jmp 0x49eeae
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 0x49f0da
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 0x49e00f
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 0x49f12c
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 0x49e107
cmp qword [rdi + 0x20], 0
je 0x49f7d8
mov r8, qword [rdi + 0x48]
jmp 0x49ef02
cmp al, 0x5d
jne 0x49fa4a
cmp qword [rbx + 0x18], rdx
ja 0x49f3d7
cmp byte [rbx + 0x38], 0
je 0x49f849
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 0x49f536
movabs r13, 0xffff000000000000
and qword [rbx - 8], r13
mov dword [rbx - 0xc], r12d
mov dword [rbx - 0x10], r12d
jmp 0x49d8a1
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 0x49e048
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 0x49e048
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 0x49e13d
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 0x49e13d
sub r10, qword [rbx + 8]
add r10, qword [rbx + 0x30]
mov dword [rsi + 0x30], 6
mov qword [rsi + 0x38], r10
jmp 0x49d8a1
cmp r10, qword [rbx + 0x18]
jb 0x49f3fc
cmp byte [rbx + 0x38], 0
je 0x49f6e1
mov rdx, rbx
mov rcx, rsi
call fcn.004a9fe0
mov eax, dword [rsi + 0x30]
test eax, eax
jne 0x49d8a1
mov rdx, qword [rbx + 0x20]
movzx r8d, byte [rdx]
cmp r8b, 0x7d
jne 0x49ecc2
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.0049c2a0
jmp 0x49ec1e
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 0x49ed26
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49ed26
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [rsi + 0x30], 4
mov qword [rsi + 0x38], rdx
jmp 0x49d8a1
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp byte [rdx], 0x2f
jne 0x49ecb3
cmp rdx, rcx
jb 0x49f409
cmp byte [rbx + 0x38], 0
jne 0x49e8cd
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 0x49e8cd
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x49e8cd
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49ec85
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x49eda2
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49ee0c
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49f164
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x30]
mov dword [rsi + 0x30], 5
mov qword [rsi + 0x38], rax
jmp 0x49d8a1
add r10, 1
mov qword [rbx + 0x20], r10
jmp 0x49f285
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49e8cd
cmp byte [rbx + 0x38], 0
jne 0x49e8c4
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 0x49e8c4
mov byte [r9 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov r11, qword [rbx + 0x20]
jmp 0x49e8c4
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49eb53
test r12, r12
je 0x49f4bf
mov rax, qword [rsi]
mov rdi, r12
test rax, rax
je 0x49f49f
mov r8, qword [rax + 8]
add r8, r12
cmp r8, qword [rax]
jbe 0x49f505
cmp qword [rsi + 8], rdi
mov r13, rdi
cmovae r13, qword [rsi + 8]
cmp qword [rsi + 0x18], 0
je 0x49fabc
mov rcx, r13
add rcx, 0x18
jne 0x49f4e6
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 0x49edd7
call sub.msvcrt.dll_malloc
test rax, rax
je 0x49f4bf
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 0x49f4c1
mov ecx, 1
call fcn.004c0cf0
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r11, qword [rdi + 0x38]
jmp 0x49f074
test rbp, rbp
je 0x49f572
mov rax, qword [rsi]
mov rdi, rbp
test rax, rax
je 0x49f552
mov r9, qword [rax + 8]
add r9, rbp
cmp r9, qword [rax]
jbe 0x49f5b8
cmp qword [rsi + 8], rdi
mov r13, rdi
cmovae r13, qword [rsi + 8]
cmp qword [rsi + 0x18], 0
je 0x49fb64
mov rcx, r13
add rcx, 0x18
jne 0x49f599
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 0x49f19a
call sub.msvcrt.dll_malloc
test rax, rax
je 0x49f572
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 0x49f574
mov ecx, 1
call fcn.004c0cf0
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r9, qword [rdi + 0x38]
jmp 0x49f01b
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 0x49ec85
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x49ec85
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 0x49f342
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 0x49f342
mov ecx, 1
call fcn.004c0cf0
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r10, qword [rdi + 0x38]
jmp 0x49f02f
xor eax, eax
jmp 0x49e1ac
xor r13d, r13d
jmp 0x49e0b2
mov ecx, 1
call fcn.004c0cf0
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov r11, qword [rdi + 0x38]
jmp 0x49f088
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 0x49f285
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49f285
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 0x49eda2
mov byte [r12 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49eda2
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 0x49eb33
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 0x49eb33
mov ecx, 1
call fcn.004c0cf0
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov rdx, qword [rdi + 0x38]
jmp 0x49f13f
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 0x49ee0c
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x49ee0c
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 0x49f164
mov byte [rbp + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49f164
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 0x49eb53
mov byte [r10 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49eb4f
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 0x49d7dc
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49d7dc
cmp r8, rdx
ja 0x49fa62
cmp byte [rbx + 0x38], 0
jne 0x49ee3a
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 0x49ee3a
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49ee3a
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 0x49da5c
mov byte [r13 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49da5c
cmp rcx, rdx
ja 0x49fa6f
cmp byte [rbx + 0x38], 0
jne 0x49ecb3
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 0x49ecb3
mov byte [r9 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49ecb3
sub rdx, qword [rbx + 8]
add rdx, qword [rbx + 0x30]
mov dword [rsi + 0x30], 7
mov qword [rsi + 0x38], rdx
jmp 0x49d8a1
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49ee3a
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49ecb3
cmp r9b, 0x2f
jne 0x49f051
cmp qword [rbx + 0x18], rdx
jbe 0x49da52
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49da5c
cmp al, 0x2f
jne 0x49f051
cmp rdx, qword [rbx + 0x18]
jae 0x49d7d2
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49d7dc
mov ecx, 1
call fcn.004c0cf0
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], rax
jmp 0x49f4b6
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 0x49ea2b
mov byte [r10 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49ea2b
cmp r9b, 0x2f
jne 0x49ebd0
cmp qword [rbx + 0x18], rdx
jbe 0x49ea21
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49ea2b
cmp r11b, 0x2f
jne 0x49e9c5
cmp rdx, qword [rbx + 0x18]
jae 0x49e898
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x49e8a2
mov ecx, 1
call fcn.004c0cf0
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], rax
jmp 0x49f569
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 0x49e8a2
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x49e8a2
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 0x4a5850
cmp r9, qword [rbx + 0x18]
jb 0x4a4bc0
cmp byte [rbx + 0x38], 0
je 0x4a5710
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 0x4a576a
lea esi, [rbp - 0x31]
mov r12d, ebp
cmp sil, 8
ja 0x4a60b7
cmp qword [rbx + 0x18], rdx
jbe 0x4a4e00
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 0x4a4e70
cmp r12b, 9
ja 0x4a5860
xor r12d, r12d
cmp ebp, 0xccccccb
movsx edi, r15b
ja 0x4a4c75
lea ebp, [rbp + rbp*4]
add ebp, ebp
cmp qword [rbx + 0x18], rdx
jbe 0x4a4d50
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 0x4a4db0
cmp ebp, 0xccccccb
movsx edi, sil
jbe 0x4a4c34
cmp ebp, 0xccccccc
je 0x4a5d9e
mov r9d, edi
mov edi, ebp
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x4a5cca
movabs r15, 0xccccccccccccccb
jmp 0x4a4cd1
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 0x4a5820
mov r9d, r10d
cmp rdi, r15
ja 0x4a58a0
cmp qword [rbx + 0x18], rdx
lea r11, [rdi + rdi*4]
lea rsi, [r11 + r11]
ja 0x4a4ca0
cmp byte [rbx + 0x38], 0
mov r10d, r9d
jne 0x4a4cb0
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 0x4a4d45
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 0x4a4cb0
cmp byte [rbx + 0x38], 0
movsx esi, dil
jne 0x4a4c53
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 0x4a4da7
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 0x4a4c53
pxor xmm6, xmm6
xor r11d, r11d
xor r10d, r10d
xor edi, edi
cmp sil, 0x2e
jne 0x4a5b90
cmp qword [rbx + 0x18], rdx
ja 0x4a5000
cmp byte [rbx + 0x38], 0
mov r15, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
je 0x4a57a0
sub rdx, rcx
mov dword [r14 + 0x30], 0xe
add r15, rdx
mov qword [r14 + 0x38], r15
jmp 0x4a4b95
cmp byte [rbx + 0x38], 0
mov r15d, ebp
jne 0x4a4c09
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 0x4a4e56
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 0x4a4c1b
nop
cmp r12b, 9
ja 0x4a5880
xor r12d, r12d
cmp ebp, 0x19999998
movsx r15d, r15b
ja 0x4a4eca
lea ebp, [rbp + rbp*4]
add ebp, ebp
cmp qword [rbx + 0x18], rdx
jbe 0x4a4fa1
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 0x4a4db0
cmp ebp, 0x19999998
movsx r15d, sil
jbe 0x4a4e89
cmp ebp, 0x19999999
je 0x4a5d87
mov r9d, r15d
mov edi, ebp
lea esi, [r9 - 0x30]
movabs r15, 0x1999999999999998
cmp sil, 9
jbe 0x4a4f25
jmp 0x4a5cb4
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 0x4a5804
mov r9d, eax
cmp rdi, r15
ja 0x4a59c2
cmp qword [rbx + 0x18], rdx
lea r8, [rdi + rdi*4]
lea rsi, [r8 + r8]
ja 0x4a4ef4
cmp byte [rbx + 0x38], 0
mov eax, r9d
jne 0x4a4f03
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 0x4a4f99
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 0x4a4f03
cmp byte [rbx + 0x38], 0
movsx esi, r15b
jne 0x4a4ea8
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 0x4a4ff8
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 0x4a4ea8
add rdx, 1
mov qword [rbx + 0x20], rdx
movsx esi, byte [rdx]
lea r8d, [rsi - 0x30]
cmp r8b, 9
ja 0x4a60e4
xor r15d, r15d
test r11b, r11b
jne 0x4a5094
lea eax, [rsi - 0x30]
test r10b, r10b
mov r9d, ebp
cmove rdi, r9
movabs r11, 0x1fffffffffffff
cmp al, 9
ja 0x4a5082
cmp rdi, r11
ja 0x4a5082
lea rdi, [rdi + rdi*4]
add rdi, rdi
cmp qword [rbx + 0x18], rdx
jbe 0x4a5270
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 0x4a503c
pxor xmm6, xmm6
test rdi, rdi
cvtsi2sd xmm6, rdi
js 0x4a56d0
pxor xmm7, xmm7
movsd xmm8, qword [0x004c46e0]
lea r11d, [rsi - 0x30]
cmp r11b, 9
ja 0x4a5104
cmp r12d, 0x10
mov r9, qword [rbx + 0x18]
jg 0x4a5173
cmp rdx, r9
mulsd xmm6, xmm8
jae 0x4a5190
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 0x4a5840
movsx esi, al
add r12d, 1
lea r11d, [rsi - 0x30]
cmp r11b, 9
jbe 0x4a50ab
mov r11d, 1
cmp sil, 0x65
jne 0x4a5bc0
cmp qword [rbx + 0x18], rdx
ja 0x4a52e4
cmp byte [rbx + 0x38], 0
je 0x4a55d0
test r11b, r11b
jne 0x4a60c6
pxor xmm6, xmm6
test r10b, r10b
cvtsi2sd xmm6, rbp
je 0x4a52f8
pxor xmm6, xmm6
test rdi, rdi
cvtsi2sd xmm6, rdi
jns 0x4a52f8
mov rax, rdi
pxor xmm6, xmm6
shr rax, 1
and edi, 1
or rdi, rax
cvtsi2sd xmm6, rdi
addsd xmm6, xmm6
jmp 0x4a52f8
cmp rdx, r9
jae 0x4a5200
lea rcx, [rdx + 1]
mov qword [rbx + 0x20], rcx
movsx esi, byte [rdx + 1]
mov rdx, rcx
jmp 0x4a50a1
cmp byte [rbx + 0x38], 0
mov eax, esi
jne 0x4a50d6
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 0x4a51f0
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 0x4a50d6
cmp byte [rbx + 0x38], 0
jne 0x4a50a1
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 0x4a525e
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 0x4a50a1
cmp byte [rbx + 0x38], 0
mov r8d, esi
jne 0x4a5062
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 0x4a52db
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 0x4a5062
add rdx, 1
mov qword [rbx + 0x20], rdx
test r11b, r11b
movsx esi, byte [rdx]
je 0x4a5131
cmp sil, 0x2b
jne 0x4a59f0
cmp qword [rbx + 0x18], rdx
ja 0x4a5334
movzx edi, byte [rbx + 0x38]
mov r9, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
test dil, dil
je 0x4a5640
sub rdx, rcx
mov dword [r14 + 0x30], 0xf
add r9, rdx
mov qword [r14 + 0x38], r9
jmp 0x4a4b95
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 0x4a60c3
cmp qword [rbx + 0x18], rcx
jbe 0x4a5570
lea r8, [rcx + 1]
mov qword [rbx + 0x20], r8
movsx ebp, byte [rcx + 1]
mov rcx, r8
sub esi, 0x30
test dil, dil
jne 0x4a5454
lea r11d, [rbp - 0x30]
mov edi, 0x134
sub edi, r15d
cmp r11b, 9
ja 0x4a53ba
lea esi, [rsi + rsi*4]
add esi, esi
cmp qword [rbx + 0x18], rcx
jbe 0x4a5500
add rcx, 1
mov qword [rbx + 0x20], rcx
lea esi, [rsi + rbp - 0x30]
cmp edi, esi
jl 0x4a56f1
mov rcx, qword [rbx + 0x20]
movsx ebp, byte [rcx]
lea r11d, [rbp - 0x30]
cmp r11b, 9
jbe 0x4a5386
mov r12, qword [r13 + 0x38]
mov r8, qword [r13 + 0x40]
add esi, r15d
cmp esi, 0xfffffecc
jl 0x4a5690
test esi, esi
js 0x4a5ba0
lea r11, [0x004d50e0]
movsxd rdi, esi
movsd xmm7, qword [r11 + rdi*8]
mulsd xmm7, xmm6
cmp byte [rsp + 0x3e], 0
je 0x4a53fc
xorpd xmm7, xmmword [0x004c46f0]
lea rdx, [r12 + 0x10]
cmp rdx, r8
ja 0x4a5ce0
test r12, r12
mov qword [r13 + 0x38], rdx
je 0x4a4b95
movabs r13, 0x216000000000000
movsd qword [r12], xmm7
mov qword [r12 + 8], r13
jmp 0x4a4b95
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 0x4a54d0
movsx ebp, al
lea r14d, [rbp - 0x30]
cmp r14b, 9
ja 0x4a5560
lea r14d, [rsi + rsi*4]
add r14d, r14d
cmp qword [rbx + 0x18], rcx
ja 0x4a5431
cmp byte [rbx + 0x38], 0
mov eax, ebp
jne 0x4a5440
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 0x4a54c0
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 0x4a5451
lea edi, [rax - 0x30]
cmp dil, 9
ja 0x4a5451
cmp qword [rbx + 0x18], rcx
jbe 0x4a5f9d
lea r10, [rcx + 1]
mov qword [rbx + 0x20], r10
movzx eax, byte [rcx + 1]
mov rcx, r10
jmp 0x4a54d0
cmp byte [rbx + 0x38], 0
jne 0x4a539d
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 0x4a539d
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4a539d
neg esi
jmp 0x4a53ba
cmp byte [rbx + 0x38], 0
movsx ebp, sil
jne 0x4a5368
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 0x4a55c7
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 0x4a5368
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 0x4a52ec
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x4a52ec
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 0x4a5685
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 0x4a5342
cmp esi, 0xfffffd98
pxor xmm7, xmm7
jl 0x4a53ed
mulsd xmm6, qword [0x004c46e8]
mov eax, 0xfffffecc
sub eax, esi
lea rsi, [0x004d50e0]
cdqe
movapd xmm7, xmm6
divsd xmm7, qword [rsi + rax*8]
jmp 0x4a53ed
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 0x4a5094
mov r15, qword [rsp + 0x28]
mov dword [r14 + 0x30], 0xd
mov qword [r14 + 0x38], r15
jmp 0x4a4b95
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 0x4a5758
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 0x4a4bdc
cmp qword [rbx + 0x18], rdx
jbe 0x4a5a70
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 0x4a4dbc
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 0x4a5008
mov byte [rdx + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rdx, qword [rbx + 0x20]
jmp 0x4a5008
movsx esi, al
xor r11d, r11d
mov r10d, 1
pxor xmm6, xmm6
jmp 0x4a4dbc
movsx esi, r10b
xor r11d, r11d
movzx r10d, byte [rsp + 0x3e]
pxor xmm6, xmm6
jmp 0x4a4dbc
movsx esi, al
jmp 0x4a50a1
mov rdx, r9
mov byte [rsp + 0x3e], 0
jmp 0x4a4bd2
movsx esi, r15b
xor r11d, r11d
xor r12d, r12d
xor r10d, r10d
xor edi, edi
pxor xmm6, xmm6
jmp 0x4a4dbc
movsx esi, r15b
xor r11d, r11d
xor r10d, r10d
xor r12d, r12d
xor edi, edi
pxor xmm6, xmm6
jmp 0x4a4dbc
movabs rcx, 0xccccccccccccccc
cmp rdi, rcx
je 0x4a5dd3
pxor xmm6, xmm6
test rdi, rdi
cvtsi2sd xmm6, rdi
jns 0x4a58dd
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 [0x004c46d8]
jae 0x4a56f1
mov r8, qword [rbx + 0x18]
movsd xmm7, qword [0x004c46e0]
movsd xmm8, qword [0x004c46d8]
movsx r15d, r9b
mulsd xmm6, xmm7
cmp rdx, r8
jae 0x4a594f
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 0x4a59b1
comisd xmm6, xmm8
jae 0x4a56f1
cmp rdx, r8
movsx r15d, sil
mulsd xmm6, xmm7
jb 0x4a590d
cmp byte [rbx + 0x38], 0
movsx esi, r15b
jne 0x4a591c
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 0x4a59a9
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 0x4a591c
mov r11d, 1
mov r10d, 1
jmp 0x4a4dbc
movabs r11, 0x1999999999999999
cmp rdi, r11
jne 0x4a58b3
cmp r9b, 0x35
jle 0x4a4f2e
movsd xmm6, qword [0x004c46c8]
jmp 0x4a58dd
cmp sil, 0x2d
jne 0x4a60da
cmp qword [rbx + 0x18], rdx
ja 0x4a5ad1
cmp byte [rbx + 0x38], 0
mov r9, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jne 0x4a531d
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 0x4a5a5b
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 0x4a5342
movzx r12d, byte [rbx + 0x38]
test r12b, r12b
je 0x4a5ae7
mov r14, qword [r13 + 0x38]
mov rbx, qword [r13 + 0x40]
xor ebp, ebp
lea rax, [r14 + 0x10]
cmp byte [rsp + 0x3e], 0
je 0x4a5b51
cmp rbx, rax
jb 0x4a5ef8
test r14, r14
mov qword [r13 + 0x38], rax
je 0x4a4b95
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 0x4a4b95
lea rcx, [rdx + 1]
mov edi, 1
mov qword [rbx + 0x20], rcx
movsx esi, byte [rdx + 1]
jmp 0x4a5342
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 0x4a5b3b
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 0x4a4dbc
cmp rbx, rax
jb 0x4a5e4f
test r14, r14
mov qword [r13 + 0x38], rax
je 0x4a4b95
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 0x4a4b95
xor r15d, r15d
jmp 0x4a510a
neg esi
lea rax, [0x004d50e0]
movapd xmm7, xmm6
movsxd rbx, esi
divsd xmm7, qword [rax + rbx*8]
jmp 0x4a53ed
cmp sil, 0x45
je 0x4a5114
mov r12, qword [r13 + 0x38]
mov r8, qword [r13 + 0x40]
test r11b, r11b
mov r14, r12
lea rax, [r12 + 0x10]
mov rbx, r8
jne 0x4a60d3
test r10b, r10b
je 0x4a5a88
cmp byte [rsp + 0x3e], 0
je 0x4a5c41
cmp rax, r8
ja 0x4a5dfe
test r14, r14
mov qword [r13 + 0x38], rax
je 0x4a4b95
neg rdi
mov qword [r14 + 8], 0
test rdi, rdi
mov qword [r14], rdi
jns 0x4a5d36
cmp rdi, 0xffffffff80000000
mov esi, 0xb6
mov edi, 0x96
cmovge edi, esi
mov word [r14 + 0xe], di
jmp 0x4a4b95
cmp rax, r8
ja 0x4a5ea4
test r14, r14
mov qword [r13 + 0x38], rax
je 0x4a4b95
test rdi, rdi
mov qword [r14 + 8], 0
mov qword [r14], rdi
js 0x4a5d66
mov ecx, 0x196
mov r11d, 0x1f6
mov r13d, 0x1d6
mov word [r14 + 0xe], cx
mov ecx, 0x1b6
movabs rax, 0xffffffff00000000
test rdi, rax
jne 0x4a5c9d
mov word [r14 + 0xe], r13w
mov ecx, r11d
test rdi, 0xffffffff80000000
jne 0x4a4b95
mov word [r14 + 0xe], cx
jmp 0x4a4b95
movsx esi, r9b
xor r11d, r11d
mov r10d, 1
pxor xmm6, xmm6
jmp 0x4a4dbc
movsx esi, r9b
movzx r10d, byte [rsp + 0x3e]
xor r11d, r11d
pxor xmm6, xmm6
jmp 0x4a4dbc
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x4a5dea
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 0x4a5db5
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 0x4a540a
movabs r10, 0xffffffff00000000
test rdi, r10
je 0x4a5dc1
mov ebp, 0x196
mov word [r14 + 0xe], bp
mov ebp, 0x1b6
test rdi, 0xffffffff80000000
jne 0x4a4b95
jmp 0x4a5ac7
mov r8d, 0x116
mov ecx, 0x136
mov r11d, 0x176
mov word [r14 + 0xe], r8w
mov r13d, 0x156
jmp 0x4a5c86
cmp r15b, 0x35
jle 0x4a4e89
mov r9d, r15d
mov edi, 0x19999999
jmp 0x4a4edb
cmp dil, 0x39
jne 0x4a4c34
mov r9d, edi
mov edi, 0xccccccc
jmp 0x4a4c92
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4a5d1d
mov r9d, 0x1d6
mov ebp, 0x1f6
mov word [r14 + 0xe], r9w
jmp 0x4a5d54
cmp r9b, 0x39
jne 0x4a4cda
movsd xmm6, qword [0x004c46d0]
jmp 0x4a58eb
cmp qword [r13 + 0x20], 0
je 0x4a601c
mov r10, qword [r13 + 0x48]
jmp 0x4a5cfa
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x4a6008
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 0x4a5f54
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 0x4a5bff
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x4a5ff8
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 0x4a5f48
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 0x4a5b5a
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x4a5f75
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 0x4a5f60
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 0x4a5c4a
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x4a5f89
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 0x4a5f6c
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 0x4a5a9c
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4a5e8c
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4a5e37
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4a5ee0
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4a5f30
cmp qword [r13 + 0x20], 0
je 0x4a605a
mov r9, qword [r13 + 0x48]
jmp 0x4a5ebe
cmp qword [r13 + 0x20], 0
je 0x4a603b
mov rbx, qword [r13 + 0x48]
jmp 0x4a5f12
cmp byte [rbx + 0x38], 0
jne 0x4a54d0
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 0x4a5ff0
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 0x4a54d0
cmp qword [r13 + 0x20], 0
je 0x4a6079
mov rbx, qword [r13 + 0x48]
jmp 0x4a5e69
cmp qword [r13 + 0x20], 0
je 0x4a6098
mov rdx, qword [r13 + 0x48]
jmp 0x4a5e18
mov ecx, 1
call fcn.004c0cf0
mov rcx, qword [r13 + 0x30]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov r12, qword [r13 + 0x38]
jmp 0x4a5df5
mov ecx, 1
call fcn.004c0cf0
mov r14, qword [r13 + 0x38]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov rcx, qword [r13 + 0x30]
jmp 0x4a5f94
mov ecx, 1
call fcn.004c0cf0
mov r14, qword [r13 + 0x38]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov rcx, qword [r13 + 0x30]
jmp 0x4a5f80
mov ecx, 1
call fcn.004c0cf0
mov r14, qword [r13 + 0x38]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov rcx, qword [r13 + 0x30]
jmp 0x4a5fff
mov ecx, 1
call fcn.004c0cf0
mov r14, qword [r13 + 0x38]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
mov rcx, qword [r13 + 0x30]
jmp 0x4a6013
mov r9, rdx
mov rdx, qword [rbx + 0x30]
jmp 0x4a4b82
mov rdx, rcx
mov r9, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jmp 0x4a531d
xor esi, esi
jmp 0x4a53c2
mov rcx, rdx
xor edi, edi
jmp 0x4a5342
mov r15, qword [rbx + 0x30]
mov rcx, qword [rbx + 8]
jmp 0x4a4de2
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rsi, qword [rdx + 0x20]
cmp rsi, qword [rdx + 0x18]
mov rbp, rcx
mov rbx, rdx
mov r15, r8
jb 0x4a6e40
cmp byte [rdx + 0x38], 0
je 0x4a6ed0
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x38], 0
lea r13, [0x004d4640]
lea r14, [rsp + 0x30]
jmp 0x4a6b95
add rsi, 1
mov qword [rbx + 0x20], rsi
mov r12, qword [rsp + 0x30]
mov r8, qword [r12 + 0x18]
mov r10, qword [r12 + 0x20]
lea r9, [r8 + 1]
cmp r9, r10
ja 0x4a6e50
mov qword [r12 + 0x18], r9
mov byte [r8], dil
add dword [rsp + 0x38], 1
mov rsi, qword [rbx + 0x20]
movzx edi, byte [rsi]
cmp dil, 0x5c
je 0x4a6c10
cmp dil, 0x22
je 0x4a6c90
movsx ecx, dil
cmp ecx, 0x1f
jbe 0x4a6e20
cmp qword [rbx + 0x18], rsi
ja 0x4a6b60
cmp byte [rbx + 0x38], 0
jne 0x4a6b68
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 0x4a6b68
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4a6b68
mov rcx, qword [rbx + 0x18]
mov r10, qword [rbx + 0x30]
mov r12, qword [rbx + 8]
cmp rcx, rsi
ja 0x4a6cf0
cmp byte [rbx + 0x38], 0
mov edi, 0x5c
je 0x4a6f22
cmp byte [rbx + 0x38], 0
jne 0x4a6d1c
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 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 0x4a6d1c
mov byte [r8 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4a6d1c
cmp qword [rbx + 0x18], rsi
ja 0x4a6d50
cmp byte [rbx + 0x38], 0
jne 0x4a6d58
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 r14, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rdi, [r14 + rax - 1]
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x18], rdi
jae 0x4a6d58
mov byte [r14 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4a6d58
lea rdx, [rsi + 1]
mov qword [rbx + 0x20], rdx
movzx r11d, byte [rdx]
movzx edi, byte [r13 + r11]
test dil, dil
je 0x4a70c5
cmp rdx, rcx
jae 0x4a6c34
add rdx, 1
mov qword [rbx + 0x20], rdx
mov r12, qword [rsp + 0x30]
mov rsi, qword [r12 + 0x18]
mov r11, qword [r12 + 0x20]
lea r9, [rsi + 1]
cmp r9, r11
ja 0x4a7157
mov qword [r12 + 0x18], r9
mov byte [rsi], dil
add dword [rsp + 0x38], 1
jmp 0x4a6b91
add rsi, 1
mov qword [rbx + 0x20], rsi
mov r12, qword [rsp + 0x30]
mov r11, qword [r12 + 0x18]
mov r10, qword [r12 + 0x20]
lea rdx, [r11 + 1]
cmp rdx, r10
ja 0x4a7100
mov qword [r12 + 0x18], rdx
mov byte [r11], 0
mov esi, dword [rsp + 0x38]
mov ebp, dword [rbp + 0x30]
test ebp, ebp
lea r13d, [rsi + 1]
mov dword [rsp + 0x38], r13d
jne 0x4a6e0c
mov rax, qword [rsp + 0x30]
mov ebp, r13d
mov r14, qword [r15 + 0x10]
mov rbx, qword [rax + 0x18]
sub rbx, rbp
mov qword [rax + 0x18], rbx
mov rdi, qword [r15 + 0x38]
mov r8, qword [r15 + 0x40]
lea rcx, [rdi + 0x10]
cmp rcx, r8
ja 0x4a7075
test rdi, rdi
mov qword [r15 + 0x38], rcx
je 0x4a6e0c
cmp esi, 0xd
mov qword [rdi], 0
mov qword [rdi + 8], 0
ja 0x4a6fb0
mov r9d, 0xd
mov r8d, 0x1c05
mov rbp, rdi
sub r9d, esi
mov word [rdi + 0xe], r8w
mov byte [rdi + 0xd], r9b
mov r8, rsi
mov rdx, rbx
mov rcx, rbp
call sub.msvcrt.dll_memcpy
mov byte [rbp + rsi], 0
add rsp, 0x48
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 0x4a6ec0
mov dword [rbp + 0x30], 0xb
mov qword [rbp + 0x38], rsi
jmp 0x4a6e0c
add rsi, 1
mov qword [rdx + 0x20], rsi
jmp 0x4a6b41
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x4a7060
sub r10, rcx
lea r11, [r10 + 1]
shr r11, 1
add r10, r11
sub r8, rcx
lea rax, [r8 + 1]
mov qword [rsp + 0x28], r8
cmp rax, r10
cmovae r10, rax
test r10, r10
je 0x4a6f91
mov rdx, r10
mov qword [rsp + 0x20], r10
call sub.msvcrt.dll_realloc
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
lea r8, [rax + rcx]
add rsi, rax
mov qword [r12 + 0x10], rax
mov qword [r12 + 0x20], rsi
lea r9, [r8 + 1]
jmp 0x4a6b84
mov dword [rbp + 0x30], 0xa
mov qword [rbp + 0x38], rsi
jmp 0x4a6e0c
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 0x4a6b41
mov byte [rsi + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
mov rsi, qword [rbx + 0x20]
jmp 0x4a6b41
mov rdi, r10
add rdi, qword [rbx + 0x28]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, r12
mov edx, 1
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r12
mov qword [rbx + 0x30], rdi
call sub.msvcrt.dll_fread
mov rdx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r12, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
lea rcx, [rdx + rax - 1]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x18], rcx
jae 0x4a6cf8
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 0x4a6cf8
mov qword [rsp + 0x20], r10
call sub.msvcrt.dll_free
xor eax, eax
mov rsi, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
jmp 0x4a6e9e
mov r15d, 0xc05
test r13d, r13d
mov dword [rdi], esi
mov word [rdi + 0xe], r15w
je 0x4a7004
mov rax, qword [r14]
add rbp, 7
and rbp, 0xfffffffffffffff8
test rax, rax
je 0x4a6fe4
mov rdx, qword [rax + 8]
lea r11, [rbp + rdx]
add rdx, 0x18
cmp r11, qword [rax]
jbe 0x4a704a
cmp qword [r14 + 8], rbp
mov r13, rbp
cmovae r13, qword [r14 + 8]
cmp qword [r14 + 0x18], 0
je 0x4a73f8
mov rcx, r13
add rcx, 0x18
jne 0x4a7023
xor r14d, r14d
xor ebp, ebp
movabs rax, 0xffff000000000000
and rax, qword [rdi + 8]
or rax, r14
mov qword [rdi + 8], rax
jmp 0x4a6df9
call sub.msvcrt.dll_malloc
test rax, rax
je 0x4a7004
mov r10, qword [r14]
mov qword [rax], r13
mov r11, rbp
mov qword [rax + 8], 0
mov edx, 0x18
mov qword [rax + 0x10], r10
mov qword [r14], rax
lea rbp, [rax + rdx]
mov qword [rax + 8], r11
mov r14, rbp
jmp 0x4a7009
cmp qword [r12], 0
je 0x4a73d6
mov r10, qword [r12 + 0x28]
jmp 0x4a6e6b
mov rcx, qword [r15 + 0x30]
test rcx, rcx
je 0x4a732c
sub r8, rcx
lea r9, [r8 + 1]
shr r9, 1
add r8, r9
sub rdi, rcx
lea r12, [rdi + 0x10]
cmp r12, r8
cmovb r12, r8
test r12, r12
je 0x4a71be
mov rdx, r12
call sub.msvcrt.dll_realloc
add rdi, rax
mov qword [r15 + 0x30], rax
add rax, r12
mov qword [r15 + 0x40], rax
lea rcx, [rdi + 0x10]
jmp 0x4a6dbd
sub rsi, r12
add rsi, r10
cmp r11b, 0x75
jne 0x4a6ec0
cmp rdx, rcx
jb 0x4a71ca
cmp byte [rbx + 0x38], 0
je 0x4a7427
mov dword [rbp + 0x30], 8
mov qword [rbp + 0x38], rsi
jmp 0x4a6e0c
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x4a7317
sub r10, rcx
lea rbx, [r10 + 1]
shr rbx, 1
add r10, rbx
sub r11, rcx
lea r13, [r11 + 1]
mov rsi, r11
cmp r13, r10
cmovb r13, r10
test r13, r13
je 0x4a7358
mov rdx, r13
call sub.msvcrt.dll_realloc
lea r11, [rax + rsi]
mov qword [r12 + 0x10], rax
add rax, r13
mov qword [r12 + 0x20], rax
lea rdx, [r11 + 1]
jmp 0x4a6d74
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x4a7302
sub r11, rcx
lea rax, [r11 + 1]
shr rax, 1
add r11, rax
sub rsi, rcx
lea r10, [rsi + 1]
cmp r10, r11
cmovb r10, r11
test r10, r10
je 0x4a7364
mov rdx, r10
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r10
call sub.msvcrt.dll_realloc
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
add rsi, rax
mov qword [r12 + 0x10], rax
add rax, rcx
mov qword [r12 + 0x20], rax
lea r9, [rsi + 1]
jmp 0x4a6d38
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4a70ae
add rdx, 1
mov qword [rbx + 0x20], rdx
movsx r12d, byte [rdx]
lea r9d, [r12 - 0x30]
mov r10d, r12d
lea edi, [r12 - 0x30]
cmp r9b, 9
ja 0x4a75eb
cmp rdx, rcx
jb 0x4a7384
cmp byte [rbx + 0x38], 0
je 0x4a7596
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 0x4a7348
lea r12d, [r9 - 0x41]
cmp r12b, 5
jbe 0x4a740f
lea r10d, [r9 - 0x61]
cmp r10b, 5
ja 0x4a70e8
sub edi, 0x57
cmp rdx, rcx
jb 0x4a7391
cmp byte [rbx + 0x38], 0
je 0x4a7536
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x4a7340
lea r12d, [rax - 0x41]
cmp r12b, 5
jbe 0x4a7417
lea r10d, [rax - 0x61]
cmp r10b, 5
ja 0x4a70e8
sub edi, 0x57
cmp rdx, rcx
jb 0x4a73ad
cmp byte [rbx + 0x38], 0
je 0x4a7480
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x4a7350
lea r12d, [rax - 0x41]
cmp r12b, 5
jbe 0x4a741f
sub eax, 0x61
cmp al, 5
ja 0x4a70e8
sub edi, 0x57
cmp rdx, rcx
jb 0x4a73c9
cmp byte [rbx + 0x38], 0
je 0x4a74e0
mov r9d, dword [rbp + 0x30]
test r9d, r9d
jne 0x4a6e0c
lea r10d, [rdi - 0xd800]
cmp r10d, 0x3ff
jbe 0x4a7604
mov edx, edi
mov rcx, r14
call fcn.004aa9c0
jmp 0x4a6b91
cmp qword [r12], 0
je 0x4a766d
mov r11, qword [r12 + 0x28]
jmp 0x4a7172
cmp qword [r12], 0
je 0x4a764b
mov r10, qword [r12 + 0x28]
jmp 0x4a711b
cmp qword [r15 + 0x20], 0
je 0x4a762c
mov r8, qword [r15 + 0x48]
jmp 0x4a708f
sub edi, 0x30
jmp 0x4a7280
sub edi, 0x30
jmp 0x4a723e
sub edi, 0x30
jmp 0x4a72bf
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4a713d
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r10
call sub.msvcrt.dll_free
xor eax, eax
mov rsi, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
jmp 0x4a71a5
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x4a7204
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 0x4a7251
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 0x4a7293
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x4a72d2
mov ecx, 1
call fcn.004c0cf0
mov r8, qword [r12 + 0x18]
mov qword [r12], rax
mov qword [r12 + 8], rax
mov rcx, qword [r12 + 0x10]
jmp 0x4a706b
mov ecx, 1
call fcn.004c0cf0
mov qword [r14 + 0x18], rax
mov qword [r14 + 0x20], rax
jmp 0x4a6ffb
sub edi, 0x37
jmp 0x4a723e
sub edi, 0x37
jmp 0x4a7280
sub edi, 0x37
jmp 0x4a72bf
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 0x4a71d2
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 0x4a71d2
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 0x4a74d0
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 0x4a7293
mov r10, qword [rbx + 0x28]
add qword [rbx + 0x30], r10
mov edx, 1
mov rcx, qword [rbx + 8]
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
call sub.msvcrt.dll_fread
mov r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
lea rcx, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], rcx
jae 0x4a72d2
mov byte [r11 + rax], 0
mov rcx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [rcx + 1]
mov qword [rbx + 0x18], rcx
jmp 0x4a72d2
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 0x4a7586
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 0x4a7251
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 0x4a7204
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 0x4a7200
lea r11d, [r12 - 0x41]
cmp r11b, 5
ja 0x4a7ab1
lea edi, [r12 - 0x37]
jmp 0x4a71ed
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x5c
jne 0x4a761c
cmp rdx, rcx
jb 0x4a768f
cmp byte [rbx + 0x38], 0
je 0x4a78aa
mov dword [rbp + 0x30], 9
mov qword [rbp + 0x38], rsi
jmp 0x4a6e0c
mov ecx, 1
call fcn.004c0cf0
mov rcx, qword [r15 + 0x30]
mov qword [r15 + 0x20], rax
mov qword [r15 + 0x28], rax
mov rdi, qword [r15 + 0x38]
jmp 0x4a7337
mov ecx, 1
call fcn.004c0cf0
mov r11, qword [r12 + 0x18]
mov qword [r12], rax
mov qword [r12 + 8], rax
mov rcx, qword [r12 + 0x10]
jmp 0x4a7322
mov ecx, 1
call fcn.004c0cf0
mov rcx, qword [r12 + 0x10]
mov qword [r12], rax
mov qword [r12 + 8], rax
mov rsi, qword [r12 + 0x18]
jmp 0x4a730d
add rdx, 1
mov qword [rbx + 0x20], rdx
cmp byte [rdx], 0x75
jne 0x4a761c
cmp rdx, rcx
jb 0x4a7836
cmp byte [rbx + 0x38], 0
jne 0x4a70e8
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 0x4a7709
mov byte [rdx + rax], 0
mov rdx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [rdx + 1]
mov rdx, qword [rbx + 0x20]
mov qword [rbx + 0x18], rcx
movsx r12d, byte [rdx]
lea r9d, [r12 - 0x30]
mov r11d, r12d
lea edi, [r12 - 0x30]
cmp r9b, 9
ja 0x4a7ac9
cmp rdx, rcx
jb 0x4a7890
cmp byte [rbx + 0x38], 0
je 0x4a79e0
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 0x4a7888
lea r12d, [r9 - 0x41]
cmp r12b, 5
jbe 0x4a79d8
lea r11d, [r9 - 0x61]
cmp r11b, 5
ja 0x4a70e8
sub edi, 0x57
cmp rdx, rcx
jb 0x4a786c
cmp byte [rbx + 0x38], 0
je 0x4a7a47
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x4a7864
lea r11d, [rax - 0x41]
cmp r11b, 5
jbe 0x4a7a3f
lea r12d, [rax - 0x61]
cmp r12b, 5
ja 0x4a70e8
sub edi, 0x57
cmp rdx, rcx
jb 0x4a7848
cmp byte [rbx + 0x38], 0
je 0x4a796e
shl edi, 4
add edi, r9d
cmp r8b, 9
jbe 0x4a7843
lea r12d, [rax - 0x41]
cmp r12b, 5
jbe 0x4a790d
sub eax, 0x61
cmp al, 5
ja 0x4a70e8
sub edi, 0x57
cmp rdx, rcx
jb 0x4a789d
cmp byte [rbx + 0x38], 0
je 0x4a7915
mov r9d, dword [rbp + 0x30]
test r9d, r9d
jne 0x4a6e0c
sub edi, 0xdc00
cmp edi, 0x3ff
ja 0x4a761c
shl r10d, 0xa
or edi, r10d
add edi, 0x10000
jmp 0x4a72f3
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x4a7709
sub edi, 0x30
jmp 0x4a77f2
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 0x4a77ca
sub edi, 0x30
jmp 0x4a77b7
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 0x4a7788
sub edi, 0x30
jmp 0x4a7775
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x4a773b
add rdx, 1
mov qword [rbx + 0x20], rdx
jmp 0x4a7805
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 0x4a7697
mov byte [rdx + rax], 0
mov rax, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rdx, qword [rbx + 0x20]
lea rcx, [rax + 1]
mov qword [rbx + 0x18], rcx
jmp 0x4a7697
sub edi, 0x37
jmp 0x4a77f2
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 r11, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
mov qword [rbx + 0x28], rax
mov r10d, dword [rsp + 0x20]
lea rcx, [r11 + rax - 1]
mov qword [rbx + 0x20], r11
mov qword [rbx + 0x18], rcx
jae 0x4a7805
mov byte [r11 + rax], 0
mov byte [rbx + 0x38], 1
add qword [rbx + 0x18], 1
jmp 0x4a7805
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]
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 0x4a79c8
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 0x4a77ca
sub edi, 0x37
jmp 0x4a7775
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 0x4a773b
mov byte [rdx + rax], 0
mov rcx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [rcx + 1]
mov qword [rbx + 0x18], rcx
jmp 0x4a7737
sub edi, 0x37
jmp 0x4a77b7
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 0x4a7aa1
mov byte [rdx + rax], 0
mov rdx, qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
lea rcx, [rdx + 1]
mov rdx, qword [rbx + 0x20]
mov qword [rbx + 0x18], rcx
movsx r9d, byte [rdx]
mov eax, r9d
lea r8d, [r9 - 0x30]
jmp 0x4a7788
sub r10d, 0x61
cmp r10b, 5
ja 0x4a70e8
lea edi, [r12 - 0x57]
jmp 0x4a71ed
lea eax, [r12 - 0x41]
lea edi, [r12 - 0x37]
cmp al, 5
jbe 0x4a7724
sub r11d, 0x61
cmp r11b, 5
ja 0x4a70e8
lea edi, [r12 - 0x57]
jmp 0x4a7724