Function at 0x492660
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.0x49269a
lea rdx, [0x00516eb8]
movzx ebx, ax
movsxd rdi, dword [rdx + rbx*4]
add rdi, rdx
jmp rdi
mov edx, 4
mov rcx, rsi
call fcn.00486c10
mov r9, qword [rsi + 0x20]
mov r8, qword [rsi + 0x28]
lea r10, [r9 + 0x10]
cmp r10, r8
ja 0x49449d
test r9, r9
mov qword [rsi + 0x20], r10
je 0x4926d7
mov qword [r9], 0
mov byte [r9 + 8], 1
mov r15, qword [rsi]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x493058
lea r11, [r8 + 1]
movabs rdi, 0xffffffffffff
mov rbx, rdi
mov qword [r15 + 0x18], r11
mov byte [r8], 0x5b
mov ecx, dword [r14]
and rbx, qword [r14 + 8]
test ecx, ecx
jne 0x49272f
jmp 0x49391d
mov eax, dword [r14]
mov rdx, rdi
and rdx, qword [r14 + 8]
add rbx, 0x10
shl rax, 4
add rax, rdx
cmp rbx, rax
je 0x49391d
mov rdx, rsi
mov rcx, rbx
call fcn.00492660
test al, al
jne 0x492711
xor eax, eax
jmp 0x492887
and ch, 0x10
je 0x492ff3
movsx r9d, byte [r14 + 0xd]
mov ebp, 0xd
sub ebp, r9d
mov edx, 5
mov rcx, rsi
call fcn.00486c10
mov r15, qword [rsi]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x493abe
lea r10, [r8 + 1]
lea rdi, [r14 + 1]
lea r13, [0x0052c040]
lea r12, [0x0052c140]
mov qword [r15 + 0x18], r10
mov byte [r8], 0x22
jmp 0x4927af
lea r9, [r8 + 1]
mov qword [rbx + 0x18], r9
mov byte [r8], r15b
add rdi, 1
lea rdx, [rdi - 1]
sub rdx, r14
cmp rbp, rdx
jbe 0x492d24
movzx r10d, byte [rdi - 1]
movsxd rax, r10d
mov r15d, r10d
movzx ebx, byte [r13 + rax]
test bl, bl
jne 0x492f30
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jb 0x4927a0
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4927a0
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4927a0
xor edx, edx
mov rcx, rsi
call fcn.00486c10
mov rdi, qword [rsi]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x493a98
lea rax, [r8 + 1]
mov qword [rdi + 0x18], rax
mov byte [r8], 0x6e
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x493a72
lea r11, [r8 + 1]
mov qword [rbx + 0x18], r11
mov byte [r8], 0x75
mov rbp, qword [rsi]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x493a4b
lea rcx, [r8 + 1]
mov qword [rbp + 0x18], rcx
mov byte [r8], 0x6c
mov rsi, qword [rsi]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jae 0x49300c
lea r13, [r8 + 1]
mov eax, 1
mov qword [rsi + 0x18], r13
mov byte [r8], 0x6c
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 1
mov rcx, rsi
call fcn.00486c10
mov rbp, qword [rsi]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x493bcc
lea rcx, [r8 + 1]
mov qword [rbp + 0x18], rcx
mov byte [r8], 0x66
mov r13, qword [rsi]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x493ba5
lea r9, [r8 + 1]
mov qword [r13 + 0x18], r9
mov byte [r8], 0x61
mov r14, qword [rsi]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jae 0x493b7f
lea r10, [r8 + 1]
mov qword [r14 + 0x18], r10
mov byte [r8], 0x6c
mov r15, qword [rsi]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x493b59
lea r12, [r8 + 1]
mov qword [r15 + 0x18], r12
mov byte [r8], 0x73
mov rsi, qword [rsi]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jae 0x4929c8
lea rdx, [r8 + 1]
mov eax, 1
mov qword [rsi + 0x18], rdx
mov byte [r8], 0x65
jmp 0x492887
mov edx, 2
mov rcx, rsi
call fcn.00486c10
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x493b30
lea rdx, [r8 + 1]
mov qword [r12 + 0x18], rdx
mov byte [r8], 0x74
mov rdi, qword [rsi]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x493b0a
lea rax, [r8 + 1]
mov qword [rdi + 0x18], rax
mov byte [r8], 0x72
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x493ae4
lea r11, [r8 + 1]
mov qword [rbx + 0x18], r11
mov byte [r8], 0x75
mov rsi, qword [rsi]
mov r8, qword [rsi + 0x18]
cmp r8, qword [rsi + 0x10]
jb 0x492932
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x492932
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x492932
mov rbp, qword [rsi + 0x20]
cmp rbp, qword [rsi + 0x18]
je 0x493bf3
cmp byte [rbp - 8], 0
je 0x49307e
cmp qword [rbp - 0x10], 0
jne 0x4932f9
test byte [rsi + 0x44], 1
jne 0x492abf
mov r13, qword [rsi]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x494922
lea rax, [r8 + 1]
mov qword [r13 + 0x18], rax
mov byte [r8], 0xa
mov r12, qword [rsi + 0x20]
sub r12, qword [rsi + 0x18]
mov ecx, dword [rsi + 0x40]
mov rdi, qword [rsi]
movsx r13d, byte [rsi + 0x3d]
shr r12, 4
mov rbx, qword [rdi + 0x10]
imul r12, rcx
mov rcx, qword [rdi + 0x18]
sub rbx, rcx
cmp r12, rbx
jbe 0x492aab
mov r8, rbx
mov edx, r13d
call sub.msvcrt.dll_memset
mov r8, rbx
add r8, qword [rdi + 0x18]
mov rcx, qword [rdi + 8]
cmp r8, rcx
mov qword [rdi + 0x18], r8
je 0x492a9c
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov rcx, qword [rdi + 8]
mov qword [rdi + 0x18], rcx
sub r12, rbx
mov rbx, qword [rdi + 0x10]
sub rbx, rcx
cmp r12, rbx
ja 0x492a65
test r12, r12
je 0x492abf
mov r8, r12
mov edx, r13d
call sub.msvcrt.dll_memset
add qword [rdi + 0x18], r12
mov rax, qword [rbp - 0x10]
add rax, 1
mov qword [rbp - 0x10], rax
mov rbp, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
lea r8, [rbp + 0x10]
cmp r8, rdx
ja 0x4944f1
test rbp, rbp
mov qword [rsi + 0x20], r8
je 0x492af5
mov qword [rbp], 0
mov byte [rbp + 8], 0
mov r15, qword [rsi]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x493811
lea r10, [r8 + 1]
movabs r12, 0xffffffffffff
mov r11, r12
mov qword [r15 + 0x18], r10
mov byte [r8], 0x7b
mov r13d, dword [r14]
and r11, qword [r14 + 8]
test r13d, r13d
je 0x4933fa
lea r15, [0x0052c040]
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0x30], r12
mov r14, r11
test byte [r14 + 0xf], 0x10
je 0x4935c2
movsx ebx, byte [r14 + 0xd]
mov eax, 0xd
mov rdi, qword [rsi + 0x20]
mov r13, r14
sub eax, ebx
cmp rdi, qword [rsi + 0x18]
mov dword [rsp + 0x28], eax
je 0x4935e0
cmp byte [rdi - 8], 0
je 0x493650
cmp qword [rdi - 0x10], 0
je 0x492bc3
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x493c99
lea rcx, [r8 + 1]
mov qword [rbx + 0x18], rcx
mov byte [r8], 0x2c
test byte [rsi + 0x44], 1
je 0x492bcd
mov rbp, qword [rsi]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4943ff
lea rdx, [r8 + 1]
mov qword [rbp + 0x18], rdx
mov byte [r8], 0x20
test byte [rsi + 0x44], 1
jne 0x492c8b
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x493c70
lea r9, [r8 + 1]
mov qword [r12 + 0x18], r9
mov byte [r8], 0xa
mov rbx, qword [rsi + 0x20]
sub rbx, qword [rsi + 0x18]
mov r10d, dword [rsi + 0x40]
mov r12, qword [rsi]
movsx r11d, byte [rsi + 0x3d]
shr rbx, 4
mov rcx, qword [r12 + 0x18]
mov r8, qword [r12 + 0x10]
imul rbx, r10
mov dword [rsp + 0x38], r11d
sub r8, rcx
cmp rbx, r8
jbe 0x492c82
mov qword [rsp + 0xb8], rsi
mov rbp, r8
mov rsi, r12
mov r12d, r11d
mov r8, rbp
mov edx, r12d
call sub.msvcrt.dll_memset
mov r8, rbp
add r8, qword [rsi + 0x18]
mov rcx, qword [rsi + 8]
cmp r8, rcx
mov qword [rsi + 0x18], r8
je 0x492c68
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov rcx, qword [rsi + 8]
mov qword [rsi + 0x18], rcx
sub rbx, rbp
mov rbp, qword [rsi + 0x10]
sub rbp, rcx
cmp rbx, rbp
ja 0x492c31
mov r12, rsi
mov rsi, qword [rsp + 0xb8]
test rbx, rbx
jne 0x493872
mov rax, qword [rdi - 0x10]
add rax, 1
mov qword [rdi - 0x10], rax
mov rdi, qword [rsi]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4935f5
lea rcx, [r8 + 1]
mov ebp, dword [rsp + 0x28]
lea rbx, [r13 + 1]
mov qword [rdi + 0x18], rcx
mov byte [r8], 0x22
jmp 0x492ccf
lea r10, [r8 + 1]
mov qword [rdi + 0x18], r10
mov byte [r8], r12b
add rbx, 1
lea rdx, [rbx - 1]
sub rdx, r13
cmp rdx, rbp
jae 0x4933a1
movzx r10d, byte [rbx - 1]
movsxd r11, r10d
mov r12d, r10d
movzx edi, byte [r15 + r11]
test dil, dil
jne 0x4934f0
mov rdi, qword [rsi]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jb 0x492cc0
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x492cc0
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x492cc0
mov r14, qword [rsi]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jae 0x493032
lea r12, [r8 + 1]
mov eax, 1
mov qword [r14 + 0x18], r12
mov byte [r8], 0x22
jmp 0x492887
test ch, 2
jne 0x493cbf
test cl, 0x20
jne 0x493f2f
test cl, 0x40
jne 0x494160
and ecx, 0x80
jne 0x49313b
mov r15, qword [r14]
lea rbx, [rsp + 0x40]
mov edx, 6
mov rcx, rsi
call fcn.00486c10
mov rdx, rbx
mov rcx, r15
call fcn.00490e60
cmp rax, rbx
mov rdi, rax
je 0x4934e5
mov r12, qword [rsi]
mov rbp, rbx
movzx r13d, byte [rbx]
sub rbp, rax
not rbp
and ebp, 3
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x49468c
lea rax, [r8 + 1]
add rbx, 1
cmp rdi, rbx
mov qword [r12 + 0x18], rax
mov byte [r8], r13b
je 0x4934e5
test rbp, rbp
je 0x492ef2
cmp rbp, 1
je 0x492e3c
cmp rbp, 2
je 0x492e18
mov r15, qword [rsi]
movzx r14d, byte [rbx]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x494820
lea r10, [r8 + 1]
add rbx, 1
mov qword [r15 + 0x18], r10
mov byte [r8], r14b
mov rbp, qword [rsi]
movzx r13d, byte [rbx]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x494846
lea r11, [r8 + 1]
add rbx, 1
mov qword [rbp + 0x18], r11
mov byte [r8], r13b
mov r14, qword [rsi]
movzx r12d, byte [rbx]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jae 0x49486d
lea rdx, [r8 + 1]
add rbx, 1
cmp rdi, rbx
mov qword [r14 + 0x18], rdx
mov byte [r8], r12b
jne 0x492ef2
jmp 0x4934e5
lea rcx, [r8 + 1]
lea rbp, [rbx + 1]
mov qword [r13 + 0x18], rcx
mov byte [r8], r15b
movzx r12d, byte [rbx + 1]
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x493eba
lea r9, [r8 + 1]
mov qword [rbx + 0x18], r9
mov byte [r8], r12b
mov r15, qword [rsi]
movzx r14d, byte [rbp + 1]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x493f09
lea rax, [r8 + 1]
mov qword [r15 + 0x18], rax
mov byte [r8], r14b
mov r12, qword [rsi]
movzx r13d, byte [rbp + 2]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x493ee0
lea rbx, [rbp + 3]
lea r10, [r8 + 1]
cmp rdi, rbx
mov qword [r12 + 0x18], r10
mov byte [r8], r13b
je 0x4934e5
mov r13, qword [rsi]
movzx r15d, byte [rbx]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jb 0x492e70
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x492e70
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x492e70
mov r11, qword [rsi]
mov r8, qword [r11 + 0x18]
cmp r8, qword [r11 + 0x10]
jae 0x493bfc
lea rcx, [r8 + 1]
mov qword [r11 + 0x18], rcx
mov byte [r8], 0x5c
mov rdx, qword [rsi]
mov r8, qword [rdx + 0x18]
cmp r8, qword [rdx + 0x10]
jae 0x493c36
lea r9, [r8 + 1]
cmp bl, 0x75
mov qword [rdx + 0x18], r9
mov byte [r8], bl
jne 0x4927ab
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4948c3
lea rax, [r8 + 1]
mov qword [rbx + 0x18], rax
mov byte [r8], 0x30
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x494893
lea r11, [r8 + 1]
sar r10d, 4
mov qword [rbx + 0x18], r11
mov byte [r8], 0x30
movsxd r8, r10d
mov rbx, qword [rsi]
movzx edx, byte [r12 + r8]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x4948f3
lea rcx, [r8 + 1]
and r15d, 0xf
movzx r15d, byte [r12 + r15]
mov qword [rbx + 0x18], rcx
mov byte [r8], dl
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jb 0x4927a0
jmp 0x4927e5
movabs r8, 0xffffffffffff
and r8, qword [r14 + 8]
mov ebp, dword [r14]
mov r14, r8
jmp 0x49275b
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x492876
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rsi + 8]
jmp 0x492876
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x492d35
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x492d35
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x4926e8
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x4926e8
mov rax, qword [rbp - 0x10]
mov r12, qword [rsi]
test rax, rax
mov r8, qword [r12 + 0x18]
jne 0x493345
cmp r8, qword [r12 + 0x10]
jae 0x493378
lea r15, [r8 + 1]
mov qword [r12 + 0x18], r15
mov byte [r8], 0xa
mov rax, qword [rbp - 0x10]
test al, 1
jne 0x492ac3
mov r12, qword [rsi + 0x20]
sub r12, qword [rsi + 0x18]
mov r8d, 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, r8
sub rbx, rcx
cmp r12, rbx
jbe 0x492aab
nop word [rax + rax]
mov r8, rbx
mov edx, r13d
call sub.msvcrt.dll_memset
mov r8, rbx
add r8, qword [rdi + 0x18]
mov rcx, qword [rdi + 8]
cmp r8, rcx
mov qword [rdi + 0x18], r8
je 0x493127
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov rcx, qword [rdi + 8]
mov qword [rdi + 0x18], rcx
sub r12, rbx
mov rbx, qword [rdi + 0x10]
sub rbx, rcx
cmp r12, rbx
ja 0x4930f0
jmp 0x492aab
mov rdi, qword [r14]
mov edx, 6
mov rcx, rsi
lea rbx, [rsp + 0x40]
call fcn.00486c10
test rdi, rdi
mov rcx, rdi
mov rdx, rbx
js 0x494dfb
call fcn.00490e60
cmp rax, rbx
mov r14, rax
je 0x4934e5
mov r13, qword [rsi]
mov rbp, rbx
movzx r15d, byte [rbx]
sub rbp, rax
not rbp
and ebp, 3
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x494e0c
lea r11, [r8 + 1]
add rbx, 1
cmp r14, rbx
mov qword [r13 + 0x18], r11
mov byte [r8], r15b
je 0x4934e5
test rbp, rbp
je 0x4932bf
cmp rbp, 1
je 0x493206
cmp rbp, 2
je 0x4931e2
mov rdi, qword [rsi]
movzx r12d, byte [rbx]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x494e83
lea rdx, [r8 + 1]
add rbx, 1
mov qword [rdi + 0x18], rdx
mov byte [r8], r12b
mov rbp, qword [rsi]
movzx r15d, byte [rbx]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x494e33
lea rcx, [r8 + 1]
add rbx, 1
mov qword [rbp + 0x18], rcx
mov byte [r8], r15b
mov r12, qword [rsi]
movzx r13d, byte [rbx]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x494e5a
lea r9, [r8 + 1]
add rbx, 1
cmp r14, rbx
mov qword [r12 + 0x18], r9
mov byte [r8], r13b
jne 0x4932bf
jmp 0x4934e5
lea rax, [r8 + 1]
lea rbp, [rbx + 1]
mov qword [r15 + 0x18], rax
mov byte [r8], dil
movzx r13d, byte [rbx + 1]
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x49438c
lea r10, [r8 + 1]
mov qword [rbx + 0x18], r10
mov byte [r8], r13b
mov rdi, qword [rsi]
movzx r12d, byte [rbp + 1]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4943d9
lea r11, [r8 + 1]
mov qword [rdi + 0x18], r11
mov byte [r8], r12b
mov r13, qword [rsi]
movzx r15d, byte [rbp + 2]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4943b2
lea rbx, [rbp + 3]
lea rdx, [r8 + 1]
cmp r14, rbx
mov qword [r13 + 0x18], rdx
mov byte [r8], r15b
je 0x4934e5
mov r15, qword [rsi]
movzx edi, byte [rbx]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jb 0x493240
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x493240
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x493240
mov r15, qword [rsi]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x494dd5
lea r10, [r8 + 1]
mov qword [r15 + 0x18], r10
mov byte [r8], 0x2c
test byte [rsi + 0x44], 1
je 0x492a1d
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x49556f
lea r11, [r8 + 1]
mov qword [r12 + 0x18], r11
mov byte [r8], 0x20
jmp 0x492a13
test al, 1
jne 0x4945b6
cmp r8, qword [r12 + 0x10]
jae 0x495598
lea r9, [r8 + 1]
mov qword [r12 + 0x18], r9
mov byte [r8], 0x2c
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jb 0x49309e
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x49309e
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x49309e
mov r13, qword [rsi]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x493620
lea r9, [r8 + 1]
lea rcx, [r14 + 0x10]
mov rdx, rsi
mov qword [r13 + 0x18], r9
mov byte [r8], 0x22
call fcn.00492660
test al, al
je 0x49273e
mov rbx, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x30]
add r14, 0x20
mov r11d, dword [rbx]
and r10, qword [rbx + 8]
shl r11, 5
add r11, r10
cmp r14, r11
jne 0x492b46
mov r14, qword [rsi + 0x20]
cmp qword [r14 - 0x10], 0
lea r15, [r14 - 0x10]
mov qword [rsi + 0x20], r15
je 0x4934ba
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4956b3
lea rax, [r8 + 1]
mov qword [r12 + 0x18], rax
mov byte [r8], 0xa
mov rbp, qword [rsi + 0x20]
sub rbp, qword [rsi + 0x18]
mov r8d, dword [rsi + 0x40]
mov rdi, qword [rsi]
movsx r13d, byte [rsi + 0x3d]
shr rbp, 4
mov rcx, qword [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
imul rbp, r8
sub rbx, rcx
cmp rbp, rbx
jbe 0x4934a6
nop dword [rax]
mov r8, rbx
mov edx, r13d
call sub.msvcrt.dll_memset
mov r8, rbx
add r8, qword [rdi + 0x18]
mov rcx, qword [rdi + 8]
cmp r8, rcx
mov qword [rdi + 0x18], r8
je 0x493497
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov rcx, qword [rdi + 8]
mov qword [rdi + 0x18], rcx
sub rbp, rbx
mov rbx, qword [rdi + 0x10]
sub rbx, rcx
cmp rbp, rbx
ja 0x493460
test rbp, rbp
je 0x4934ba
mov r8, rbp
mov edx, r13d
call sub.msvcrt.dll_memset
add qword [rdi + 0x18], rbp
mov r14, qword [rsi]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jae 0x4950a9
lea rcx, [r8 + 1]
mov qword [r14 + 0x18], rcx
mov byte [r8], 0x7d
mov rdx, qword [rsi + 0x20]
cmp qword [rsi + 0x18], rdx
je 0x493a15
mov eax, 1
jmp 0x492887
mov rdx, qword [rsi]
mov r8, qword [rdx + 0x18]
cmp r8, qword [rdx + 0x10]
jae 0x4937a0
lea rax, [r8 + 1]
mov qword [rdx + 0x18], rax
mov byte [r8], 0x5c
mov r11, qword [rsi]
mov r8, qword [r11 + 0x18]
cmp r8, qword [r11 + 0x10]
jae 0x493760
lea rcx, [r8 + 1]
cmp dil, 0x75
mov qword [r11 + 0x18], rcx
mov byte [r8], dil
jne 0x492ccb
mov rdi, qword [rsi]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4938bc
lea r9, [r8 + 1]
mov qword [rdi + 0x18], r9
mov byte [r8], 0x30
mov rdi, qword [rsi]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x49388c
lea rdx, [r8 + 1]
sar r10d, 4
lea rax, [0x0052c140]
mov qword [rdi + 0x18], rdx
mov byte [r8], 0x30
movsxd r8, r10d
mov rdi, qword [rsi]
movzx r11d, byte [rax + r8]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4938ec
lea rcx, [r8 + 1]
and r12d, 0xf
lea r9, [0x0052c140]
mov qword [rdi + 0x18], rcx
mov byte [r8], r11b
mov rdi, qword [rsi]
movzx r12d, byte [r9 + r12]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jb 0x492cc0
jmp 0x492d05
mov r13, qword [rsp + 0x30]
mov rdi, qword [rsi + 0x20]
and r13, qword [r14 + 8]
cmp rdi, qword [rsi + 0x18]
mov ecx, dword [r14]
mov dword [rsp + 0x28], ecx
jne 0x492b72
mov rdi, qword [rsi]
mov byte [rsi + 0x3c], 1
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jb 0x492ca8
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x492ca8
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x492ca8
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4933b2
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4933b2
mov rax, qword [rdi - 0x10]
mov rbp, qword [rsi]
test rax, rax
mov r8, qword [rbp + 0x18]
je 0x4937e0
test al, 1
jne 0x493837
cmp r8, qword [rbp + 0x10]
jae 0x494426
lea r10, [r8 + 1]
mov qword [rbp + 0x18], r10
mov byte [r8], 0x2c
mov rbp, qword [rsi]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4937ea
lea r11, [r8 + 1]
mov qword [rbp + 0x18], r11
mov byte [r8], 0xa
mov rax, qword [rdi - 0x10]
test al, 1
jne 0x492c8f
mov rbx, qword [rsi + 0x20]
sub rbx, qword [rsi + 0x18]
mov r8d, dword [rsi + 0x40]
mov r12, qword [rsi]
movsx eax, byte [rsi + 0x3d]
shr rbx, 4
mov rcx, qword [r12 + 0x18]
mov rbp, qword [r12 + 0x10]
imul rbx, r8
mov dword [rsp + 0x38], eax
sub rbp, rcx
cmp rbx, rbp
jbe 0x493740
mov qword [rsp + 0xb8], rsi
mov rsi, r12
mov r12, rbp
mov ebp, eax
nop dword [rax]
mov r8, r12
mov edx, ebp
call sub.msvcrt.dll_memset
mov r8, r12
add r8, qword [rsi + 0x18]
mov rcx, qword [rsi + 8]
cmp r8, rcx
mov qword [rsi + 0x18], r8
je 0x493726
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov rcx, qword [rsi + 8]
mov qword [rsi + 0x18], rcx
sub rbx, r12
mov r12, qword [rsi + 0x10]
sub r12, rcx
cmp rbx, r12
ja 0x4936f0
mov r12, rsi
mov rsi, qword [rsp + 0xb8]
test rbx, rbx
je 0x492c8b
mov edx, dword [rsp + 0x38]
mov r8, rbx
call sub.msvcrt.dll_memset
add qword [r12 + 0x18], rbx
jmp 0x492c8b
mov rcx, qword [r11 + 8]
cmp r8, rcx
je 0x49351e
mov r9, qword [r11]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x28], r11
call sub.msvcrt.dll_fwrite
mov r11, qword [rsp + 0x28]
mov r10d, dword [rsp + 0x38]
mov r8, qword [r11 + 8]
jmp 0x49351e
mov rcx, qword [rdx + 8]
cmp r8, rcx
je 0x493501
mov r9, qword [rdx]
mov qword [rsp + 0x28], rdx
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x38], r10d
call sub.msvcrt.dll_fwrite
mov rdx, qword [rsp + 0x28]
mov r10d, dword [rsp + 0x38]
mov r8, qword [rdx + 8]
jmp 0x493501
cmp r8, qword [rbp + 0x10]
jb 0x493693
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x493693
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x493693
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x492b06
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x492b06
cmp r8, qword [rbp + 0x10]
jae 0x494476
lea rdx, [r8 + 1]
mov qword [rbp + 0x18], rdx
mov byte [r8], 0x3a
mov r12, qword [rsi]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x49444d
lea r9, [r8 + 1]
mov qword [r12 + 0x18], r9
mov byte [r8], 0x20
jmp 0x49369f
mov edx, dword [rsp + 0x38]
mov r8, rbx
call sub.msvcrt.dll_memset
add qword [r12 + 0x18], rbx
mov rax, qword [rdi - 0x10]
jmp 0x492c8f
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x493561
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x28], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
mov r10d, dword [rsp + 0x28]
jmp 0x493561
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x493544
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x28], r10d
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
mov r10d, dword [rsp + 0x28]
jmp 0x493544
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x493591
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
mov byte [rsp + 0x28], r11b
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
movzx r11d, byte [rsp + 0x28]
jmp 0x493591
mov r14, qword [rsi + 0x20]
cmp qword [r14 - 0x10], 0
lea r8, [r14 - 0x10]
mov qword [rsi + 0x20], r8
je 0x4939ea
test byte [rsi + 0x44], 1
jne 0x4939ea
mov rbp, qword [rsi]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4955fc
lea r12, [r8 + 1]
mov qword [rbp + 0x18], r12
mov byte [r8], 0xa
mov r13, qword [rsi + 0x20]
sub r13, qword [rsi + 0x18]
mov r9d, 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, r9
sub rbx, rcx
cmp r13, rbx
jbe 0x4939d6
nop word [rax + rax]
mov r8, rbx
mov edx, r15d
call sub.msvcrt.dll_memset
mov r8, rbx
add r8, qword [rdi + 0x18]
mov rcx, qword [rdi + 8]
cmp r8, rcx
mov qword [rdi + 0x18], r8
je 0x4939c7
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov rcx, qword [rdi + 8]
mov qword [rdi + 0x18], rcx
sub r13, rbx
mov rbx, qword [rdi + 0x10]
sub rbx, rcx
cmp r13, rbx
ja 0x493990
test r13, r13
je 0x4939ea
mov r8, r13
mov edx, r15d
call sub.msvcrt.dll_memset
add qword [rdi + 0x18], r13
mov r14, qword [rsi]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jae 0x4945f0
lea r10, [r8 + 1]
mov qword [r14 + 0x18], r10
mov byte [r8], 0x5d
mov r11, qword [rsi + 0x20]
cmp qword [rsi + 0x18], r11
jne 0x4934e5
mov rsi, qword [rsi]
mov r8, qword [rsi + 0x18]
mov rcx, qword [rsi + 8]
cmp r8, rcx
je 0x4934e5
mov r9, qword [rsi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r9, qword [rsi + 8]
mov eax, 1
mov qword [rsi + 0x18], r9
jmp 0x492887
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x492859
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x492859
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x49283c
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x49283c
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x49281f
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x49281f
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x492779
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x492779
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4929ab
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4929ab
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x49298e
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x49298e
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x492970
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x492970
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x492915
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x492915
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4928f8
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4928f8
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4928db
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4928db
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4928be
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4928be
mov byte [rsi + 0x3c], 1
jmp 0x492acf
mov rcx, qword [r11 + 8]
cmp r8, rcx
je 0x492f41
mov r9, qword [r11]
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x28], r11
call sub.msvcrt.dll_fwrite
mov r11, qword [rsp + 0x28]
mov r10d, dword [rsp + 0x30]
mov r8, qword [r11 + 8]
jmp 0x492f41
mov rcx, qword [rdx + 8]
cmp r8, rcx
je 0x492f5e
mov r9, qword [rdx]
mov qword [rsp + 0x28], rdx
sub r8, rcx
mov edx, 1
mov dword [rsp + 0x30], r10d
call sub.msvcrt.dll_fwrite
mov rdx, qword [rsp + 0x28]
mov r10d, dword [rsp + 0x30]
mov r8, qword [rdx + 8]
jmp 0x492f5e
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x492be0
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x492be0
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x492b94
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x492b94
mov r13, qword [r14]
mov rcx, rsi
mov edx, 6
call fcn.00486c10
movabs rcx, 0x7ff0000000000000
xor eax, eax
mov r8, r13
and r8, rcx
cmp r8, rcx
je 0x492887
movabs r11, 0x7fffffffffffffff
test r13, r11
jne 0x494a4b
lea rbp, [rsp + 0x40]
test r13, r13
mov rbx, rbp
jns 0x493d18
lea rbp, [rsp + 0x40]
mov byte [rsp + 0x40], 0x2d
lea rbx, [rbp + 1]
mov byte [rbx], 0x30
mov byte [rbx + 1], 0x2e
add rbx, 3
mov byte [rbx - 1], 0x30
cmp rbx, rbp
je 0x4934e5
mov r15, qword [rsi]
mov rdi, rbp
movzx r14d, byte [rbp]
not rdi
add rdi, rbx
and edi, 3
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x495311
lea rax, [r8 + 1]
add rbp, 1
cmp rbp, rbx
mov qword [r15 + 0x18], rax
mov byte [r8], r14b
je 0x4934e5
test rdi, rdi
je 0x493e7e
cmp rdi, 1
je 0x493dc9
cmp rdi, 2
je 0x493da4
mov r13, qword [rsi]
movzx r12d, byte [rbp]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4954d2
lea r11, [r8 + 1]
add rbp, 1
mov qword [r13 + 0x18], r11
mov byte [r8], r12b
mov rdi, qword [rsi]
movzx r14d, byte [rbp]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4952eb
lea r10, [r8 + 1]
add rbp, 1
mov qword [rdi + 0x18], r10
mov byte [r8], r14b
mov r12, qword [rsi]
movzx r15d, byte [rbp]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x495337
lea rdx, [r8 + 1]
add rbp, 1
cmp rbp, rbx
mov qword [r12 + 0x18], rdx
mov byte [r8], r15b
jne 0x493e7e
jmp 0x4934e5
lea rcx, [r8 + 1]
lea r15, [rbp + 1]
mov qword [r14 + 0x18], rcx
mov byte [r8], r13b
mov rdi, qword [rsi]
movzx ebp, byte [rbp + 1]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4947fa
lea r9, [r8 + 1]
mov qword [rdi + 0x18], r9
mov byte [r8], bpl
mov r13, qword [rsi]
movzx r12d, byte [r15 + 1]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x4947d3
lea rax, [r8 + 1]
mov qword [r13 + 0x18], rax
mov byte [r8], r12b
mov rbp, qword [rsi]
movzx r14d, byte [r15 + 2]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4947ac
lea r11, [r8 + 1]
mov qword [rbp + 0x18], r11
lea rbp, [r15 + 3]
mov byte [r8], r14b
cmp rbp, rbx
je 0x4934e5
mov r14, qword [rsi]
movzx r13d, byte [rbp]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jb 0x493e00
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x493e00
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x493e00
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x492e95
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x492e95
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x492ed9
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x492ed9
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x492eb6
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x492eb6
mov r15d, dword [r14]
mov edx, 6
mov rcx, rsi
lea rbx, [rsp + 0x40]
call fcn.00486c10
test r15d, r15d
mov ebp, r15d
mov r8, rbx
js 0x494ea9
cmp ebp, 0x270f
ja 0x4946b5
mov r15d, 0x51eb851f
mov eax, ebp
mov r9d, ebp
mul r15d
shr edx, 5
imul r10d, edx, 0x64
lea r14d, [rdx + rdx]
sub r9d, r10d
add r9d, r9d
cmp ebp, 0x3e7
jbe 0x494f3b
lea r12, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov edi, r14d
lea rbp, [r8 + 1]
movzx r13d, byte [r12 + rdi]
mov byte [r8], r13b
lea r8d, [r14 + 1]
lea rcx, [rbp + 1]
movzx r11d, byte [r12 + r8]
mov byte [rbp], r11b
mov r15d, r9d
lea r8, [rcx + 1]
movzx eax, byte [r12 + r15]
mov byte [rcx], al
add r9d, 1
lea rdi, [r8 + 1]
movzx edx, byte [r12 + r9]
mov byte [r8], dl
cmp rdi, rbx
je 0x4934e5
mov r12, qword [rsi]
mov r14, rbx
movzx ebp, byte [rbx]
not r14
add r14, rdi
and r14d, 3
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x494eb9
lea r10, [r8 + 1]
add rbx, 1
cmp rbx, rdi
mov qword [r12 + 0x18], r10
mov byte [r8], bpl
je 0x4934e5
test r14, r14
je 0x494125
cmp r14, 1
je 0x494071
cmp r14, 2
je 0x49404d
mov r15, qword [rsi]
movzx r13d, byte [rbx]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x494eee
lea r9, [r8 + 1]
add rbx, 1
mov qword [r15 + 0x18], r9
mov byte [r8], r13b
mov rbp, qword [rsi]
movzx r14d, byte [rbx]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x494f68
lea rcx, [r8 + 1]
add rbx, 1
mov qword [rbp + 0x18], rcx
mov byte [r8], r14b
mov r13, qword [rsi]
movzx r12d, byte [rbx]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x494f14
lea r11, [r8 + 1]
add rbx, 1
cmp rbx, rdi
mov qword [r13 + 0x18], r11
mov byte [r8], r12b
jne 0x494125
jmp 0x4934e5
lea rax, [r8 + 1]
lea rbp, [rbx + 1]
mov qword [r14 + 0x18], rax
mov byte [r8], r15b
movzx r12d, byte [rbx + 1]
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x494590
lea rdx, [r8 + 1]
mov qword [rbx + 0x18], rdx
mov byte [r8], r12b
mov r15, qword [rsi]
movzx r13d, byte [rbp + 1]
mov r8, qword [r15 + 0x18]
cmp r8, qword [r15 + 0x10]
jae 0x49456a
lea r10, [r8 + 1]
mov qword [r15 + 0x18], r10
mov byte [r8], r13b
mov r12, qword [rsi]
movzx r14d, byte [rbp + 2]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x494541
lea rbx, [rbp + 3]
lea r9, [r8 + 1]
cmp rbx, rdi
mov qword [r12 + 0x18], r9
mov byte [r8], r14b
je 0x4934e5
mov r14, qword [rsi]
movzx r15d, byte [rbx]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jb 0x4940a3
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4940a3
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4940a3
mov r14d, dword [r14]
mov edx, 6
mov rcx, rsi
call fcn.00486c10
cmp r14d, 0x270f
ja 0x494949
mov ebx, 0x51eb851f
mov eax, r14d
mov ebp, r14d
mul ebx
mov r9d, edx
shr r9d, 5
imul r12d, r9d, 0x64
lea edi, [r9 + r9]
sub ebp, r12d
add ebp, ebp
cmp r14d, 0x3e7
jbe 0x4954a0
lea r14, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov r13d, edi
lea rbx, [rsp + 0x40]
movzx ecx, byte [r14 + r13]
lea r8, [rbx + 1]
mov byte [rsp + 0x40], cl
lea r10d, [rdi + 1]
lea r15, [r8 + 1]
movzx r11d, byte [r14 + r10]
mov byte [r8], r11b
mov edx, ebp
lea rax, [r15 + 1]
movzx r9d, byte [r14 + rdx]
mov byte [r15], r9b
lea edi, [rbp + 1]
lea r15, [rax + 1]
movzx r12d, byte [r14 + rdi]
mov byte [rax], r12b
cmp r15, rbx
je 0x4934e5
mov r13, qword [rsi]
mov rbp, rbx
movzx r14d, byte [rbx]
not rbp
add rbp, r15
and ebp, 3
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x495479
lea rcx, [r8 + 1]
add rbx, 1
cmp rbx, r15
mov qword [r13 + 0x18], rcx
mov byte [r8], r14b
je 0x4934e5
test rbp, rbp
je 0x494351
cmp rbp, 1
je 0x494295
cmp rbp, 2
je 0x494271
mov r12, qword [rsi]
movzx edi, byte [rbx]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x4950cf
lea r10, [r8 + 1]
add rbx, 1
mov qword [r12 + 0x18], r10
mov byte [r8], dil
mov rbp, qword [rsi]
movzx r14d, byte [rbx]
mov r8, qword [rbp + 0x18]
cmp r8, qword [rbp + 0x10]
jae 0x4950f8
lea r11, [r8 + 1]
add rbx, 1
mov qword [rbp + 0x18], r11
mov byte [r8], r14b
mov rdi, qword [rsi]
movzx r13d, byte [rbx]
mov r8, qword [rdi + 0x18]
cmp r8, qword [rdi + 0x10]
jae 0x4954f9
lea rax, [r8 + 1]
add rbx, 1
cmp rbx, r15
mov qword [rdi + 0x18], rax
mov byte [r8], r13b
jne 0x494351
jmp 0x4934e5
lea rdx, [r8 + 1]
lea rbp, [rbx + 1]
mov qword [r14 + 0x18], rdx
mov byte [r8], r12b
movzx r13d, byte [rbx + 1]
mov rbx, qword [rsi]
mov r8, qword [rbx + 0x18]
cmp r8, qword [rbx + 0x10]
jae 0x494666
lea r9, [r8 + 1]
mov qword [rbx + 0x18], r9
mov byte [r8], r13b
mov r12, qword [rsi]
movzx edi, byte [rbp + 1]
mov r8, qword [r12 + 0x18]
cmp r8, qword [r12 + 0x10]
jae 0x49463d
lea rcx, [r8 + 1]
mov qword [r12 + 0x18], rcx
mov byte [r8], dil
mov r13, qword [rsi]
movzx r14d, byte [rbp + 2]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x494616
lea rbx, [rbp + 3]
lea r10, [r8 + 1]
cmp rbx, r15
mov qword [r13 + 0x18], r10
mov byte [r8], r14b
je 0x4934e5
mov r14, qword [rsi]
movzx r12d, byte [rbx]
mov r8, qword [r14 + 0x18]
cmp r8, qword [r14 + 0x10]
jb 0x4942d0
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4942d0
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4942d0
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x493265
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x493265
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4932a7
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4932a7
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x493286
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x493286
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x492bb7
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x492bb7
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x493676
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x493676
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x493860
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x493860
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x493841
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x493841
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x495637
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 0x494ee2
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 0x4926c2
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x495623
sub rdx, rcx
lea r9, [rdx + 1]
shr r9, 1
add rdx, r9
sub rbp, rcx
lea rdi, [rbp + 0x10]
cmp rdi, rdx
cmovb rdi, rdx
test rdi, rdi
je 0x494f5c
mov rdx, rdi
call sub.msvcrt.dll_realloc
add rbp, rax
mov qword [rsi + 0x18], rax
add rax, rdi
mov qword [rsi + 0x28], rax
lea r8, [rbp + 0x10]
jmp 0x492ae0
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x49410c
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x49410c
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x4940e9
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x4940e9
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4940c8
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4940c8
cmp r8, qword [r12 + 0x10]
jae 0x495546
lea rcx, [r8 + 1]
mov qword [r12 + 0x18], rcx
mov byte [r8], 0x3a
mov r13, qword [rsi]
mov r8, qword [r13 + 0x18]
cmp r8, qword [r13 + 0x10]
jae 0x49551f
lea rdx, [r8 + 1]
mov qword [r13 + 0x18], rdx
mov byte [r8], 0x20
jmp 0x4930ab
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4939fb
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4939fb
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x494339
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x494339
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x494317
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x494317
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x4942f5
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
jmp 0x4942f5
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x492dc6
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x492dc6
cmp ebp, 0x5f5e0ff
ja 0x494f8f
mov r12d, 0xd1b71759
mov eax, ebp
mov r11d, 0x431bde83
mul r12d
mov eax, ebp
mov r9d, 0x51eb851f
mov r13d, ebp
shr edx, 0xd
imul ecx, edx, 0x2710
mov r10d, edx
mul r11d
mov eax, r10d
sub r13d, ecx
shr edx, 0x12
lea r15d, [rdx + rdx]
mul r9d
mov eax, r13d
shr edx, 5
imul edi, edx, 0x64
mul r9d
sub r10d, edi
mov r14d, edx
add r10d, r10d
shr r14d, 5
imul ecx, r14d, 0x64
lea r12d, [r14 + r14]
sub r13d, ecx
add r13d, r13d
cmp ebp, 0x98967f
jbe 0x4955d5
lea r11, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov edi, r15d
lea rbp, [r8 + 1]
movzx eax, byte [r11 + rdi]
mov byte [r8], al
lea r8d, [r15 + 1]
lea r9, [rbp + 1]
movzx r15d, byte [r11 + r8]
mov byte [rbp], r15b
mov edx, r10d
lea r8, [r9 + 1]
movzx r14d, byte [r11 + rdx]
mov byte [r9], r14b
lea r10d, [r10 + 1]
mov r9d, r12d
add r12d, 1
mov edi, r13d
lea r13d, [r13 + 1]
movzx ecx, byte [r11 + r10]
mov byte [r8], cl
movzx ebp, byte [r11 + r9]
mov byte [r8 + 1], bpl
movzx r12d, byte [r11 + r12]
mov byte [r8 + 2], r12b
movzx eax, byte [r11 + rdi]
lea rdi, [r8 + 5]
mov byte [r8 + 3], al
movzx r11d, byte [r11 + r13]
mov byte [r8 + 4], r11b
jmp 0x493fcf
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x493e66
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x493e66
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x493e45
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x493e45
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x493e24
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x493e24
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x492e09
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x492e09
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x492e2d
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x492e2d
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x492e51
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x492e51
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x492fa0
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 0x492fa0
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x492f83
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 0x492f83
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x492fc9
mov r9, qword [rbx]
mov byte [rsp + 0x28], dl
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbx + 8]
movzx edx, byte [rsp + 0x28]
jmp 0x492fc9
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x492a2e
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x492a2e
cmp r14d, 0x5f5e0ff
ja 0x495360
mov eax, r14d
mov ebx, 0xd1b71759
mov r13d, 0x431bde83
mul ebx
mov eax, r14d
mov ecx, 0x51eb851f
mov r10d, r14d
shr edx, 0xd
mov r8d, edx
imul r11d, edx, 0x2710
mul r13d
mov eax, r8d
sub r10d, r11d
shr edx, 0x12
lea r9d, [rdx + rdx]
mul ecx
mov eax, r10d
shr edx, 5
imul edi, edx, 0x64
mul ecx
sub r8d, edi
mov r15d, edx
add r8d, r8d
shr r15d, 5
imul r12d, r15d, 0x64
lea ebp, [r15 + r15]
sub r10d, r12d
add r10d, r10d
cmp r14d, 0x98967f
jbe 0x495663
lea r11, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov ebx, r9d
movzx ecx, byte [r11 + rbx]
lea rbx, [rsp + 0x40]
lea r13, [rbx + 1]
mov byte [rsp + 0x40], cl
lea r9d, [r9 + 1]
lea r14, [r13 + 1]
movzx edi, byte [r11 + r9]
mov byte [r13], dil
mov eax, r8d
lea r12, [r14 + 1]
movzx edx, byte [r11 + rax]
mov byte [r14], dl
add r8d, 1
mov r15d, ebp
add ebp, 1
movzx r8d, byte [r11 + r8]
mov r13d, r10d
lea r10d, [r10 + 1]
mov byte [r12], r8b
movzx r14d, byte [r11 + r15]
lea r15, [r12 + 5]
mov byte [r12 + 1], r14b
movzx ebp, byte [r11 + rbp]
mov byte [r12 + 2], bpl
movzx ecx, byte [r11 + r13]
mov byte [r12 + 3], cl
movzx r11d, byte [r11 + r10]
mov byte [r12 + 4], r11b
jmp 0x4941f4
pxor xmm1, xmm1
mov qword [rsp + 0x30], r13
movsd xmm3, qword [rsp + 0x30]
mov eax, dword [rsi + 0x38]
lea rbp, [rsp + 0x40]
comisd xmm1, xmm3
mov dword [rsp + 0x28], eax
mov rdi, rbp
ja 0x49564b
mov rdx, r13
mov rax, r13
movabs r15, 0xfffffffffffff
shr rdx, 0x34
and rax, r15
mov r9d, 0xfffffbcd
and edx, 0x7ff
mov r14d, 0xfffffbce
je 0x494ab6
movabs r10, 0x10000000000000
lea r14d, [rdx + r9]
lea r9d, [rdx - 0x434]
add rax, r10
lea r10, [rax + rax]
lea r12, [r10 + 1]
bt r12, 0x35
jb 0x495bbf
lea ebx, [r9 - 1]
movabs r13, 0x20000000000000
nop word [rax + rax]
add r12, r12
mov r8d, ebx
sub ebx, 1
test r12, r13
je 0x494ae0
movabs rcx, 0x10000000000000
shl r12, 0xa
sub r8d, 0xa
sub r10, 1
cmp rax, rcx
je 0x4956dc
pxor xmm0, xmm0
mov edx, 0xffffffc3
mov ecx, r9d
sub edx, r8d
pxor xmm2, xmm2
sub ecx, r8d
mov r13d, 0x15c
cvtsi2sd xmm0, edx
shl r10, cl
mulsd xmm0, qword [0x00516f78]
addsd xmm0, qword [0x00516f80]
cvttsd2si edx, xmm0
cvtsi2sd xmm2, edx
lea ecx, [rdx + 1]
subsd xmm0, xmm2
comisd xmm0, xmm1
cmova edx, ecx
sar edx, 3
add edx, 1
lea ecx, [rdx*8]
sub r13d, ecx
lea rcx, [0x0052c360]
mov dword [rsp + 0x30], r13d
movsx ebx, word [rcx + rdx*2]
lea rcx, [0x0052c420]
mov r9, qword [rcx + rdx*8]
bsr rcx, rax
xor rcx, 0x3f
shl rax, cl
add ebx, r8d
mul r9
shr rax, 0x3f
mov r11, rdx
add r11, rax
mov rax, r12
mov r12d, 1
mul r9
shr rax, 0x3f
mov rcx, rdx
add rcx, rax
mov rax, r9
mov r9d, 1
mul r10
lea r8, [rcx - 1]
sub rcx, 2
mov r14, r8
sub r14, r11
shr rax, 0x3f
add rax, rdx
sub rcx, rax
mov rax, r8
mov r10, rcx
mov ecx, 0xffffffc0
sub ecx, ebx
shl r12, cl
shr rax, cl
lea rdx, [r12 - 1]
mov r11d, eax
and r8, rdx
cmp eax, 9
mov qword [rsp + 0x38], rdx
jbe 0x494c0d
cmp eax, 0x63
mov r9d, 2
ja 0x4956ef
lea r13, [0x00516ed0]
xor ebx, ebx
nop word cs:[rax + rax]
cmp r9d, 9
ja case.0x494c31.0
mov eax, r9d
movsxd rdx, dword [r13 + rax*4]
add rdx, r13
jmp rdx
mov eax, r11d
xor edx, edx
xor r11d, r11d
nop dword [rax + rax]
test ebx, ebx
jne 0x494dc3
test eax, eax
jne 0x494dc3
xor ebx, ebx
lea rax, [rdx + r8]
sub r9d, 1
cmp r10, rax
jae 0x49511f
test r9d, r9d
jne 0x494c20
mov r11, qword [rsp + 0x38]
jmp 0x494c85
test ebx, ebx
jne 0x494ca0
xor ebx, ebx
and r8, r11
sub r9d, 1
cmp rax, r8
ja 0x495262
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
je 0x494c6f
movsxd r13, ebx
add edx, 0x30
add ebx, 1
mov byte [rdi + r13], dl
jmp 0x494c75
mov eax, 0x6b5fca6b
mul r11d
mov eax, edx
shr eax, 0x16
imul r15d, eax, 0x989680
sub r11d, r15d
mov edx, r11d
shl rdx, cl
jmp 0x494c40
mov eax, 0x431bde83
mul r11d
mov eax, edx
shr eax, 0x12
imul r15d, eax, 0xf4240
sub r11d, r15d
mov edx, r11d
shl rdx, cl
jmp 0x494c40
mov eax, r11d
mov edx, 0xa7c5ac5
shr eax, 5
mul edx
mov eax, edx
shr eax, 7
imul r15d, eax, 0x186a0
sub r11d, r15d
mov edx, r11d
shl rdx, cl
jmp 0x494c40
mov eax, 0xd1b71759
mul r11d
mov eax, edx
shr eax, 0xd
imul r15d, eax, 0x2710
sub r11d, r15d
mov edx, r11d
shl rdx, cl
jmp 0x494c40
mov eax, 0x10624dd3
mul r11d
mov eax, edx
shr eax, 6
imul r15d, eax, 0x3e8
sub r11d, r15d
mov edx, r11d
shl rdx, cl
jmp 0x494c40
mov eax, 0x51eb851f
mul r11d
mov eax, edx
shr eax, 5
imul r15d, eax, 0x64
sub r11d, r15d
mov edx, r11d
shl rdx, cl
jmp 0x494c40
mov eax, 0xcccccccd
mul r11d
mov eax, edx
shr eax, 3
lea r15d, [rax + rax*4]
add r15d, r15d
sub r11d, r15d
mov edx, r11d
shl rdx, cl
jmp 0x494c40
mov eax, r11d
mov edx, 0x55e63b89
mul edx
mov eax, edx
shr eax, 0x19
imul r15d, eax, 0x5f5e100
sub r11d, r15d
mov edx, r11d
shl rdx, cl
jmp 0x494c40
movsxd r15, ebx
add eax, 0x30
add ebx, 1
mov byte [rdi + r15], al
jmp 0x494c52
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x49330a
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x49330a
mov byte [rsp + 0x40], 0x2d
neg rcx
add rdx, 1
jmp 0x49315f
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x493191
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x493191
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x4931f7
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x4931f7
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x49321d
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x49321d
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x4931d3
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x4931d3
mov byte [rsp + 0x40], 0x2d
neg ebp
add r8, 1
jmp 0x493f53
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x493ffb
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x493ffb
call fcn.0047b518
xor eax, eax
jmp 0x4944d9
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x49403e
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x49403e
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x494086
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x494086
cmp ebp, 0x63
ja 0x495cdd
cmp ebp, 9
lea r12, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
jbe 0x493fbf
mov rcx, r8
jmp 0x493fb1
call fcn.0047b518
xor eax, eax
jmp 0x49452a
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x494062
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x494062
mov eax, ebp
mov r11d, 0x55e63b89
mul r11d
mov r9d, edx
shr r9d, 0x19
imul edi, r9d, 0x5f5e100
sub ebp, edi
cmp r9d, 9
jbe 0x4955c1
add r9d, r9d
lea r14, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
lea r12, [r8 + 2]
mov rcx, r9
add ecx, 1
movzx r9d, byte [r14 + r9]
movzx r13d, byte [r14 + rcx]
mov byte [r8 + 1], r13b
mov byte [r8], r9b
mov eax, ebp
mov r8d, 0xd1b71759
mul r8d
mov r9d, 0x431bde83
mov eax, ebp
mov r11d, ebp
mov ebp, 0x51eb851f
shr edx, 0xd
mov r10d, edx
imul r15d, edx, 0x2710
mul r9d
mov eax, r10d
sub r11d, r15d
shr edx, 0x12
lea edi, [rdx + rdx]
mul ebp
mov eax, r11d
shr edx, 5
imul ecx, edx, 0x64
mul ebp
sub r10d, ecx
shr edx, 5
add r10d, r10d
imul r8d, edx, 0x64
mov ecx, r10d
lea r10d, [r10 + 1]
lea r13d, [rdx + rdx]
sub r11d, r8d
mov r8d, r13d
lea r13d, [r13 + 1]
lea r15d, [r11 + r11]
mov r11d, edi
lea edi, [rdi + 1]
movzx r9d, byte [r14 + r11]
mov byte [r12], r9b
movzx ebp, byte [r14 + rdi]
mov edi, r15d
lea r15d, [r15 + 1]
mov byte [r12 + 1], bpl
movzx eax, byte [r14 + rcx]
mov byte [r12 + 2], al
movzx edx, byte [r14 + r10]
mov byte [r12 + 3], dl
movzx r11d, byte [r14 + r8]
mov byte [r12 + 4], r11b
movzx r9d, byte [r14 + r13]
mov byte [r12 + 5], r9b
movzx ebp, byte [r14 + rdi]
lea rdi, [r12 + 8]
mov byte [r12 + 6], bpl
movzx r14d, byte [r14 + r15]
mov byte [r12 + 7], r14b
jmp 0x493fcf
mov rcx, qword [r14 + 8]
cmp r8, rcx
je 0x4934cb
mov r9, qword [r14]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r14 + 8]
jmp 0x4934cb
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x494261
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x494261
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x494286
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x494286
lea r8, [0x0052d0a0]
mov r13d, dword [rsp + 0x30]
mov r15d, dword [r8 + r9*4]
add r13d, r9d
shl r15, cl
cmp r14, rax
jbe 0x495170
mov rdx, r10
sub rdx, rax
cmp r15, rdx
ja 0x495170
movsxd r11, ebx
sub rdx, r15
lea r9, [rdi + r11 - 1]
lea rcx, [r15 + rax]
cmp r14, rcx
ja 0x4951b2
mov r12, r14
sub rcx, r14
sub r12, rax
cmp r12, rcx
jbe 0x495170
movsxd r14, ebx
sub byte [rdi + r14 - 1], 1
test r13d, r13d
lea r12d, [rbx + r13]
js 0x4951c9
cmp r12d, 0x15
jg 0x4951c9
cmp r12d, ebx
jle 0x49519c
lea r13d, [r13 - 1]
movsxd rcx, ebx
mov edx, 0x30
add rcx, rdi
lea r8, [r13 + 1]
call sub.msvcrt.dll_memset
movsxd rbx, r12d
mov byte [rdi + rbx], 0x2e
mov byte [rdi + rbx + 1], 0x30
lea rbx, [rdi + rbx + 2]
jmp 0x493d27
mov r10, rdx
sub byte [r9], 1
mov rax, rcx
sub r10, r15
cmp r15, rdx
ja 0x495170
mov rdx, r10
jmp 0x495150
lea r15d, [r12 - 1]
cmp r15d, 0x14
jbe 0x495760
lea r11d, [r12 + 5]
cmp r11d, 5
jbe 0x495924
mov r9d, dword [rsp + 0x28]
neg r9d
cmp r12d, r9d
jl 0x495910
cmp ebx, 1
je 0x495ca6
lea r10d, [rbx - 1]
lea rcx, [rdi + 2]
lea rdx, [rdi + 1]
movsxd r8, r10d
call sub.msvcrt.dll_memmove
movsxd rcx, ebx
test r15d, r15d
mov byte [rdi + 1], 0x2e
mov r8d, r15d
mov byte [rdi + rcx + 1], 0x65
lea rdi, [rdi + rcx + 2]
jns 0x49523e
mov r8d, 1
mov byte [rdi], 0x2d
add rdi, 1
sub r8d, r12d
cmp r8d, 0x63
jg 0x495bc7
cmp r8d, 9
jg 0x495c64
add r8d, 0x30
lea rbx, [rdi + 1]
mov byte [rdi], r8b
jmp 0x493d27
mov r13d, dword [rsp + 0x30]
add r13d, r9d
cmp r9d, 0xfffffff8
jl 0x495170
neg r9d
lea rcx, [0x0052d0a0]
movsxd r10, r9d
mov r15d, dword [rcx + r10*4]
imul r14, r15
cmp r8, r14
jae 0x495170
mov r11, rax
sub r11, r8
cmp r12, r11
ja 0x495170
movsxd rdx, ebx
sub rax, r12
lea r10, [rdi + rdx - 1]
sub rax, r8
nop
lea rcx, [r12 + r8]
cmp r14, rcx
ja 0x4952d0
mov r12, r14
sub rcx, r14
sub r12, r8
cmp r12, rcx
ja 0x495167
jmp 0x495170
mov r9, rax
sub byte [r10], 1
mov r8, rcx
sub r9, r12
cmp r12, rax
ja 0x495170
mov rax, r9
jmp 0x4952b0
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x493dba
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x493dba
mov rcx, qword [r15 + 8]
cmp r8, rcx
je 0x493d52
mov r9, qword [r15]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r15 + 8]
jmp 0x493d52
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x493de1
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x493de1
mov r8d, 0x55e63b89
mov eax, r14d
mov ecx, r14d
mul r8d
mov ebp, edx
shr ebp, 0x19
imul r9d, ebp, 0x5f5e100
sub ecx, r9d
cmp ebp, 9
jbe 0x49569b
add ebp, ebp
lea r12, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
lea rbx, [rsp + 0x40]
mov rdi, rbp
add edi, 1
movzx ebp, byte [r12 + rbp]
lea r10, [rbx + 2]
movzx r11d, byte [r12 + rdi]
mov byte [rsp + 0x41], r11b
mov eax, ecx
mov r15d, 0xd1b71759
mov r8d, 0x431bde83
mul r15d
mov eax, ecx
mov byte [rsp + 0x40], bpl
mov ebp, ecx
mov ecx, 0x51eb851f
shr edx, 0xd
mov r13d, edx
imul r14d, edx, 0x2710
mul r8d
mov eax, r13d
sub ebp, r14d
shr edx, 0x12
lea r9d, [rdx + rdx]
mul ecx
mov eax, ebp
mov r8d, r9d
lea r9d, [r9 + 1]
shr edx, 5
imul edi, edx, 0x64
mul ecx
movzx ecx, byte [r12 + r8]
sub r13d, edi
movzx edi, byte [r12 + r9]
shr edx, 5
lea r15d, [r13 + r13]
imul r14d, edx, 0x64
lea r13d, [rdx + rdx]
mov byte [r10], cl
mov r11d, r15d
lea r15d, [r15 + 1]
movzx eax, byte [r12 + r11]
mov byte [r10 + 1], dil
sub ebp, r14d
mov r14d, r13d
lea r13d, [r13 + 1]
add ebp, ebp
movzx edx, byte [r12 + r15]
movzx r8d, byte [r12 + r14]
mov r9d, ebp
lea ebp, [rbp + 1]
movzx ecx, byte [r12 + r13]
movzx edi, byte [r12 + r9]
mov byte [r10 + 2], al
lea r15, [r10 + 8]
movzx r12d, byte [r12 + rbp]
mov byte [r10 + 3], dl
mov byte [r10 + 4], r8b
mov byte [r10 + 5], cl
mov byte [r10 + 6], dil
mov byte [r10 + 7], r12b
jmp 0x4941f4
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x49421e
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x49421e
cmp r14d, 0x63
ja 0x495c1d
lea rbx, [rsp + 0x40]
cmp r14d, 9
lea r14, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov rax, rbx
jbe 0x4941e5
mov r15, rbx
lea r14, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
jmp 0x4941d7
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x493d95
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x493d95
mov rcx, qword [rdi + 8]
cmp r8, rcx
je 0x4942aa
mov r9, qword [rdi]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rdi + 8]
jmp 0x4942aa
mov rcx, qword [r13 + 8]
cmp r8, rcx
je 0x4945df
mov r9, qword [r13]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r13 + 8]
jmp 0x4945df
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x4945c1
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x4945c1
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x493333
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x493333
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x493358
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x493358
lea r12, [r8 + 1]
add r9d, 0x30
lea r14, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
jmp 0x494fd6
cmp ebp, 0xf423f
ja 0x495c97
cmp ebp, 0x1869f
lea r11, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
jbe 0x494765
mov r9, r8
jmp 0x494756
mov rcx, qword [rbp + 8]
cmp r8, rcx
je 0x49394f
mov r9, qword [rbp]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [rbp + 8]
jmp 0x49394f
cmp qword [rsi + 8], 0
je 0x495cec
mov rdx, qword [rsi + 0x30]
jmp 0x49450b
cmp qword [rsi + 8], 0
je 0x495c45
mov r8, qword [rsi + 0x30]
jmp 0x4944b7
lea rbp, [rsp + 0x40]
mov byte [rsp + 0x40], 0x2d
btc r13, 0x3f
lea rdi, [rbp + 1]
jmp 0x494a73
cmp r14d, 0xf423f
ja 0x495c31
lea rbx, [rsp + 0x40]
cmp r14d, 0x1869f
lea r11, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov r12, rbx
jbe 0x4949ff
mov r14, rbx
lea r11, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
jmp 0x4949f0
lea rbx, [rsp + 0x40]
add ebp, 0x30
lea r12, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
lea r10, [rbx + 1]
jmp 0x4953ae
mov rcx, qword [r12 + 8]
cmp r8, rcx
je 0x493424
mov r9, qword [r12]
sub r8, rcx
mov edx, 1
call sub.msvcrt.dll_fwrite
mov r8, qword [r12 + 8]
jmp 0x493424
lea r9d, [r14 - 2]
movabs r10, 0x3fffffffffffff
jmp 0x494b0d
cmp eax, 0x3e7
mov r9d, 3
jbe 0x494c0d
cmp eax, 0x270f
mov r9d, 4
jbe 0x494c0d
cmp eax, 0x1869f
mov r9d, 5
jbe 0x494c0d
cmp eax, 0xf423f
mov r9d, 6
jbe 0x494c0d
cmp eax, 0x98967f
mov r9d, 7
jbe 0x494c0d
xor r9d, r9d
cmp eax, 0x5f5e0ff
seta r9b
add r9d, 8
jmp 0x494c0d
movsxd r14, r12d
mov r8d, r13d
lea r15, [rdi + r14]
neg r8d
lea rcx, [rdi + r14 + 1]
movsxd r8, r8d
mov rdx, r15
call sub.msvcrt.dll_memmove
add r13d, dword [rsp + 0x28]
movsxd r10, ebx
mov byte [r15], 0x2e
lea rbx, [rdi + r10 + 1]
jns 0x493d27
mov edx, dword [rsp + 0x28]
lea ecx, [r12 + 1]
add edx, r12d
cmp ecx, edx
jge 0x495c8d
movsxd rax, edx
cmp byte [rdi + rax], 0x30
jne 0x495ba7
sub rax, 1
sub edx, r12d
sub edx, 2
mov r11, rax
sub r11, rdx
and edx, 7
je 0x49586f
cmp byte [rdi + rax], 0x30
lea r9, [rax - 1]
jne 0x495ba7
cmp rdx, 1
mov rax, r9
je 0x49586f
cmp rdx, 2
je 0x49585e
cmp rdx, 3
je 0x49584d
cmp rdx, 4
je 0x49583c
cmp rdx, 5
je 0x49582b
cmp rdx, 6
je 0x49581a
sub r9, 1
cmp byte [rdi + r9 + 1], 0x30
jne 0x495ba7
mov rax, r9
cmp byte [rdi + rax], 0x30
lea rbx, [rax - 1]
jne 0x495ba7
mov rax, rbx
cmp byte [rdi + rax], 0x30
lea r12, [rax - 1]
jne 0x495ba7
mov rax, r12
cmp byte [rdi + rax], 0x30
lea r13, [rax - 1]
jne 0x495ba7
mov rax, r13
cmp byte [rdi + rax], 0x30
lea r15, [rax - 1]
jne 0x495ba7
mov rax, r15
cmp byte [rdi + rax], 0x30
lea r8, [rax - 1]
jne 0x495ba7
mov rax, r8
cmp rax, r11
je 0x495c8d
lea r10, [rax - 1]
cmp byte [rdi + r10 + 1], 0x30
jne 0x495ba7
lea rdx, [r10 - 1]
mov rax, r10
cmp byte [rdi + rdx + 1], 0x30
jne 0x495ba7
cmp byte [rdi + rdx], 0x30
mov rax, rdx
jne 0x495ba7
cmp byte [rdi + r10 - 2], 0x30
lea rax, [r10 - 2]
lea rcx, [r10 - 3]
jne 0x495ba7
cmp byte [rdi + r10 - 3], 0x30
mov rax, rcx
lea r9, [r10 - 4]
jne 0x495ba7
cmp byte [rdi + r10 - 4], 0x30
mov rax, r9
lea rbx, [r10 - 5]
jne 0x495ba7
cmp byte [rdi + r10 - 5], 0x30
mov rax, rbx
lea r12, [r10 - 6]
jne 0x495ba7
cmp byte [rdi + r10 - 6], 0x30
mov rax, r12
lea r13, [r10 - 7]
jne 0x495ba7
mov rax, r13
jmp 0x49586f
mov byte [rdi], 0x30
mov byte [rdi + 1], 0x2e
mov byte [rdi + 2], 0x30
lea rbx, [rdi + 3]
jmp 0x493d27
mov ecx, 2
movsxd r8, ebx
mov rdx, rdi
sub ecx, r12d
movsxd rcx, ecx
mov r12, rcx
add rcx, rdi
call sub.msvcrt.dll_memmove
cmp r12d, 2
mov byte [rdi], 0x30
mov byte [rdi + 1], 0x2e
je 0x495a41
lea r14d, [r12 - 3]
lea r15, [rdi + 2]
add r14, 1
test r14d, r14d
mov r8d, r14d
je 0x495a41
lea edx, [r14 - 1]
mov eax, 1
mov byte [r15], 0x30
and edx, 7
cmp eax, r14d
jae 0x495a41
test edx, edx
je 0x4959f4
cmp edx, 1
je 0x4959e5
cmp edx, 2
je 0x4959da
cmp edx, 3
je 0x4959d0
cmp edx, 4
je 0x4959c5
cmp edx, 5
je 0x4959ba
cmp edx, 6
je 0x4959af
mov byte [r15 + 1], 0x30
mov eax, 2
mov r11d, eax
add eax, 1
mov byte [r15 + r11], 0x30
mov r9d, eax
add eax, 1
mov byte [r15 + r9], 0x30
mov r10d, eax
add eax, 1
mov byte [r15 + r10], 0x30
mov ecx, eax
add eax, 1
mov byte [r15 + rcx], 0x30
mov r14d, eax
add eax, 1
mov byte [r15 + r14], 0x30
mov edx, eax
add eax, 1
cmp eax, r8d
mov byte [r15 + rdx], 0x30
jae 0x495a41
lea r9d, [rax + 1]
mov r11d, eax
lea r10d, [rax + 2]
mov byte [r15 + r11], 0x30
lea ecx, [rax + 3]
lea r14d, [rax + 4]
mov byte [r15 + r9], 0x30
lea edx, [rax + 5]
lea r11d, [rax + 6]
lea r9d, [rax + 7]
add eax, 8
mov byte [r15 + r10], 0x30
cmp eax, r8d
mov byte [r15 + rcx], 0x30
mov byte [r15 + r14], 0x30
mov byte [r15 + rdx], 0x30
mov byte [r15 + r11], 0x30
mov byte [r15 + r9], 0x30
jb 0x4959f4
neg r13d
cmp dword [rsp + 0x28], r13d
jge 0x495bb1
mov eax, dword [rsp + 0x28]
add eax, 1
cmp eax, 2
jle 0x49591b
cdqe
cmp byte [rdi + rax], 0x30
jne 0x495ba7
mov r15d, dword [rsp + 0x28]
sub rax, 1
mov r8, rax
sub r15d, 2
sub r8, r15
and r15d, 7
je 0x495b93
cmp byte [rdi + rax], 0x30
lea rbx, [rax - 1]
jne 0x495ba7
cmp r15, 1
mov rax, rbx
je 0x495b93
cmp r15, 2
je 0x495b17
cmp r15, 3
je 0x495b06
cmp r15, 4
je 0x495af5
cmp r15, 5
je 0x495ae4
cmp r15, 6
je 0x495ad3
sub rbx, 1
cmp byte [rdi + rbx + 1], 0x30
jne 0x495ba7
mov rax, rbx
cmp byte [rdi + rax], 0x30
lea r12, [rax - 1]
jne 0x495ba7
mov rax, r12
cmp byte [rdi + rax], 0x30
lea r13, [rax - 1]
jne 0x495ba7
mov rax, r13
cmp byte [rdi + rax], 0x30
lea r10, [rax - 1]
jne 0x495ba7
mov rax, r10
cmp byte [rdi + rax], 0x30
lea rcx, [rax - 1]
jne 0x495ba7
mov rax, rcx
cmp byte [rdi + rax], 0x30
lea r14, [rax - 1]
jne 0x495ba7
mov rax, r14
jmp 0x495b93
lea r11, [rdx - 1]
mov rax, rdx
cmp byte [rdi + r11 + 1], 0x30
jne 0x495ba7
cmp byte [rdi + r11], 0x30
mov rax, r11
jne 0x495ba7
cmp byte [rdi + rdx - 2], 0x30
lea rax, [rdx - 2]
lea r9, [rdx - 3]
jne 0x495ba7
cmp byte [rdi + rdx - 3], 0x30
mov rax, r9
lea r15, [rdx - 4]
jne 0x495ba7
cmp byte [rdi + rdx - 4], 0x30
mov rax, r15
lea rbx, [rdx - 5]
jne 0x495ba7
cmp byte [rdi + rdx - 5], 0x30
mov rax, rbx
lea r12, [rdx - 6]
jne 0x495ba7
cmp byte [rdi + rdx - 6], 0x30
mov rax, r12
lea r13, [rdx - 7]
jne 0x495ba7
mov rax, r13
cmp r8, rax
je 0x49591b
lea rdx, [rax - 1]
cmp byte [rdi + rdx + 1], 0x30
je 0x495b30
lea rbx, [rdi + rax + 1]
jmp 0x493d27
add ebx, r12d
movsxd rbx, ebx
add rbx, rdi
jmp 0x493d27
mov r8d, r9d
jmp 0x494aee
mov eax, r8d
mov r13d, 0x51eb851f
mov r11d, r8d
imul r13d
sar r11d, 0x1f
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
lea rbx, [rdi + 3]
mov r15d, edx
sar r15d, 5
sub r15d, r11d
imul r10d, r15d, 0x64
lea r9d, [r15 + 0x30]
mov byte [rdi], r9b
sub r8d, r10d
mov eax, r8d
add eax, eax
cdqe
add rax, rcx
movzx r8d, byte [rax]
mov byte [rdi + 1], r8b
movzx r14d, byte [rax + 1]
mov byte [rdi + 2], r14b
jmp 0x493d27
lea rbx, [rsp + 0x40]
lea r14, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov r8, rbx
jmp 0x4941c7
lea rbx, [rsp + 0x40]
lea r11, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
mov r13, rbx
jmp 0x4949df
mov ecx, 1
call fcn.00511200
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov r9, qword [rsi + 0x20]
jmp 0x495642
lea eax, [r8 + r8]
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
lea rbx, [rdi + 2]
cdqe
add rax, rdx
movzx r14d, byte [rax]
mov byte [rdi], r14b
movzx r12d, byte [rax + 1]
mov byte [rdi + 1], r12b
jmp 0x493d27
lea rbx, [rdi + r14 + 2]
jmp 0x493d27
mov rbp, r8
lea r11, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
jmp 0x494745
test r15d, r15d
mov byte [rdi + 1], 0x65
lea r13, [rdi + 2]
mov eax, r15d
jns 0x495cc3
mov eax, ebx
lea r13, [rdi + 3]
mov byte [rdi + 2], 0x2d
sub eax, r12d
cmp eax, 0x63
jg 0x495d32
cmp eax, 9
jg 0x495d0b
add eax, 0x30
lea rbx, [r13 + 1]
mov byte [r13], al
jmp 0x493d27
mov rbp, r8
lea r12, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
jmp 0x493fa0
mov ecx, 1
call fcn.00511200
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov rbp, qword [rsi + 0x20]
jmp 0x49562e
add eax, eax
lea rdi, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
cdqe
add rax, rdi
movzx ebx, byte [rax]
mov byte [r13], bl
movzx r12d, byte [rax + 1]
lea rbx, [r13 + 2]
mov byte [r13 + 1], r12b
jmp 0x493d27
mov r15d, 0x64
cdq
lea r11, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
idiv r15d
lea rbx, [r13 + 3]
add eax, 0x30
mov byte [r13], al
lea eax, [rdx + rdx]
cdqe
add rax, r11
movzx r9d, byte [rax]
mov byte [r13 + 1], r9b
movzx r10d, byte [rax + 1]
mov byte [r13 + 2], r10b
jmp 0x493d27