Function at 0x4abe50
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r14, rcx
movzx ecx, word [rcx + 0xe]
mov rsi, rdx
mov eax, ecx
and eax, 7
cmp ax, 5
ja case.default.0x4abe8a
lea rdx, [0x004c4898]
movzx ebx, ax
movsxd rdi, dword [rdx + rbx*4]
add rdi, rdx
jmp rdi
mov edx, 4
mov rcx, rsi
call fcn.0049cb70
mov r9, qword [rsi + 0x20]
mov r8, qword [rsi + 0x28]
lea r10, [r9 + 0x10]
cmp r10, r8
ja 0x4add00
test r9, r9
mov qword [rsi + 0x20], r10
je 0x4abec7
mov qword [r9], 0
mov byte [r9 + 8], 1
mov r15, qword [rsi]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x4acd60
lea r11, [r8 + 1]
movabs rdi, 0xffffffffffff
mov qword [r15 + 0x18], r11
mov byte [r8], 0x5b
mov rbx, qword [r14 + 8]
mov ecx, dword [r14]
and rbx, rdi
test ecx, ecx
je 0x4abf29
mov rdx, rsi
mov rcx, rbx
call fcn.004abe50
test al, al
je 0x4acb50
mov eax, dword [r14]
mov rdx, qword [r14 + 8]
add rbx, 0x10
and rdx, rdi
shl rax, 4
add rax, rdx
cmp rbx, rax
jne 0x4abefc
mov r14, qword [rsi + 0x20]
mov r13, qword [rsi]
cmp qword [r14 - 0x10], 0
lea r8, [r14 - 0x10]
mov qword [rsi + 0x20], r8
mov r8, qword [r13 + 0x18]
mov r9, qword [r13 + 0x10]
je 0x4ac00f
test byte [rsi + 0x44], 1
jne 0x4ac00f
cmp r8, r9
jae 0x4ae7ce
lea rbp, [r8 + 1]
mov qword [r13 + 0x18], rbp
mov byte [r8], 0xa
mov r13, qword [rsi + 0x20]
sub r13, qword [rsi + 0x18]
mov r12d, dword [rsi + 0x40]
mov rdi, qword [rsi]
movsx r15d, byte [rsi + 0x3d]
shr r13, 4
mov rcx, qword [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
imul r13, r12
sub rbx, rcx
cmp r13, rbx
jbe 0x4abff0
nop word cs:[rax + rax]
mov r8, rbx
mov edx, r15d
call sub.msvcrt.dll_memset
mov rcx, qword [rdi + 0x18]
mov r10, qword [rdi + 8]
add rcx, rbx
cmp rcx, r10
mov qword [rdi + 0x18], rcx
je 0x4ad140
mov r9, qword [rdi]
sub rcx, r10
mov edx, 1
mov r8, rcx
mov rcx, r10
sub r13, rbx
call sub.msvcrt.dll_fwrite
mov rcx, qword [rdi + 8]
mov rbx, qword [rdi + 0x10]
sub rbx, rcx
mov qword [rdi + 0x18], rcx
cmp rbx, r13
jb 0x4abfa0
test r13, r13
je 0x4ac004
mov r8, r13
mov edx, r15d
call sub.msvcrt.dll_memset
add qword [rdi + 0x18], r13
mov r13, qword [rsi]
mov r8, qword [r13 + 0x18]
mov r9, qword [r13 + 0x10]
cmp r8, r9
jae 0x4ad891
lea r11, [r8 + 1]
mov qword [r13 + 0x18], r11
mov byte [r8], 0x5d
mov rcx, qword [rsi + 0x20]
cmp qword [rsi + 0x18], rcx
je 0x4ac6a1
mov eax, 1
jmp 0x4ac2b3
and ch, 0x10
je 0x4acd14
movsx r11d, byte [r14 + 0xd]
mov r15d, 0xd
mov r8, r14
sub r15d, r11d
mov edx, 5
mov rcx, rsi
mov qword [rsp + 0x28], r8
call fcn.0049cb70
mov rbx, qword [rsi]
mov r9, qword [rsp + 0x28]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4ad160
lea r13, [r8 + 1]
mov rdi, r9
lea r14, [0x004d4a20]
mov qword [rbx + 0x18], r13
mov byte [r8], 0x22
mov r13, r9
jmp 0x4ac0af
lea r9, [r8 + 1]
mov qword [rbx + 0x18], r9
mov byte [r8], bpl
add rdi, 1
mov rbx, qword [rsi]
mov r12, rdi
sub r12, r13
cmp r15, r12
mov r8, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x10]
jbe 0x4ac9f0
movzx r10d, byte [rdi]
movsxd rax, r10d
mov ebp, r10d
movzx r12d, byte [r14 + rax]
test r12b, r12b
jne 0x4aca70
cmp r8, rdx
jb 0x4ac0a0
mov rcx, qword [rbx + 8]
cmp rcx, r8
je 0x4ac0a0
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ac0a0
mov r14, qword [rsi + 0x20]
cmp r14, qword [rsi + 0x18]
mov r13, qword [rsi]
mov rax, qword [r13 + 0x18]
mov r12, qword [r13 + 0x10]
je 0x4ad130
cmp byte [r14 - 8], 0
mov r8, qword [r14 - 0x10]
jne 0x4acdc0
test r8, r8
je 0x4ad8e2
and r8d, 1
jne 0x4ade1a
cmp rax, r12
jae 0x4aeca8
lea rdi, [rax + 1]
mov qword [r13 + 0x18], rdi
mov byte [rax], 0x2c
mov r13, qword [rsi]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4aec81
lea rdx, [r8 + 1]
mov qword [r13 + 0x18], rdx
mov byte [r8], 0xa
mov r9, qword [r14 - 0x10]
mov r13, qword [rsi]
test r9b, 1
mov r12, qword [r13 + 0x10]
mov rax, qword [r13 + 0x18]
je 0x4adaf0
add r9, 1
mov qword [r14 - 0x10], r9
cmp rax, r12
jae 0x4ad1f0
lea r14, [rax + 1]
mov qword [r13 + 0x18], r14
mov byte [rax], 0x6e
mov rbp, qword [rsi]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4ad1c0
lea rdx, [r8 + 1]
mov qword [rbp + 0x18], rdx
mov byte [r8], 0x75
mov rdi, qword [rsi]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4ad190
lea rcx, [r8 + 1]
mov qword [rdi + 0x18], rcx
mov byte [r8], 0x6c
mov rsi, qword [rsi]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jae 0x4ad100
lea r10, [r8 + 1]
mov eax, 1
mov qword [rsi + 0x18], r10
mov byte [r8], 0x6c
jmp 0x4ac2b3
mov edx, 1
mov rcx, rsi
call fcn.0049cb70
mov rdi, qword [rsi]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4ad340
lea rdx, [r8 + 1]
mov qword [rdi + 0x18], rdx
mov byte [r8], 0x66
mov r13, qword [rsi]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4ad310
lea rax, [r8 + 1]
mov qword [r13 + 0x18], rax
mov byte [r8], 0x61
mov r14, qword [rsi]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jae 0x4ad2e0
lea rcx, [r8 + 1]
mov qword [r14 + 0x18], rcx
mov byte [r8], 0x6c
mov r15, qword [rsi]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x4ad2b0
lea rbp, [r8 + 1]
mov qword [r15 + 0x18], rbp
mov byte [r8], 0x73
mov rsi, qword [rsi]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jae 0x4ac33c
lea r10, [r8 + 1]
mov eax, 1
mov qword [rsi + 0x18], r10
mov byte [r8], 0x65
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 2
mov rcx, rsi
call fcn.0049cb70
mov rbp, qword [rsi]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4ad280
lea r10, [r8 + 1]
mov qword [rbp + 0x18], r10
mov byte [r8], 0x74
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4ad250
lea r11, [r8 + 1]
mov qword [r12 + 0x18], r11
mov byte [r8], 0x72
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4ad220
lea r9, [r8 + 1]
mov qword [rbx + 0x18], r9
mov byte [r8], 0x75
mov rsi, qword [rsi]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jb 0x4ac2a2
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x4ac2a2
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x4ac2a2
mov edx, 3
mov rcx, rsi
call fcn.0049cb70
mov rdx, qword [rsi + 0x20]
mov r8, qword [rsi + 0x28]
lea r15, [rdx + 0x10]
cmp r15, r8
ja 0x4add54
test rdx, rdx
mov qword [rsi + 0x20], r15
je 0x4ac398
mov qword [rdx], 0
mov byte [rdx + 8], 0
mov rdi, qword [rsi]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4acd90
lea r10, [r8 + 1]
movabs rbx, 0xffffffffffff
mov qword [rdi + 0x18], r10
mov byte [r8], 0x7b
mov r13, qword [r14 + 8]
mov r9d, dword [r14]
and r13, rbx
test r9d, r9d
mov qword [rsp + 0x28], r13
je 0x4ac5b0
lea r15, [0x004d4a20]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0xb0], r14
mov r14, qword [rsp + 0x28]
test byte [r14 + 0xf], 0x10
je 0x4ac4c0
movsx ecx, byte [r14 + 0xd]
mov ebx, 0xd
sub ebx, ecx
mov rdi, qword [rsi + 0x20]
cmp rdi, qword [rsi + 0x18]
mov r13, qword [rsi]
mov rax, qword [r13 + 0x18]
mov rdx, qword [r13 + 0x10]
je 0x4ac4d4
cmp byte [rdi - 8], 0
mov r8, qword [rdi - 0x10]
je 0x4ac7f0
test r8, r8
je 0x4ac479
cmp rax, rdx
jae 0x4aced5
lea r11, [rax + 1]
mov qword [r13 + 0x18], r11
mov byte [rax], 0x2c
test byte [rsi + 0x44], 1
je 0x4acb57
mov r13, qword [rsi]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4adeca
lea rax, [r8 + 1]
mov qword [r13 + 0x18], rax
mov byte [r8], 0x20
mov r13, qword [rsi]
mov rax, qword [r13 + 0x18]
mov rdx, qword [r13 + 0x10]
test byte [rsi + 0x44], 1
je 0x4acb62
mov r9, qword [rdi - 0x10]
add r9, 1
cmp rax, rdx
mov qword [rdi - 0x10], r9
jb 0x4ac4dd
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4ac4dd
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4ac4dd
mov r11, r14
mov ebx, dword [r14]
mov r14, qword [rsp + 0x30]
and r14, qword [r11 + 8]
jmp 0x4ac407
cmp rax, rdx
mov byte [rsi + 0x3c], 1
jae 0x4ac494
lea rdi, [rax + 1]
mov qword [r13 + 0x18], rdi
mov byte [rax], 0x22
mov r13d, ebx
mov rdi, r14
jmp 0x4ac4ff
lea rcx, [r8 + 1]
mov qword [rbx + 0x18], rcx
mov byte [r8], bpl
add rdi, 1
mov rbx, qword [rsi]
mov rbp, rdi
sub rbp, r14
cmp rbp, r13
mov r8, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x10]
jae 0x4ac551
movzx r10d, byte [rdi]
movsxd r9, r10d
mov ebp, r10d
movzx r12d, byte [r15 + r9]
test r12b, r12b
jne 0x4ac6e0
cmp r8, rcx
jb 0x4ac4f0
mov rcx, qword [rbx + 8]
cmp rcx, r8
je 0x4ac4f0
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ac4f0
cmp r8, rcx
jae 0x4ac7c0
lea r14, [r8 + 1]
mov rdx, rsi
mov qword [rbx + 0x18], r14
mov byte [r8], 0x22
mov r8, qword [rsp + 0x28]
lea rcx, [r8 + 0x10]
call fcn.004abe50
test al, al
je 0x4acb50
mov r12, qword [rsp + 0xb0]
mov r11, qword [rsp + 0x30]
add qword [rsp + 0x28], 0x20
mov r10, qword [rsp + 0x28]
mov r9d, dword [r12]
and r11, qword [r12 + 8]
shl r9, 5
add r9, r11
cmp r10, r9
jne 0x4ac3eb
mov r15, qword [rsi + 0x20]
mov r12, qword [rsi]
cmp qword [r15 - 0x10], 0
lea rdx, [r15 - 0x10]
mov qword [rsi + 0x20], rdx
je 0x4ac676
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4ae7a5
lea rax, [r8 + 1]
mov qword [r12 + 0x18], rax
mov byte [r8], 0xa
mov r13, qword [rsi + 0x20]
sub r13, qword [rsi + 0x18]
mov edi, dword [rsi + 0x40]
mov r14, qword [rsi]
movsx ebp, byte [rsi + 0x3d]
shr r13, 4
mov rcx, qword [r14 + 0x18]
mov rbx, qword [r14 + 0x10]
imul r13, rdi
sub rbx, rcx
cmp r13, rbx
jbe 0x4ac660
mov r8, rbx
mov edx, ebp
call sub.msvcrt.dll_memset
mov rcx, qword [r14 + 0x18]
mov r10, qword [r14 + 8]
add rcx, rbx
cmp rcx, r10
mov qword [r14 + 0x18], rcx
je 0x4ad0e0
mov r9, qword [r14]
sub rcx, r10
mov edx, 1
mov r8, rcx
mov rcx, r10
sub r13, rbx
call sub.msvcrt.dll_fwrite
mov rcx, qword [r14 + 8]
mov rbx, qword [r14 + 0x10]
sub rbx, rcx
mov qword [r14 + 0x18], rcx
cmp rbx, r13
jb 0x4ac611
test r13, r13
je 0x4ac673
mov r8, r13
mov edx, ebp
call sub.msvcrt.dll_memset
add qword [r14 + 0x18], r13
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4adc74
lea rcx, [r8 + 1]
mov qword [r12 + 0x18], rcx
mov byte [r8], 0x7d
mov r8, qword [rsi + 0x20]
cmp qword [rsi + 0x18], r8
jne 0x4ac032
mov rsi, qword [rsi]
mov r8, qword [rsi + 0x18]
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x4ac032
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r11, qword [rsi + 8]
mov eax, 1
mov qword [rsi + 0x18], r11
jmp 0x4ac2b3
cmp r8, rcx
jae 0x4aca40
lea rdx, [r8 + 1]
mov qword [rbx + 0x18], rdx
mov byte [r8], 0x5c
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4aca10
lea rax, [r8 + 1]
cmp r12b, 0x75
mov qword [rbx + 0x18], rax
mov byte [r8], r12b
jne 0x4ac4fb
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4ad370
lea rcx, [r8 + 1]
mov qword [r12 + 0x18], rcx
mov byte [r8], 0x30
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4ad3d0
lea r11, [r8 + 1]
sar r10d, 4
lea r9, [0x004d4b20]
mov qword [rbx + 0x18], r11
mov byte [r8], 0x30
movsxd r8, r10d
mov rbx, qword [rsi]
movzx r12d, byte [r9 + r8]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4ad3a3
lea rdx, [r8 + 1]
and ebp, 0xf
lea rax, [0x004d4b20]
mov qword [rbx + 0x18], rdx
mov byte [r8], r12b
mov rbx, qword [rsi]
movzx ebp, byte [rax + rbp]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jb 0x4ac4f0
mov rcx, qword [rbx + 8]
cmp r8, rcx
jne 0x4ac53b
jmp 0x4ac4f0
mov rcx, qword [rbx + 8]
cmp rcx, r8
je 0x4ac55a
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ac55a
test r8, r8
je 0x4acc40
and r8d, 1
jne 0x4ace9f
cmp rax, rdx
jae 0x4ade77
lea rdx, [rax + 1]
mov qword [r13 + 0x18], rdx
mov byte [rax], 0x2c
mov rbp, qword [rsi]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4ade50
lea r10, [r8 + 1]
mov qword [rbp + 0x18], r10
mov byte [r8], 0xa
jmp 0x4acc54
test ch, 2
jne 0x4ad460
test cl, 0x20
jne 0x4ad665
test cl, 0x40
jne 0x4ad8fb
and ecx, 0x80
mov r12, qword [r14]
mov edx, 6
mov rcx, rsi
jne 0x4acf29
lea rbp, [rsp + 0x40]
call fcn.0049cb70
mov rdx, rbp
mov rcx, r12
call fcn.004ab230
cmp rax, rbp
mov rdi, rax
je 0x4ac032
mov r10, rax
mov rbx, rbp
and r10d, 3
je 0x4ac9b2
cmp r10, 1
je 0x4ac8f8
cmp r10, 2
je 0x4ac8d4
mov rbx, qword [rsi]
movzx r13d, byte [rbp]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4aee99
lea rdx, [r8 + 1]
mov qword [rbx + 0x18], rdx
lea rbx, [rbp + 1]
mov byte [r8], r13b
mov r15, qword [rsi]
movzx r14d, byte [rbx]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x4aec5b
lea rax, [r8 + 1]
add rbx, 1
mov qword [r15 + 0x18], rax
mov byte [r8], r14b
mov rbp, qword [rsi]
movzx r12d, byte [rbx]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4ae834
lea rcx, [r8 + 1]
add rbx, 1
cmp rdi, rbx
mov qword [rbp + 0x18], rcx
mov byte [r8], r12b
jne 0x4ac9b2
jmp 0x4ac032
lea r11, [r8 + 1]
lea r15, [rbx + 1]
mov qword [r14 + 0x18], r11
mov byte [r8], r13b
movzx r12d, byte [rbx + 1]
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4ae35c
lea r9, [r8 + 1]
mov qword [rbx + 0x18], r9
mov byte [r8], r12b
mov r13, qword [rsi]
movzx ebp, byte [r15 + 1]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4adf6b
lea r10, [r8 + 1]
mov qword [r13 + 0x18], r10
mov byte [r8], bpl
mov r12, qword [rsi]
movzx r14d, byte [r15 + 2]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4adf42
lea rbx, [r15 + 3]
lea rdx, [r8 + 1]
cmp rdi, rbx
mov qword [r12 + 0x18], rdx
mov byte [r8], r14b
je 0x4ac032
mov r14, qword [rsi]
movzx r13d, byte [rbx]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jb 0x4ac930
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4ac930
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4ac930
cmp r8, rdx
jae 0x4acd30
lea r15, [r8 + 1]
mov eax, 1
mov qword [rbx + 0x18], r15
mov byte [r8], 0x22
jmp 0x4ac2b3
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ac706
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x38], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
mov r10d, dword [rsp + 0x38]
jmp 0x4ac706
mov rcx, qword [rbx + 8]
cmp rcx, r8
je 0x4ac6e9
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x38], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
mov r10d, dword [rsp + 0x38]
jmp 0x4ac6e9
cmp r8, rdx
jae 0x4ad430
lea rcx, [r8 + 1]
mov qword [rbx + 0x18], rcx
mov byte [r8], 0x5c
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4ad400
lea r11, [r8 + 1]
cmp r12b, 0x75
mov qword [rbx + 0x18], r11
mov byte [r8], r12b
jne 0x4ac0ab
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4adccd
lea r9, [r8 + 1]
mov qword [r12 + 0x18], r9
mov byte [r8], 0x30
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4adc9d
lea rdx, [r8 + 1]
sar r10d, 4
lea rax, [0x004d4b20]
mov qword [rbx + 0x18], rdx
mov byte [r8], 0x30
movsxd r8, r10d
mov rbx, qword [rsi]
movzx r12d, byte [rax + r8]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4adda8
lea rcx, [r8 + 1]
and ebp, 0xf
lea r11, [0x004d4b20]
mov qword [rbx + 0x18], rcx
mov byte [r8], r12b
mov rbx, qword [rsi]
movzx ebp, byte [r11 + rbp]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jb 0x4ac0a0
mov rcx, qword [rbx + 8]
cmp r8, rcx
jne 0x4ac0ef
jmp 0x4ac0a0
xor eax, eax
jmp 0x4ac2b3
mov r13, qword [rsi]
mov rax, qword [r13 + 0x18]
mov rdx, qword [r13 + 0x10]
cmp rax, rdx
jae 0x4ad8b8
lea r8, [rax + 1]
mov qword [r13 + 0x18], r8
mov byte [rax], 0xa
mov rbp, qword [rsi + 0x20]
sub rbp, qword [rsi + 0x18]
mov edx, dword [rsi + 0x40]
mov r12, qword [rsi]
movsx r10d, byte [rsi + 0x3d]
shr rbp, 4
mov rcx, qword [r12 + 0x18]
mov r13, qword [r12 + 0x10]
imul rbp, rdx
mov dword [rsp + 0x38], r10d
sub r13, rcx
cmp rbp, r13
jbe 0x4acc04
nop dword [rax + rax]
mov edx, dword [rsp + 0x38]
mov r8, r13
call sub.msvcrt.dll_memset
mov rcx, qword [r12 + 0x18]
mov r11, qword [r12 + 8]
add rcx, r13
cmp rcx, r11
mov qword [r12 + 0x18], rcx
je 0x4acc21
mov r9, qword [r12]
sub rcx, r11
mov edx, 1
mov r8, rcx
mov rcx, r11
sub rbp, r13
call sub.msvcrt.dll_fwrite
mov rcx, qword [r12 + 8]
mov r13, qword [r12 + 0x10]
sub r13, rcx
mov qword [r12 + 0x18], rcx
cmp r13, rbp
jb 0x4acbb0
test rbp, rbp
jne 0x4ad86c
mov r13, qword [rsi]
mov r9, qword [rdi - 0x10]
mov rax, qword [r13 + 0x18]
mov rdx, qword [r13 + 0x10]
jmp 0x4ac487
sub rbp, r13
mov r13, qword [r12 + 0x10]
sub r13, rcx
cmp rbp, r13
ja 0x4acbb0
jmp 0x4acc04
cmp rax, rdx
jae 0x4aceff
lea rbp, [rax + 1]
mov qword [r13 + 0x18], rbp
mov byte [rax], 0xa
mov r9, qword [rdi - 0x10]
mov r13, qword [rsi]
test r9b, 1
mov rdx, qword [r13 + 0x10]
mov rax, qword [r13 + 0x18]
jne 0x4ac487
mov rbp, qword [rsi + 0x20]
sub rbp, qword [rsi + 0x18]
sub rdx, rax
mov r9d, dword [rsi + 0x40]
movsx ecx, byte [rsi + 0x3d]
mov r12, rdx
shr rbp, 4
imul rbp, r9
mov dword [rsp + 0x38], ecx
cmp rbp, rdx
jbe 0x4acce2
mov edx, dword [rsp + 0x38]
mov rcx, rax
mov r8, r12
call sub.msvcrt.dll_memset
mov rax, qword [r13 + 0x18]
mov rcx, qword [r13 + 8]
add rax, r12
cmp rax, rcx
mov qword [r13 + 0x18], rax
je 0x4acd03
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
sub rbp, r12
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
mov r12, qword [r13 + 0x10]
sub r12, rax
mov qword [r13 + 0x18], rax
cmp r12, rbp
jb 0x4acc94
test rbp, rbp
je 0x4acc0d
mov edx, dword [rsp + 0x38]
mov r8, rbp
mov rcx, rax
call sub.msvcrt.dll_memset
add qword [r13 + 0x18], rbp
jmp 0x4acc0d
sub rbp, r12
mov r12, qword [r13 + 0x10]
sub r12, rax
cmp rbp, r12
ja 0x4acc94
jmp 0x4acce2
movabs r8, 0xffffffffffff
mov r15d, dword [r14]
and r8, qword [r14 + 8]
jmp 0x4ac05a
mov rcx, qword [rbx + 8]
cmp rcx, r8
je 0x4ac9f9
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ac9f9
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x4abed8
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x4abed8
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x4ac3a9
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x4ac3a9
test r8, r8
je 0x4ad652
cmp rax, r12
jae 0x4ae64b
lea r10, [rax + 1]
mov qword [r13 + 0x18], r10
mov byte [rax], 0x2c
test byte [rsi + 0x44], 1
mov r13, qword [rsi]
jne 0x4ad62d
mov rax, qword [r13 + 0x18]
mov r12, qword [r13 + 0x10]
cmp rax, r12
jae 0x4ae581
lea r8, [rax + 1]
mov qword [r13 + 0x18], r8
mov byte [rax], 0xa
mov r12, qword [rsi + 0x20]
sub r12, qword [rsi + 0x18]
mov r11d, dword [rsi + 0x40]
mov rdi, qword [rsi]
movsx r13d, byte [rsi + 0x3d]
shr r12, 4
mov rcx, qword [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
imul r12, r11
sub rbx, rcx
cmp r12, rbx
jbe 0x4ace82
mov r8, rbx
mov edx, r13d
call sub.msvcrt.dll_memset
mov rcx, qword [rdi + 0x18]
mov r15, qword [rdi + 8]
add rcx, rbx
cmp rcx, r15
mov qword [rdi + 0x18], rcx
je 0x4ad0c0
mov r9, qword [rdi]
sub rcx, r15
mov edx, 1
mov r8, rcx
mov rcx, r15
sub r12, rbx
call sub.msvcrt.dll_fwrite
mov rcx, qword [rdi + 8]
mov rbx, qword [rdi + 0x10]
sub rbx, rcx
mov qword [rdi + 0x18], rcx
cmp rbx, r12
jb 0x4ace32
test r12, r12
jne 0x4ae4c5
mov r13, qword [rsi]
mov r9, qword [r14 - 0x10]
mov rax, qword [r13 + 0x18]
mov r12, qword [r13 + 0x10]
jmp 0x4ac18a
cmp rax, rdx
jae 0x4adf18
lea r12, [rax + 1]
mov qword [r13 + 0x18], r12
mov byte [rax], 0x3a
mov r13, qword [rsi]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4adef1
lea rax, [r8 + 1]
mov qword [r13 + 0x18], rax
mov byte [r8], 0x20
jmp 0x4acc54
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4ac43c
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4ac43c
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4acc49
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4acc49
lea r15, [rsp + 0x40]
call fcn.0049cb70
test r12, r12
mov rdx, r15
jns 0x4acf4c
lea r15, [rsp + 0x40]
mov byte [rsp + 0x40], 0x2d
neg r12
lea rdx, [r15 + 1]
mov rcx, r12
call fcn.004ab230
cmp rax, r15
mov rdi, rax
je 0x4ac032
mov r8, rax
mov r12, r15
and r8d, 3
je 0x4ad084
cmp r8, 1
je 0x4acfc5
cmp r8, 2
je 0x4acfa0
mov r13, qword [rsi]
movzx ebp, byte [r15]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4aeebf
lea rax, [r8 + 1]
lea r12, [r15 + 1]
mov qword [r13 + 0x18], rax
mov byte [r8], bpl
mov rbx, qword [rsi]
movzx r14d, byte [r12]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4aed98
lea rcx, [r8 + 1]
add r12, 1
mov qword [rbx + 0x18], rcx
mov byte [r8], r14b
mov rbp, qword [rsi]
movzx r15d, byte [r12]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4aeb72
lea r11, [r8 + 1]
add r12, 1
cmp rdi, r12
mov qword [rbp + 0x18], r11
mov byte [r8], r15b
jne 0x4ad084
jmp 0x4ac032
lea r9, [r8 + 1]
lea r15, [r12 + 1]
mov qword [r14 + 0x18], r9
mov byte [r8], r13b
mov rbx, qword [rsi]
movzx r12d, byte [r12 + 1]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4ae4e8
lea r10, [r8 + 1]
mov qword [rbx + 0x18], r10
mov byte [r8], r12b
mov r13, qword [rsi]
movzx ebp, byte [r15 + 1]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4ae49e
lea rdx, [r8 + 1]
mov qword [r13 + 0x18], rdx
mov byte [r8], bpl
mov r12, qword [rsi]
movzx r14d, byte [r15 + 2]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4ae475
lea rax, [r8 + 1]
mov qword [r12 + 0x18], rax
lea r12, [r15 + 3]
mov byte [r8], r14b
cmp rdi, r12
je 0x4ac032
mov r14, qword [rsi]
movzx r13d, byte [r12]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jb 0x4ad000
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4ad000
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4ad000
sub r12, rbx
mov rbx, qword [rdi + 0x10]
sub rbx, rcx
cmp r12, rbx
ja 0x4ace32
jmp 0x4ace82
sub r13, rbx
mov rbx, qword [r14 + 0x10]
sub rbx, rcx
cmp r13, rbx
ja 0x4ac611
jmp 0x4ac660
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x4ac1f1
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x4ac1f1
mov byte [rsi + 0x3c], 1
jmp 0x4ac192
sub r13, rbx
mov rbx, qword [rdi + 0x10]
sub rbx, rcx
cmp r13, rbx
ja 0x4abfa0
jmp 0x4abff0
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ac082
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
mov r9, qword [rsp + 0x28]
jmp 0x4ac082
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x4ac1d4
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x4ac1d4
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4ac1b7
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4ac1b7
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4ac19b
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4ac19b
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ac31f
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ac31f
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4ac301
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x4ac301
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4ac2e2
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4ac2e2
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x4ac285
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x4ac285
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4ac268
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4ac268
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4ac24b
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4ac24b
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x4ac22e
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x4ac22e
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4ac72e
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x38], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
mov r10d, dword [rsp + 0x38]
jmp 0x4ac72e
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ac77c
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ac77c
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ac74c
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x38], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
mov r10d, dword [rsp + 0x38]
jmp 0x4ac74c
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4aca96
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x28], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
mov r10d, dword [rsp + 0x28]
jmp 0x4aca96
mov rcx, qword [rbx + 8]
cmp rcx, r8
je 0x4aca79
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x28], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
mov r10d, dword [rsp + 0x28]
jmp 0x4aca79
mov rbp, qword [r14]
mov edx, 6
mov rcx, rsi
call fcn.0049cb70
movabs r13, 0x7ff0000000000000
xor eax, eax
mov r8, rbp
and r8, r13
cmp r8, r13
je 0x4ac2b3
movabs rcx, 0x7fffffffffffffff
test rbp, rcx
jne 0x4adf92
lea r13, [rsp + 0x40]
test rbp, rbp
mov rdi, r13
jns 0x4ad4b9
lea r13, [rsp + 0x40]
mov byte [rsp + 0x40], 0x2d
lea rdi, [r13 + 1]
mov r12d, 0x2e30
mov byte [rdi + 2], 0x30
mov word [rdi], r12w
add rdi, 3
cmp rdi, r13
mov rbp, r13
je 0x4ac032
mov r14, rdi
and r14d, 3
je 0x4ad5f1
cmp r14, 1
je 0x4ad53d
cmp r14, 2
je 0x4ad515
mov rbx, qword [rsi]
movzx r15d, byte [r13]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4aeee6
lea rax, [r8 + 1]
lea rbp, [r13 + 1]
mov qword [rbx + 0x18], rax
mov byte [r8], r15b
mov r12, qword [rsi]
movzx r13d, byte [rbp]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4aed6f
lea r9, [r8 + 1]
add rbp, 1
mov qword [r12 + 0x18], r9
mov byte [r8], r13b
mov r15, qword [rsi]
movzx r14d, byte [rbp]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x4aebad
lea r10, [r8 + 1]
add rbp, 1
cmp rbp, rdi
mov qword [r15 + 0x18], r10
mov byte [r8], r14b
jne 0x4ad5f1
jmp 0x4ac032
lea r11, [r8 + 1]
lea r12, [rbp + 1]
mov qword [rbx + 0x18], r11
mov byte [r8], r13b
mov r14, qword [rsi]
movzx ebp, byte [rbp + 1]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jae 0x4ae55b
lea rdx, [r8 + 1]
mov qword [r14 + 0x18], rdx
mov byte [r8], bpl
mov r13, qword [rsi]
movzx r15d, byte [r12 + 1]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4ae534
lea rcx, [r8 + 1]
mov qword [r13 + 0x18], rcx
mov byte [r8], r15b
mov rbx, qword [rsi]
movzx ebp, byte [r12 + 2]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4ae50e
lea rax, [r8 + 1]
mov qword [rbx + 0x18], rax
mov byte [r8], bpl
lea rbp, [r12 + 3]
cmp rbp, rdi
je 0x4ac032
mov rbx, qword [rsi]
movzx r13d, byte [rbp]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jb 0x4ad570
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ad570
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ad570
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4aec0d
lea rax, [r8 + 1]
mov qword [r13 + 0x18], rax
mov byte [r8], 0x20
mov r13, qword [rsi]
mov rax, qword [r13 + 0x18]
mov r12, qword [r13 + 0x10]
test byte [rsi + 0x44], 1
je 0x4acdf2
mov r9, qword [r14 - 0x10]
jmp 0x4ac18a
mov r13d, dword [r14]
mov rcx, rsi
mov edx, 6
lea r14, [rsp + 0x40]
call fcn.0049cb70
test r13d, r13d
mov ecx, r13d
mov r8, r14
jns 0x4ad695
lea r14, [rsp + 0x40]
mov byte [rsp + 0x40], 0x2d
neg ecx
lea r8, [r14 + 1]
cmp ecx, 0x270f
ja 0x4adb8c
mov edx, 0x51eb851f
mov eax, ecx
mov r9d, ecx
mul edx
lea r13, [r8 + 1]
shr edx, 5
imul r15d, edx, 0x64
lea ebp, [rdx + rdx]
sub r9d, r15d
add r9d, r9d
cmp ecx, 0x3e7
jbe 0x4ae784
lea r10, [0x004d4c80]
mov edi, ebp
movzx r11d, byte [r10 + rdi]
mov byte [r8], r11b
lea r8d, [rbp + 1]
lea rcx, [r13 + 1]
movzx ebx, byte [r10 + r8]
mov byte [r13], bl
mov r13d, r9d
lea r8, [rcx + 1]
movzx r12d, byte [r10 + r13]
lea r13, [rcx + 2]
mov byte [rcx], r12b
add r9d, 1
movzx eax, byte [r10 + r9]
mov byte [r8], al
cmp r13, r14
je 0x4ac032
mov rdx, r13
mov rbx, r14
and edx, 3
je 0x4ad831
cmp rdx, 1
je 0x4ad77a
cmp rdx, 2
je 0x4ad756
mov r15, qword [rsi]
movzx ebp, byte [r14]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x4aee33
lea r9, [r8 + 1]
lea rbx, [r14 + 1]
mov qword [r15 + 0x18], r9
mov byte [r8], bpl
mov rdi, qword [rsi]
movzx r14d, byte [rbx]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4aed22
lea r10, [r8 + 1]
add rbx, 1
mov qword [rdi + 0x18], r10
mov byte [r8], r14b
mov rbp, qword [rsi]
movzx r12d, byte [rbx]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4ae80d
lea rcx, [r8 + 1]
add rbx, 1
cmp rbx, r13
mov qword [rbp + 0x18], rcx
mov byte [r8], r12b
jne 0x4ad831
jmp 0x4ac032
lea r11, [r8 + 1]
lea rdi, [rbx + 1]
mov qword [r14 + 0x18], r11
mov byte [r8], r15b
movzx r12d, byte [rbx + 1]
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4addf4
lea rax, [r8 + 1]
mov qword [rbx + 0x18], rax
mov byte [r8], r12b
mov r15, qword [rsi]
movzx ebp, byte [rdi + 1]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x4addce
lea rdx, [r8 + 1]
mov qword [r15 + 0x18], rdx
mov byte [r8], bpl
mov r12, qword [rsi]
movzx r14d, byte [rdi + 2]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4adea1
lea rbx, [rdi + 3]
lea r9, [r8 + 1]
cmp rbx, r13
mov qword [r12 + 0x18], r9
mov byte [r8], r14b
je 0x4ac032
mov r14, qword [rsi]
movzx r15d, byte [rbx]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jb 0x4ad7b0
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4ad7b0
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4ad7b0
mov edx, dword [rsp + 0x38]
mov r8, rbp
call sub.msvcrt.dll_memset
mov r13, qword [rsi]
add qword [r12 + 0x18], rbp
mov r9, qword [rdi - 0x10]
mov rax, qword [r13 + 0x18]
mov rdx, qword [r13 + 0x10]
jmp 0x4ac487
mov rcx, qword [r13 + 8]
cmp rcx, r8
je 0x4ac018
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4ac018
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4acb6b
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4acb6b
cmp rax, r12
jae 0x4ae621
lea r12, [rax + 1]
mov qword [r13 + 0x18], r12
mov byte [rax], 0xa
jmp 0x4ac171
mov edi, dword [r14]
mov edx, 6
mov rcx, rsi
call fcn.0049cb70
cmp edi, 0x270f
ja 0x4ae382
mov r15d, 0x51eb851f
mov eax, edi
mov ebp, edi
mul r15d
shr edx, 5
imul ebx, edx, 0x64
lea r10d, [rdx + rdx]
sub ebp, ebx
add ebp, ebp
cmp edi, 0x3e7
jbe 0x4aeb42
lea rdi, [0x004d4c80]
mov r11d, r10d
lea r15, [rsp + 0x40]
movzx r9d, byte [rdi + r11]
lea r13, [r15 + 1]
mov byte [rsp + 0x40], r9b
add r10d, 1
lea r8, [r13 + 1]
movzx ecx, byte [rdi + r10]
mov byte [r13], cl
mov r14d, ebp
lea r12, [r8 + 1]
movzx eax, byte [rdi + r14]
mov byte [r8], al
add ebp, 1
lea r13, [r12 + 1]
movzx edx, byte [rdi + rbp]
mov byte [r12], dl
cmp r13, r15
je 0x4ac032
mov r10, r13
mov r12, r15
and r10d, 3
je 0x4adab4
cmp r10, 1
je 0x4ad9f9
cmp r10, 2
je 0x4ad9d4
mov rbp, qword [rsi]
movzx ebx, byte [r15]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4af1b0
lea rdi, [r8 + 1]
lea r12, [r15 + 1]
mov qword [rbp + 0x18], rdi
mov byte [r8], bl
mov r14, qword [rsi]
movzx r15d, byte [r12]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jae 0x4aedbe
lea r11, [r8 + 1]
add r12, 1
mov qword [r14 + 0x18], r11
mov byte [r8], r15b
mov rbx, qword [rsi]
movzx ebp, byte [r12]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4aebe7
lea r9, [r8 + 1]
add r12, 1
cmp r12, r13
mov qword [rbx + 0x18], r9
mov byte [r8], bpl
jne 0x4adab4
jmp 0x4ac032
lea rcx, [r8 + 1]
lea r14, [r12 + 1]
mov qword [r15 + 0x18], rcx
mov byte [r8], dil
mov rbp, qword [rsi]
movzx r12d, byte [r12 + 1]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4ae5fa
lea rax, [r8 + 1]
mov qword [rbp + 0x18], rax
mov byte [r8], r12b
mov rbx, qword [rsi]
movzx edi, byte [r14 + 1]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4ae5d4
lea rdx, [r8 + 1]
mov qword [rbx + 0x18], rdx
mov byte [r8], dil
mov r12, qword [rsi]
movzx r15d, byte [r14 + 2]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4ae5ab
lea r10, [r8 + 1]
mov qword [r12 + 0x18], r10
lea r12, [r14 + 3]
mov byte [r8], r15b
cmp r12, r13
je 0x4ac032
mov r15, qword [rsi]
movzx edi, byte [r12]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jb 0x4ada30
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x4ada30
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x4ada30
mov r15, qword [rsi + 0x20]
sub r15, qword [rsi + 0x18]
sub r12, rax
mov ecx, dword [rsi + 0x40]
movsx ebp, byte [rsi + 0x3d]
shr r15, 4
imul r15, rcx
cmp r15, r12
jbe 0x4adb5c
nop
mov rcx, rax
mov r8, r12
mov edx, ebp
call sub.msvcrt.dll_memset
mov rax, qword [r13 + 0x18]
mov rcx, qword [r13 + 8]
add rax, r12
cmp rax, rcx
mov qword [r13 + 0x18], rax
je 0x4adb7b
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
sub r15, r12
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
mov r12, qword [r13 + 0x10]
sub r12, rax
mov qword [r13 + 0x18], rax
cmp r12, r15
jb 0x4adb10
test r15, r15
je 0x4ace8b
mov r8, r15
mov edx, ebp
mov rcx, rax
call sub.msvcrt.dll_memset
add qword [r13 + 0x18], r15
jmp 0x4ace8b
sub r15, r12
mov r12, qword [r13 + 0x10]
sub r12, rax
cmp r15, r12
ja 0x4adb10
jmp 0x4adb5c
cmp ecx, 0x5f5e0ff
ja 0x4ae675
mov r15d, 0xd1b71759
mov eax, ecx
mov r9d, 0x431bde83
mul r15d
mov eax, ecx
mov edi, 0x51eb851f
mov ebx, ecx
shr edx, 0xd
mov ebp, edx
imul r12d, edx, 0x2710
mul r9d
mov eax, ebp
sub ebx, r12d
shr edx, 0x12
lea r13d, [rdx + rdx]
mul edi
mov eax, ebx
shr edx, 5
imul r11d, edx, 0x64
mul edi
sub ebp, r11d
shr edx, 5
add ebp, ebp
imul r15d, edx, 0x64
lea r10d, [rdx + rdx]
sub ebx, r15d
add ebx, ebx
cmp ecx, 0x98967f
jbe 0x4aec34
lea r12, [0x004d4c80]
mov edi, r13d
lea rcx, [r8 + 1]
movzx r11d, byte [r12 + rdi]
mov byte [r8], r11b
lea r8d, [r13 + 1]
lea r9, [rcx + 1]
movzx r13d, byte [r12 + r8]
mov byte [rcx], r13b
mov eax, ebp
lea r8, [r9 + 1]
movzx edx, byte [r12 + rax]
mov byte [r9], dl
lea ebp, [rbp + 1]
mov r9d, r10d
lea r10d, [r10 + 1]
mov r11d, ebx
lea ebx, [rbx + 1]
movzx r15d, byte [r12 + rbp]
mov byte [r8], r15b
movzx ecx, byte [r12 + r9]
mov byte [r8 + 1], cl
movzx edi, byte [r12 + r10]
mov byte [r8 + 2], dil
movzx r13d, byte [r12 + r11]
mov byte [r8 + 3], r13b
movzx r12d, byte [r12 + rbx]
lea r13, [r8 + 5]
mov byte [r8 + 4], r12b
jmp 0x4ad70e
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4ac686
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x4ac686
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4acadc
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x28], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
mov r10d, dword [rsp + 0x28]
jmp 0x4acadc
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4acabe
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x28], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
mov r10d, dword [rsp + 0x28]
jmp 0x4acabe
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x4aeb99
sub r8, rcx
lea rbp, [r8 + 1]
shr rbp, 1
add r8, rbp
sub r9, rcx
lea r13, [r9 + 0x10]
mov r12, r9
cmp r13, r8
cmovb r13, r8
test r13, r13
je 0x4ae801
mov rdx, r13
call sub.msvcrt.dll_realloc
lea r9, [rax + r12]
mov qword [rsi + 0x18], rax
add rax, r13
mov qword [rsi + 0x28], rax
lea r10, [r9 + 0x10]
jmp 0x4abeb2
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x4aebd3
sub r8, rcx
lea rax, [r8 + 1]
shr rax, 1
add r8, rax
sub rdx, rcx
lea r12, [rdx + 0x10]
mov rbp, rdx
cmp r12, r8
cmovb r12, r8
test r12, r12
je 0x4ae7f5
mov rdx, r12
call sub.msvcrt.dll_realloc
lea rdx, [rax + rbp]
mov qword [rsi + 0x18], rax
add rax, r12
mov qword [rsi + 0x28], rax
lea r15, [rdx + 0x10]
jmp 0x4ac384
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4acb0c
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4acb0c
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x4ad7f5
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x4ad7f5
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ad7d5
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ad7d5
cmp rax, r12
jae 0x4aecf8
lea r11, [rax + 1]
mov qword [r13 + 0x18], r11
mov byte [rax], 0x3a
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4aecd2
lea r9, [r8 + 1]
mov qword [rbx + 0x18], r9
mov byte [r8], 0x20
jmp 0x4ac171
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4ac828
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4ac828
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4ac80c
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4ac80c
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4ad818
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x4ad818
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4ac462
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4ac462
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4acec4
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4acec4
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4acea8
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4acea8
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4ac999
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x4ac999
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4ac976
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4ac976
pxor xmm1, xmm1
mov qword [rsp + 0x30], rbp
movsd xmm3, qword [rsp + 0x30]
mov r11d, dword [rsi + 0x38]
lea r13, [rsp + 0x40]
comisd xmm1, xmm3
mov dword [rsp + 0x28], r11d
mov rdi, r13
jbe 0x4adfcb
lea r13, [rsp + 0x40]
mov byte [rsp + 0x40], 0x2d
btc rbp, 0x3f
lea rdi, [r13 + 1]
mov rax, rbp
mov rdx, rbp
movabs r15, 0xfffffffffffff
shr rax, 0x34
and rdx, r15
mov ecx, 0xfffffbcd
and eax, 0x7ff
mov r12d, 0xfffffbce
je 0x4ae00e
movabs r14, 0x10000000000000
lea r12d, [rax - 0x433]
lea ecx, [rax - 0x434]
add rdx, r14
lea rbx, [rdx + rdx]
lea rbp, [rbx + 1]
bt rbp, 0x35
jb 0x4aee59
lea r9d, [rcx - 1]
movabs r10, 0x20000000000000
nop
add rbp, rbp
mov r8d, r9d
sub r9d, 1
test rbp, r10
je 0x4ae030
movabs r11, 0x10000000000000
shl rbp, 0xa
sub r8d, 0xa
cmp rdx, r11
lea r10, [rbx - 1]
je 0x4aed5b
pxor xmm0, xmm0
mov eax, 0xffffffc3
sub ecx, r8d
sub eax, r8d
pxor xmm2, xmm2
shl r10, cl
xor ecx, ecx
mov r9d, 0x15c
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x004c4948]
addsd xmm0, qword [0x004c4950]
cvttsd2si eax, xmm0
cvtsi2sd xmm2, eax
subsd xmm0, xmm2
comisd xmm0, xmm1
seta cl
add eax, ecx
sar eax, 3
add eax, 1
lea ecx, [rax*8]
sub r9d, ecx
lea rcx, [0x004d4d60]
mov dword [rsp + 0x30], r9d
movsx r11d, word [rcx + rax*2]
lea rcx, [0x004d4e20]
mov r9, qword [rcx + rax*8]
bsr rcx, rdx
mov rax, rdx
xor rcx, 0x3f
shl rax, cl
add r11d, r8d
mul r9
shr rax, 0x3f
mov rbx, rdx
add rbx, rax
mov rax, rbp
mul r9
shr rax, 0x3f
mov rcx, rdx
add rcx, rax
mov rax, r9
mov r9d, 1
mul r10
lea r8, [rcx - 1]
lea r10, [rcx - 2]
mov ecx, 0xffffffc0
sub ecx, r11d
mov r11d, 1
mov r14, r8
shl r11, cl
sub r14, rbx
shr rax, 0x3f
add rax, rdx
lea rdx, [r11 - 1]
sub r10, rax
mov rax, r8
shr rax, cl
and r8, rdx
mov qword [rsp + 0x38], rdx
cmp eax, 9
mov ebp, eax
jbe 0x4ae1a3
cmp eax, 0x63
mov r9d, 2
jbe 0x4ae1a3
cmp eax, 0x3e7
mov r9d, 3
jbe 0x4ae1a3
cmp eax, 0x270f
mov r9d, 4
jbe 0x4ae1a3
cmp eax, 0x1869f
mov r9d, 5
jbe 0x4ae1a3
cmp eax, 0xf423f
mov r9d, 6
jbe 0x4ae1a3
cmp eax, 0x98967f
jbe 0x4af436
cmp eax, 0x5f5e100
sbb r9d, r9d
add r9d, 9
lea r12, [0x004c48b0]
xor ebx, ebx
nop dword [rax]
cmp r9d, 9
ja case.0x4ae1c0.0
mov edx, r9d
movsxd rax, dword [r12 + rdx*4]
add rax, r12
jmp rax
mov edx, ebp
mov rax, r8
xor ebp, ebp
nop dword [rax]
test edx, edx
je 0x4ae34a
add edx, 0x30
movsxd r15, ebx
add ebx, 1
mov byte [rdi + r15], dl
sub r9d, 1
cmp rax, r10
jbe 0x4ae9a5
test r9d, r9d
jne 0x4ae1b0
mov rbp, qword [rsp + 0x38]
jmp 0x4ae21b
movsxd r12, ebx
add edx, 0x30
add ebx, 1
mov byte [rdi + r12], dl
and r8, rbp
sub r9d, 1
cmp rax, r8
ja 0x4ae85b
lea r8, [r8 + r8*4]
lea rax, [r10 + r10*4]
add r8, r8
add rax, rax
mov rdx, r8
mov r10, rax
shr rdx, cl
test dl, dl
jne 0x4ae1fe
test ebx, ebx
jne 0x4ae1fe
xor ebx, ebx
jmp 0x4ae20b
mov eax, 0x6b5fca6b
mul ebp
shr edx, 0x16
imul r15d, edx, 0x989680
sub ebp, r15d
mov eax, ebp
shl rax, cl
add rax, r8
jmp 0x4ae1d0
mov eax, 0x431bde83
mul ebp
shr edx, 0x12
imul r15d, edx, 0xf4240
sub ebp, r15d
mov eax, ebp
shl rax, cl
add rax, r8
jmp 0x4ae1d0
mov edx, ebp
mov eax, 0xa7c5ac5
shr edx, 5
mul edx
shr edx, 7
imul r15d, edx, 0x186a0
sub ebp, r15d
mov eax, ebp
shl rax, cl
add rax, r8
jmp 0x4ae1d0
mov eax, 0xd1b71759
mul ebp
shr edx, 0xd
imul r15d, edx, 0x2710
sub ebp, r15d
mov eax, ebp
shl rax, cl
add rax, r8
jmp 0x4ae1d0
mov eax, 0x10624dd3
mul ebp
shr edx, 6
imul r15d, edx, 0x3e8
sub ebp, r15d
mov eax, ebp
shl rax, cl
add rax, r8
jmp 0x4ae1d0
mov eax, 0x51eb851f
mul ebp
shr edx, 5
imul r15d, edx, 0x64
sub ebp, r15d
mov eax, ebp
shl rax, cl
add rax, r8
jmp 0x4ae1d0
mov eax, 0xcccccccd
mul ebp
shr edx, 3
lea r15d, [rdx + rdx*4]
add r15d, r15d
sub ebp, r15d
mov eax, ebp
shl rax, cl
add rax, r8
jmp 0x4ae1d0
mov eax, ebp
mov edx, 0x55e63b89
mul edx
shr edx, 0x19
imul r15d, edx, 0x5f5e100
sub ebp, r15d
mov eax, ebp
shl rax, cl
add rax, r8
jmp 0x4ae1d0
test ebx, ebx
je 0x4ae1e5
mov edx, 0x30
jmp 0x4ae1db
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ac955
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ac955
cmp edi, 0x5f5e0ff
ja 0x4aea1b
mov eax, edi
mov r15d, 0xd1b71759
mov r11d, 0x431bde83
mul r15d
mov eax, edi
mov ecx, 0x51eb851f
mov r12d, edi
shr edx, 0xd
mov ebx, edx
imul r14d, edx, 0x2710
mul r11d
mov eax, ebx
sub r12d, r14d
shr edx, 0x12
lea r9d, [rdx + rdx]
mul ecx
mov eax, r12d
shr edx, 5
imul r10d, edx, 0x64
mul ecx
sub ebx, r10d
shr edx, 5
add ebx, ebx
imul r8d, edx, 0x64
lea r13d, [rdx + rdx]
sub r12d, r8d
add r12d, r12d
cmp edi, 0x98967f
jbe 0x4aedfd
lea r14, [0x004d4c80]
mov r15d, r9d
movzx r11d, byte [r14 + r15]
lea r15, [rsp + 0x40]
lea rdi, [r15 + 1]
mov byte [rsp + 0x40], r11b
lea r9d, [r9 + 1]
lea rbp, [rdi + 1]
movzx ecx, byte [r14 + r9]
mov byte [rdi], cl
mov eax, ebx
lea r10, [rbp + 1]
movzx edx, byte [r14 + rax]
mov byte [rbp], dl
lea ebx, [rbx + 1]
mov ebp, r13d
lea r13d, [r13 + 1]
mov r9d, r12d
lea r12d, [r12 + 1]
movzx r8d, byte [r14 + rbx]
mov byte [r10], r8b
movzx edi, byte [r14 + rbp]
mov byte [r10 + 1], dil
movzx r11d, byte [r14 + r13]
lea r13, [r10 + 5]
mov byte [r10 + 2], r11b
movzx ecx, byte [r14 + r9]
mov byte [r10 + 3], cl
movzx r14d, byte [r14 + r12]
mov byte [r10 + 4], r14b
jmp 0x4ad98b
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4ad06b
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x4ad06b
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4ad048
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4ad048
mov r8, r12
mov edx, r13d
call sub.msvcrt.dll_memset
mov r13, qword [rsi]
add qword [rdi + 0x18], r12
mov r9, qword [r14 - 0x10]
mov rax, qword [r13 + 0x18]
mov r12, qword [r13 + 0x10]
jmp 0x4ac18a
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ad027
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ad027
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ad5d8
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ad5d8
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4ad5b6
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4ad5b6
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4ad594
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4ad594
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4acdfb
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4acdfb
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4ada9b
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x4ada9b
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ada78
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ada78
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4ada57
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4ada57
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4ad8eb
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4ad8eb
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4acdd2
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4acdd2
mov eax, ecx
mov r11d, 0x55e63b89
mul r11d
mov ebp, edx
shr ebp, 0x19
imul r9d, ebp, 0x5f5e100
sub ecx, r9d
cmp ebp, 9
jbe 0x4aed48
add ebp, ebp
lea r10, [0x004d4c80]
lea r15, [r8 + 2]
mov rdi, rbp
add edi, 1
movzx ebp, byte [r10 + rbp]
movzx ebx, byte [r10 + rdi]
mov byte [r8 + 1], bl
mov byte [r8], bpl
mov eax, ecx
mov r8d, 0xd1b71759
mul r8d
mov ebp, 0x431bde83
mov eax, ecx
mov r11d, ecx
mov ecx, 0x51eb851f
shr edx, 0xd
mov r12d, edx
imul r13d, edx, 0x2710
mul ebp
mov eax, r12d
sub r11d, r13d
shr edx, 0x12
lea r9d, [rdx + rdx]
mul ecx
mov eax, r11d
mov ebp, r9d
lea r9d, [r9 + 1]
shr edx, 5
imul edi, edx, 0x64
mul ecx
movzx ecx, byte [r10 + rbp]
sub r12d, edi
lea r8d, [r12 + r12]
shr edx, 5
mov byte [r15], cl
movzx edi, byte [r10 + r9]
lea r12d, [rdx + rdx]
mov ebx, r8d
lea r8d, [r8 + 1]
imul r13d, edx, 0x64
mov byte [r15 + 1], dil
movzx eax, byte [r10 + rbx]
sub r11d, r13d
mov r13d, r12d
lea r12d, [r12 + 1]
add r11d, r11d
mov r9d, r11d
lea r11d, [r11 + 1]
mov byte [r15 + 2], al
movzx edx, byte [r10 + r8]
mov byte [r15 + 3], dl
movzx ebp, byte [r10 + r13]
lea r13, [r15 + 8]
mov byte [r15 + 4], bpl
movzx ecx, byte [r10 + r12]
mov byte [r15 + 5], cl
movzx edi, byte [r10 + r9]
mov byte [r15 + 6], dil
movzx r10d, byte [r10 + r11]
mov byte [r15 + 7], r10b
jmp 0x4ad70e
cmp ecx, 0x63
ja 0x4af441
cmp ecx, 9
lea r10, [0x004d4c80]
jbe 0x4ad702
mov rcx, r8
jmp 0x4ad6ef
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4ac5da
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x4ac5da
mov rcx, qword [r13 + 8]
cmp rcx, r8
je 0x4abf5e
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4abf5e
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4add90
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x4add3c
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4ad78f
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4ad78f
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4ac90d
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4ac90d
mov ebp, dword [rsp + 0x30]
add ebp, r9d
cmp r9d, 0xfffffff8
jl 0x4ae8bb
neg r9d
lea rcx, [0x004d5aa0]
movsxd r10, r9d
mov r15d, dword [rcx + r10*4]
imul r14, r15
cmp r8, r14
jae 0x4ae8bb
mov rdx, rax
sub rdx, r8
cmp rdx, r11
jb 0x4ae8bb
movsxd r12, ebx
sub rax, r11
lea r10, [rdi + r12 - 1]
sub rax, r8
lea rcx, [r11 + r8]
cmp r14, rcx
ja 0x4ae8fb
mov r11, r14
sub rcx, r14
sub r11, r8
cmp r11, rcx
jbe 0x4ae8bb
movsxd r14, ebx
sub byte [rdi + r14 - 1], 1
test ebp, ebp
lea r14d, [rbx + rbp]
js 0x4ae912
cmp r14d, 0x15
jg 0x4ae912
cmp r14d, ebx
jle 0x4ae8e5
lea ebp, [rbp - 1]
movsxd rcx, ebx
mov edx, 0x30
add rcx, rdi
lea r8, [rbp + 1]
call sub.msvcrt.dll_memset
movsxd rbx, r14d
mov byte [rdi + rbx], 0x2e
mov byte [rdi + rbx + 1], 0x30
lea rdi, [rdi + rbx + 2]
jmp 0x4ad4cb
mov r9, rax
sub byte [r10], 1
mov r8, rcx
sub r9, r11
cmp r11, rax
ja 0x4ae8bb
mov rax, r9
jmp 0x4ae89b
lea r15d, [r14 - 1]
cmp r15d, 0x14
jbe 0x4aee61
lea r12d, [r14 + 5]
cmp r12d, 5
jbe 0x4aef0c
mov r9d, dword [rsp + 0x28]
neg r9d
cmp r14d, r9d
jl 0x4ad4b9
cmp ebx, 1
lea rcx, [rdi + 2]
mov ebp, r15d
je 0x4af391
lea r10d, [rbx - 1]
lea rdx, [rdi + 1]
movsxd r8, r10d
call sub.msvcrt.dll_memmove
movsxd rcx, ebx
test r15d, r15d
mov byte [rdi + 1], 0x2e
mov byte [rdi + rcx + 1], 0x65
lea rcx, [rdi + rcx + 2]
jns 0x4ae984
mov ebp, 1
mov byte [rcx], 0x2d
add rcx, 1
sub ebp, r14d
cmp ebp, 0x63
jg 0x4af3fe
cmp ebp, 9
jg 0x4af3d7
add ebp, 0x30
lea rdi, [rcx + 1]
mov byte [rcx], bpl
jmp 0x4ad4cb
lea r8, [0x004d5aa0]
mov ebp, dword [rsp + 0x30]
mov r15d, dword [r8 + r9*4]
add ebp, r9d
shl r15, cl
cmp rax, r14
jae 0x4ae8bb
mov rdx, r10
sub rdx, rax
cmp rdx, r15
jb 0x4ae8bb
movsxd r12, ebx
sub rdx, r15
lea r9, [rdi + r12 - 1]
lea rcx, [r15 + rax]
cmp r14, rcx
ja 0x4aea00
mov r11, r14
sub rcx, r14
sub r11, rax
cmp r11, rcx
ja 0x4ae8b2
jmp 0x4ae8bb
mov r10, rdx
sub byte [r9], 1
mov rax, rcx
sub r10, r15
cmp r15, rdx
ja 0x4ae8bb
mov rdx, r10
jmp 0x4ae9dd
mov r8d, 0x55e63b89
mov eax, edi
mov ecx, edi
mul r8d
mov r11d, edx
shr r11d, 0x19
imul r9d, r11d, 0x5f5e100
sub ecx, r9d
cmp r11d, 9
jbe 0x4aede4
add r11d, r11d
lea rbp, [0x004d4c80]
lea r15, [rsp + 0x40]
mov r10, r11
add r10d, 1
movzx r11d, byte [rbp + r11]
lea rbx, [r15 + 2]
movzx r13d, byte [rbp + r10]
mov byte [rsp + 0x41], r13b
mov eax, ecx
mov r14d, 0xd1b71759
mov byte [rsp + 0x40], r11b
mul r14d
mov r11d, 0x431bde83
mov eax, ecx
mov r8d, ecx
mov ecx, 0x51eb851f
mov r12d, edx
mul r11d
shr r12d, 0xd
imul edi, r12d, 0x2710
mov eax, r12d
shr edx, 0x12
lea r9d, [rdx + rdx]
sub r8d, edi
mul ecx
mov eax, r8d
mov r11d, r9d
lea r9d, [r9 + 1]
shr edx, 5
imul r10d, edx, 0x64
mul ecx
movzx ecx, byte [rbp + r11]
sub r12d, r10d
movzx r10d, byte [rbp + r9]
shr edx, 5
lea r14d, [r12 + r12]
imul edi, edx, 0x64
lea r12d, [rdx + rdx]
mov byte [rbx], cl
mov r13d, r14d
lea r14d, [r14 + 1]
movzx eax, byte [rbp + r13]
mov byte [rbx + 1], r10b
lea r13, [rbx + 8]
sub r8d, edi
mov edi, r12d
lea r12d, [r12 + 1]
add r8d, r8d
movzx edx, byte [rbp + r14]
movzx r11d, byte [rbp + rdi]
mov r9d, r8d
lea r8d, [r8 + 1]
movzx ecx, byte [rbp + r12]
movzx r10d, byte [rbp + r9]
mov byte [rbx + 2], al
movzx ebp, byte [rbp + r8]
mov byte [rbx + 3], dl
mov byte [rbx + 4], r11b
mov byte [rbx + 5], cl
mov byte [rbx + 6], r10b
mov byte [rbx + 7], bpl
jmp 0x4ad98b
cmp edi, 0x63
ja 0x4af464
lea r15, [rsp + 0x40]
cmp edi, 9
lea rdi, [0x004d4c80]
mov r12, r15
jbe 0x4ad97b
mov r8, r15
lea rdi, [0x004d4c80]
jmp 0x4ad96c
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4acfdb
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4acfdb
cmp qword [rsi + 8], 0
je 0x4af35e
mov r8, qword [rsi + 0x30]
jmp 0x4add1a
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x4ad553
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x4ad553
cmp qword [rsi + 8], 0
je 0x4af1d7
mov r8, qword [rsi + 0x30]
jmp 0x4add6e
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ada0f
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ada0f
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4ad63b
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4ad63b
cmp ecx, 0xf423f
ja 0x4af3b0
cmp ecx, 0x1869f
lea r12, [0x004d4c80]
jbe 0x4adc2f
mov r9, r8
jmp 0x4adc21
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x4ac8e9
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x4ac8e9
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4ac165
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4ac165
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4ac149
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4ac149
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ade3f
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ade3f
mov rcx, qword [r13 + 8]
cmp rcx, rax
je 0x4ade23
mov r9, qword [r13]
sub rax, rcx
mov edx, 1
mov r8, rax
call sub.msvcrt.dll_fwrite
mov rax, qword [r13 + 8]
jmp 0x4ade23
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x4ad76b
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x4ad76b
lea r15, [r8 + 1]
add ebp, 0x30
lea r10, [0x004d4c80]
jmp 0x4ae6b9
lea ecx, [r12 - 2]
movabs r10, 0x3fffffffffffff
jmp 0x4ae05e
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4ad52d
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x4ad52d
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4acfb6
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4acfb6
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4ad9ea
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4ad9ea
lea r15, [rsp + 0x40]
add r11d, 0x30
lea rbp, [0x004d4c80]
lea rbx, [r15 + 1]
jmp 0x4aea6e
cmp edi, 0xf423f
ja 0x4af450
lea r15, [rsp + 0x40]
cmp edi, 0x1869f
lea r14, [0x004d4c80]
mov r10, r15
jbe 0x4ae42e
mov rbp, r15
lea r14, [0x004d4c80]
jmp 0x4ae420
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x4ad747
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x4ad747
mov r8d, ecx
jmp 0x4ae03f
movsxd r12, r14d
mov r8d, ebp
lea r15, [rdi + r12]
neg r8d
lea rcx, [rdi + r12 + 1]
movsxd r8, r8d
mov rdx, r15
call sub.msvcrt.dll_memmove
add ebp, dword [rsp + 0x28]
mov byte [r15], 0x2e
js 0x4af1f6
movsxd r9, ebx
lea rdi, [rdi + r9 + 1]
jmp 0x4ad4cb
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ac8c5
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ac8c5
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4acf91
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4acf91
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4ad506
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4ad506
mov r12d, 2
movsxd r8, ebx
mov rdx, rdi
sub r12d, r14d
movsxd rcx, r12d
add rcx, rdi
call sub.msvcrt.dll_memmove
mov r9d, 0x2e30
cmp r12d, 2
mov word [rdi], r9w
je 0x4af029
lea r10d, [r12 - 3]
lea r11, [rdi + 2]
add r10, 1
test r10d, r10d
mov r8d, r10d
je 0x4af029
lea ecx, [r10 - 1]
mov edx, 1
mov byte [r11], 0x30
and ecx, 7
cmp edx, r10d
jae 0x4af029
test ecx, ecx
je 0x4aefdd
cmp ecx, 1
je 0x4aefce
cmp ecx, 2
je 0x4aefc3
cmp ecx, 3
je 0x4aefb8
cmp ecx, 4
je 0x4aefad
cmp ecx, 5
je 0x4aefa2
cmp ecx, 6
je 0x4aef98
mov byte [r11 + rdx], 0x30
mov edx, 2
mov eax, edx
add edx, 1
mov byte [r11 + rax], 0x30
mov r14d, edx
add edx, 1
mov byte [r11 + r14], 0x30
mov r15d, edx
add edx, 1
mov byte [r11 + r15], 0x30
mov r9d, edx
add edx, 1
mov byte [r11 + r9], 0x30
mov r10d, edx
add edx, 1
mov byte [r11 + r10], 0x30
mov ecx, edx
add edx, 1
cmp edx, r8d
mov byte [r11 + rcx], 0x30
jae 0x4af029
lea r14d, [rdx + 1]
mov eax, edx
lea r15d, [rdx + 2]
mov byte [r11 + rax], 0x30
lea r9d, [rdx + 3]
lea r10d, [rdx + 4]
mov byte [r11 + r14], 0x30
lea ecx, [rdx + 5]
lea eax, [rdx + 6]
lea r14d, [rdx + 7]
add edx, 8
mov byte [r11 + r15], 0x30
cmp edx, r8d
mov byte [r11 + r9], 0x30
mov byte [r11 + r10], 0x30
mov byte [r11 + rcx], 0x30
mov byte [r11 + rax], 0x30
mov byte [r11 + r14], 0x30
jb 0x4aefdd
mov eax, dword [rsp + 0x28]
neg ebp
cmp eax, ebp
jge 0x4af3c9
add eax, 1
cmp eax, 2
jle 0x4ad4c7
cdqe
cmp byte [rdi + rax], 0x30
jne 0x4af3bf
mov r11d, dword [rsp + 0x28]
sub rax, 1
mov r8, rax
lea edx, [r11 - 2]
sub r8, rdx
and edx, 7
je 0x4af10b
cmp byte [rdi + rax], 0x30
lea rbx, [rax - 1]
jne 0x4af3bf
cmp rdx, 1
mov rax, rbx
je 0x4af10b
cmp rdx, 2
je 0x4af0fa
cmp rdx, 3
je 0x4af0e9
cmp rdx, 4
je 0x4af0d8
cmp rdx, 5
je 0x4af0c7
cmp rdx, 6
je 0x4af0b6
sub rbx, 1
cmp byte [rdi + rbx + 1], 0x30
jne 0x4af3bf
mov rax, rbx
cmp byte [rdi + rax], 0x30
lea rbp, [rax - 1]
jne 0x4af3bf
mov rax, rbp
cmp byte [rdi + rax], 0x30
lea r12, [rax - 1]
jne 0x4af3bf
mov rax, r12
cmp byte [rdi + rax], 0x30
lea r15, [rax - 1]
jne 0x4af3bf
mov rax, r15
cmp byte [rdi + rax], 0x30
lea r9, [rax - 1]
jne 0x4af3bf
mov rax, r9
cmp byte [rdi + rax], 0x30
lea r10, [rax - 1]
jne 0x4af3bf
mov rax, r10
cmp rax, r8
je 0x4ad4c7
lea r14, [rax - 1]
cmp byte [rdi + r14 + 1], 0x30
jne 0x4af3bf
lea rcx, [r14 - 1]
mov rax, r14
cmp byte [rdi + rcx + 1], 0x30
jne 0x4af3bf
cmp byte [rdi + rcx], 0x30
mov rax, rcx
jne 0x4af3bf
cmp byte [rdi + r14 - 2], 0x30
lea rax, [r14 - 2]
lea r11, [r14 - 3]
jne 0x4af3bf
cmp byte [rdi + r14 - 3], 0x30
mov rax, r11
lea rdx, [r14 - 4]
jne 0x4af3bf
cmp byte [rdi + r14 - 4], 0x30
mov rax, rdx
lea rbx, [r14 - 5]
jne 0x4af3bf
cmp byte [rdi + r14 - 5], 0x30
mov rax, rbx
lea rbp, [r14 - 6]
jne 0x4af3bf
cmp byte [rdi + r14 - 6], 0x30
mov rax, rbp
lea r12, [r14 - 7]
jne 0x4af3bf
mov rax, r12
jmp 0x4af10b
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4ad9c5
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4ad9c5
mov ecx, 1
call fcn.004c0cf0
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov rdx, qword [rsi + 0x20]
jmp 0x4aebde
mov r10d, dword [rsp + 0x28]
lea ecx, [r14 + 1]
add r10d, r14d
cmp r10d, ecx
jle 0x4af37d
movsxd rcx, r10d
cmp byte [rdi + rcx], 0x30
jne 0x4af387
sub r10d, r14d
sub rcx, 1
sub r10d, 2
mov r14, rcx
sub r14, r10
and r10d, 7
je 0x4af2d4
cmp byte [rdi + rcx], 0x30
lea r11, [rcx - 1]
jne 0x4af387
cmp r10, 1
mov rcx, r11
je 0x4af2d4
cmp r10, 2
je 0x4af2c3
cmp r10, 3
je 0x4af2b2
cmp r10, 4
je 0x4af2a1
cmp r10, 5
je 0x4af290
cmp r10, 6
je 0x4af27f
sub r11, 1
cmp byte [rdi + r11 + 1], 0x30
jne 0x4af387
mov rcx, r11
cmp byte [rdi + rcx], 0x30
lea rdx, [rcx - 1]
jne 0x4af387
mov rcx, rdx
cmp byte [rdi + rcx], 0x30
lea rbx, [rcx - 1]
jne 0x4af387
mov rcx, rbx
cmp byte [rdi + rcx], 0x30
lea rbp, [rcx - 1]
jne 0x4af387
mov rcx, rbp
cmp byte [rdi + rcx], 0x30
lea rax, [rcx - 1]
jne 0x4af387
mov rcx, rax
cmp byte [rdi + rcx], 0x30
lea r15, [rcx - 1]
jne 0x4af387
mov rcx, r15
cmp rcx, r14
je 0x4af37d
lea r8, [rcx - 1]
cmp byte [rdi + r8 + 1], 0x30
jne 0x4af387
lea r9, [r8 - 1]
mov rcx, r8
cmp byte [rdi + r9 + 1], 0x30
jne 0x4af387
cmp byte [rdi + r9], 0x30
mov rcx, r9
jne 0x4af387
cmp byte [rdi + r8 - 2], 0x30
lea rcx, [r8 - 2]
lea r10, [r8 - 3]
jne 0x4af387
cmp byte [rdi + r8 - 3], 0x30
mov rcx, r10
lea r11, [r8 - 4]
jne 0x4af387
cmp byte [rdi + r8 - 4], 0x30
mov rcx, r11
lea rdx, [r8 - 5]
jne 0x4af387
cmp byte [rdi + r8 - 5], 0x30
mov rcx, rdx
lea rbx, [r8 - 6]
jne 0x4af387
cmp byte [rdi + r8 - 6], 0x30
mov rcx, rbx
lea rbp, [r8 - 7]
jne 0x4af387
mov rcx, rbp
jmp 0x4af2d4
mov ecx, 1
call fcn.004c0cf0
mov r9, qword [rsi + 0x20]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov rcx, qword [rsi + 0x18]
jmp 0x4aeba4
lea rdi, [rdi + r12 + 2]
jmp 0x4ad4cb
lea rdi, [rdi + rcx + 1]
jmp 0x4ad4cb
test r15d, r15d
mov byte [rdi + 1], 0x65
jns 0x4ae984
sub ebx, r14d
lea rcx, [rdi + 3]
mov byte [rdi + 2], 0x2d
mov ebp, ebx
jmp 0x4ae984
mov rcx, r8
lea r12, [0x004d4c80]
jmp 0x4adc11
lea rdi, [rdi + rax + 1]
jmp 0x4ad4cb
lea eax, [r12 + rbx]
cdqe
add rdi, rax
jmp 0x4ad4cb
lea eax, [rbp + rbp]
lea rdi, [0x004d4c80]
cdqe
add rax, rdi
lea rdi, [rcx + 2]
movzx edx, byte [rax]
mov byte [rcx], dl
movzx r11d, byte [rax + 1]
mov byte [rcx + 1], r11b
jmp 0x4ad4cb
mov eax, ebp
mov r8d, 0x64
lea r14, [0x004d4c80]
cdq
lea rdi, [rcx + 3]
idiv r8d
add eax, 0x30
mov byte [rcx], al
lea eax, [rdx + rdx]
cdqe
add rax, r14
movzx ebx, byte [rax]
mov byte [rcx + 1], bl
movzx r15d, byte [rax + 1]
mov byte [rcx + 2], r15b
jmp 0x4ad4cb
mov r9d, 7
jmp 0x4ae1a3
mov r13, r8
lea r10, [0x004d4c80]
jmp 0x4ad6de
lea r15, [rsp + 0x40]
lea r14, [0x004d4c80]
mov rdi, r15
jmp 0x4ae411
lea r15, [rsp + 0x40]
lea rdi, [0x004d4c80]
mov r13, r15
jmp 0x4ad95b