Function at 0x140057f63
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
mov rax, qword [r9 + 0x20]
add rdx, rcx
mov qword [rsp + 0x38], rax
mov r12d, r8d
mov r15, r9
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0xb8], rcx
mov ecx, 0x280
mov qword [rsp + 0x30], rdx
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140058050
xor ecx, ecx
xor r8d, r8d
and byte [r15 + 0x30], 0x97
cmp dword [0x1401669a4], 0
mov dword [r15 + 0x10], r12d
mov dword [r15 + 0xc], ecx
mov qword [r15 + 0x28], r8
jne 0x140058019
lea rsi, [0x140166a00]
mov ecx, 0x40
xor eax, eax
xor ebx, ebx
mov rdi, rsi
rep stosd dword [rdi], eax
mov rdi, qword [sym.imp.msvcrt.dll_isalnum]
mov ecx, ebx
call rdi
test eax, eax
je 0x140057ffc
mov byte [rsi + rbx], 1
inc rbx
cmp rbx, 0x100
jne 0x140057ff0
mov byte [0x140166a5f], 1
mov dword [0x1401669a4], 1
cmp dword [r15 + 8], 0
mov rcx, qword [r15]
jne 0x140058063
test rcx, rcx
je 0x140058034
mov edx, 0x20
call sub.msvcrt.dll_realloc
jmp 0x14005803e
mov ecx, 0x20
call sub.msvcrt.dll_malloc
mov qword [r15], rax
test rax, rax
jne 0x14005805b
mov rcx, qword [rsp + 0x40]
call fcn.140074210
mov r13d, 0xc
jmp 0x14005a238
mov dword [r15 + 8], 0x20
mov rdi, qword [r15]
xor eax, eax
xor edx, edx
mov dword [rsp + 0x74], 0x20
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x6c], edx
xor esi, esi
xor ebx, ebx
xor ebp, ebp
mov r13, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x30]
cmp r13, rax
je 0x14005a185
lea rdx, [r13 + 1]
cmp qword [rsp + 0x38], 0
movzx r14d, byte [r13]
mov qword [rsp + 0xb8], rdx
je 0x1400580bd
mov rax, qword [rsp + 0x38]
mov r14b, byte [rax + r14]
cmp r14b, 0x2e
ja 0x1400580f7
cmp r14b, 0x23
ja 0x1400580d8
cmp r14b, 0xa
je 0x140059217
jmp case.0x1400580f5.1
lea eax, [r14 - 0x24]
cmp al, 0xa
ja case.0x1400580f5.1
lea rcx, [0x14014979c]
movzx eax, al
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp r14b, 0x5e
je 0x14005813b
ja 0x140058122
cmp r14b, 0x5b
je 0x1400586bf
cmp r14b, 0x5c
je 0x140059267
cmp r14b, 0x3f
je case.0x1400580f5.7
jmp case.0x1400580f5.1
cmp r14b, 0x7b
je 0x14005923a
cmp r14b, 0x7c
je 0x140059227
jmp case.0x1400580f5.1
mov rax, qword [rsp + 0x190]
inc rax
cmp rdx, rax
je 0x140058154
test r12d, 8
je 0x140058159
mov r13, rdi
jmp 0x1400581d4
lea rdx, [r13 - 1]
xor eax, eax
cmp qword [rsp + 0x190], rdx
jae 0x140058173
xor eax, eax
cmp byte [r13 - 2], 0x5c
sete al
mov dl, byte [r13 - 1]
cmp dl, 0x28
jne 0x140058187
mov edx, r12d
and edx, 0x2000
jmp 0x140058199
cmp dl, 0x7c
jne case.0x1400580f5.1
mov edx, r12d
and edx, 0x8000
or edx, eax
jne 0x140058154
jmp case.0x1400580f5.1
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rdi
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rdi
jne 0x140058224
mov rdi, qword [r15]
mov rax, r13
mov edx, dword [r15 + 8]
sub rax, rdi
inc eax
cmp edx, eax
jb 0x1400581a2
jmp 0x140058249
mov rax, qword [rsp + 0x30]
cmp rdx, rax
jne 0x140058257
mov r13, rdi
mov rdi, qword [r15]
mov rax, r13
mov edx, dword [r15 + 8]
sub rax, rdi
inc eax
cmp edx, eax
jae 0x14005831f
cmp edx, 0x10000
jne 0x1400582c5
mov r13d, 0xf
jmp 0x14005a238
sub rax, rdi
add qword [rsp + 0x48], rax
add r13, rax
test rsi, rsi
je 0x140058237
add rsi, rax
test rbx, rbx
je 0x14005823f
add rbx, rax
test rbp, rbp
je 0x1400581d4
add rbp, rax
jmp 0x1400581d4
mov byte [r13], 9
lea rdi, [r13 + 1]
jmp 0x140058085
test r12d, 8
jne 0x1400581f3
mov al, byte [r13 + 1]
mov rcx, qword [rsp + 0x30]
cmp al, 0x5c
sete dl
add r13, 2
cmp r13, rcx
jb 0x14005827a
xor r13d, r13d
bt r12d, 0xd
jae 0x140058285
cmp al, 0x29
jmp 0x140058293
test r13, r13
je 0x140058299
test dl, dl
je 0x140058299
cmp byte [r13], 0x29
je 0x1400581f3
bt r12d, 0xf
jae 0x1400582a4
cmp al, 0x7c
jmp 0x1400582ba
test r13, r13
je case.0x1400580f5.1
test dl, dl
je case.0x1400580f5.1
cmp byte [r13], 0x7c
jne case.0x1400580f5.1
jmp 0x1400581f3
mov eax, 0x10000
add edx, edx
mov rcx, rdi
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rdi
je 0x1400581f6
sub rax, rdi
add qword [rsp + 0x48], rax
add r13, rax
test rsi, rsi
je 0x140058306
add rsi, rax
test rbx, rbx
je 0x14005830e
add rbx, rax
test rbp, rbp
je 0x1400581f6
add rbp, rax
jmp 0x1400581f6
mov byte [r13], 0xa
lea rdi, [r13 + 1]
jmp 0x140058085
test r12d, 0x402
jne case.0x1400580f5.1
test rbx, rbx
jne 0x140058359
test r12d, 0x20
jne 0x140059858
test r12d, 0x10
je case.0x1400580f5.1
mov byte [rsp + 0x50], 0
mov ecx, r12d
xor edx, edx
xor r13d, r13d
mov rax, qword [rsp + 0xb8]
and ecx, 2
cmp r14b, 0x2b
mov r10, qword [rsp + 0x30]
setne r8b
or byte [rsp + 0x50], r8b
cmp r14b, 0x3f
setne r8b
or r13d, r8d
cmp rax, r10
jne 0x14005839c
mov rax, r10
test dl, dl
jne 0x140058400
jmp 0x140058408
cmp qword [rsp + 0x38], 0
movzx r14d, byte [rax]
lea rdx, [rax + 1]
je 0x1400583b5
mov r10, qword [rsp + 0x38]
mov r14b, byte [r10 + r14]
cmp r14b, 0x2a
jne 0x1400583c2
mov rax, rdx
mov dl, 1
jmp 0x140058371
test ecx, ecx
je 0x1400583f4
cmp r14b, 0x5c
jne 0x140058400
mov r11, qword [rsp + 0x30]
cmp rdx, r11
je 0x1400588dc
cmp qword [rsp + 0x38], 0
movzx r14d, byte [rax + 1]
lea rdx, [rax + 2]
je 0x1400583f4
mov r11, qword [rsp + 0x38]
mov r14b, byte [r11 + r14]
cmp r14b, 0x2b
je 0x1400583bb
cmp r14b, 0x3f
je 0x1400583bb
mov qword [rsp + 0xb8], rax
test rbx, rbx
je 0x140058085
test r13b, r13b
je 0x140058527
mov r14, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r14
add eax, 3
cmp edx, eax
jae 0x140058489
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r14
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r14
je 0x14005841a
sub rax, r14
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140058477
add rsi, rax
test rbx, rbx
je 0x14005847f
add rbx, rax
test rbp, rbp
je 0x14005841a
add rbp, rax
jmp 0x14005841a
mov rdx, qword [rsp + 0xb8]
cmp qword [rsp + 0x38], 0
movzx eax, byte [rdx - 2]
je 0x1400584ac
mov rcx, qword [rsp + 0x38]
movsx eax, byte [rcx + rax]
movsx ecx, byte [rcx + 0x2e]
jmp 0x1400584b4
movsx eax, al
mov ecx, 0x2e
cmp eax, ecx
jne 0x14005850a
mov rax, qword [rsp + 0x30]
cmp rdx, rax
jae 0x14005850a
test byte [rsp + 0x50], 1
je 0x14005850a
cmp qword [rsp + 0x38], 0
movzx eax, byte [rdx]
je 0x1400584e3
mov rcx, qword [rsp + 0x38]
movsx eax, byte [rcx + rax]
movsx edx, byte [rcx + 0xa]
jmp 0x1400584eb
movsx eax, al
mov edx, 0xa
cmp eax, edx
jne 0x14005850a
test r12d, 0x40
jne 0x14005850a
mov rax, rbx
mov cl, 0xd
sub rax, rdi
sub eax, 3
mov edx, eax
movzx eax, ah
jmp 0x14005851b
mov eax, ebx
mov cl, 0x12
xor r13d, r13d
sub eax, edi
sub eax, 6
mov edx, eax
movzx eax, ah
mov byte [rdi], cl
add rdi, 3
mov byte [rdi - 2], dl
mov byte [rdi - 1], al
mov r14, rdi
mov rdi, qword [r15]
mov rax, r14
mov edx, dword [r15 + 8]
sub rax, rdi
add eax, 3
cmp edx, eax
jae 0x140058599
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rdi
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rdi
je 0x14005852a
sub rax, rdi
add qword [rsp + 0x48], rax
add r14, rax
test rsi, rsi
je 0x140058587
add rsi, rax
test rbx, rbx
je 0x14005858f
add rbx, rax
test rbp, rbp
je 0x14005852a
add rbp, rax
jmp 0x14005852a
movsx ecx, r13b
mov r8d, r14d
mov r9, r14
mov rdx, rbx
add ecx, 0xf
sub r8d, ebx
lea rdi, [r14 + 3]
call fcn.140055cc0
cmp byte [rsp + 0x50], 0
jne 0x140058083
mov rbp, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, rbp
add eax, 3
cmp edx, eax
jae 0x140058627
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rbp
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rbp
je 0x1400585c0
sub rax, rbp
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x14005861d
add rsi, rax
test rbx, rbx
je 0x1400585c0
add rbx, rax
jmp 0x1400585c0
mov r9, rdi
mov r8d, 3
mov rdx, rbx
add rdi, 3
mov ecx, 0x13
call fcn.140055cc0
jmp 0x140058083
mov rbx, rdi
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jae 0x1400586b7
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x140058649
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x1400586a5
add rsi, rax
test rbx, rbx
je 0x1400586ad
add rbx, rax
test rbp, rbp
je 0x140058649
add rbp, rax
jmp 0x140058649
mov byte [rdi], 3
jmp 0x140059eff
mov rax, qword [rsp + 0x30]
cmp rdx, rax
je 0x140058d0f
mov rbx, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, rbx
add eax, 0x22
cmp edx, eax
jae 0x140058734
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rbx
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rbx
je 0x1400586cd
sub rax, rbx
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x14005872a
add rsi, rax
test rbp, rbp
je 0x1400586cd
add rbp, rax
jmp 0x1400586cd
mov rbx, rdi
mov r14, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r14
inc eax
cmp edx, eax
jae 0x1400587a5
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r14
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r14
je 0x140058737
sub rax, r14
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140058793
add rsi, rax
test rbx, rbx
je 0x14005879b
add rbx, rax
test rbp, rbp
je 0x140058737
add rbp, rax
jmp 0x140058737
cmp byte [r13 + 1], 0x5e
lea r14, [rdi + 1]
sete al
add eax, 4
mov byte [rdi], al
cmp byte [r13 + 1], 0x5e
jne 0x1400587c9
add r13, 2
mov qword [rsp + 0xb8], r13
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x98], rax
mov rdi, qword [r15]
mov rax, r14
mov edx, dword [r15 + 8]
sub rax, rdi
inc eax
cmp edx, eax
jae 0x140058847
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rdi
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rdi
je 0x1400587d9
sub rax, rdi
add qword [rsp + 0x48], rax
add r14, rax
test rsi, rsi
je 0x140058835
add rsi, rax
test rbx, rbx
je 0x14005883d
add rbx, rax
test rbp, rbp
je 0x1400587d9
add rbp, rax
jmp 0x1400587d9
lea rax, [r14 + 1]
mov ecx, 8
lea rdi, [r14 + 1]
mov byte [r14], 0x20
mov qword [rsp + 0x58], rax
xor eax, eax
rep stosd dword [rdi], eax
cmp byte [r14 - 1], 5
jne 0x140058874
bt r12d, 8
jae 0x140058874
mov byte [r14 + 2], 4
mov eax, r12d
mov dword [rsp + 0x68], 0xffffffff
xor edi, edi
and eax, 1
mov byte [rsp + 0xa7], al
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x30]
cmp rax, rcx
je 0x140058d0f
lea rcx, [rax + 1]
cmp qword [rsp + 0x38], 0
movzx edx, byte [rax]
mov qword [rsp + 0xb8], rcx
je 0x1400588c1
mov r11, qword [rsp + 0x38]
mov dl, byte [r11 + rdx]
cmp dl, 0x5c
sete r9b
and r9b, byte [rsp + 0xa7]
je 0x14005893a
mov rdx, qword [rsp + 0x30]
cmp rcx, rdx
jne 0x1400588f1
mov rcx, qword [rsp + 0x40]
mov r13d, 5
call fcn.140074210
jmp 0x14005a238
lea rdx, [rax + 2]
cmp qword [rsp + 0x38], 0
movzx eax, byte [rax + 1]
mov qword [rsp + 0xb8], rdx
je 0x140058912
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rcx + rax]
mov ecx, eax
mov edx, eax
mov r8d, 1
mov dword [rsp + 0x68], eax
and ecx, 7
shr dl, 3
shl r8d, cl
mov rcx, qword [rsp + 0x58]
movzx edx, dl
or byte [rcx + rdx], r8b
jmp 0x14005888b
cmp dl, 0x5d
jne 0x140058954
mov r10, qword [rsp + 0x98]
lea r8, [r10 + 1]
cmp rcx, r8
jne 0x1400591c5
mov r8b, byte [rax + 1]
cmp dl, 0x2d
jne 0x1400589e5
test dil, dil
je 0x140058981
cmp r8b, 0x5d
je 0x140058986
mov rcx, qword [rsp + 0x40]
mov r13d, 0xb
call fcn.140074210
jmp 0x14005a238
cmp dl, 0x2d
jne 0x1400589e5
lea r11, [rax - 1]
cmp r11, qword [rsp + 0x190]
jb 0x14005899a
cmp byte [rax - 1], 0x5b
je 0x1400589e5
lea r11, [rax - 2]
cmp r11, qword [rsp + 0x190]
jb 0x1400589b4
cmp byte [rax - 2], 0x5b
jne 0x1400589b4
cmp byte [rax - 1], 0x5e
je 0x1400589e5
cmp r8b, 0x5d
je 0x140058a58
mov rax, qword [rsp + 0x58]
mov r9, qword [rsp + 0x38]
mov dword [rsp + 0x20], r12d
lea rdx, [rsp + 0xb8]
mov r8, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x68]
mov qword [rsp + 0x28], rax
jmp 0x140058a30
cmp r8b, 0x2d
jne 0x140058a58
cmp byte [rax + 2], 0x5d
je 0x140058a58
mov r11, qword [rsp + 0x30]
cmp rcx, r11
je 0x14005a232
add rax, 2
movzx ecx, dl
mov dword [rsp + 0x20], r12d
mov r8, r11
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0xb8]
mov r9, qword [rsp + 0x38]
mov qword [rsp + 0x28], rdx
mov rdx, rax
call fcn.140055ced
mov r13d, eax
test eax, eax
jne 0x140058a49
mov dword [rsp + 0x68], 0xffffffff
jmp 0x14005888b
mov rcx, qword [rsp + 0x40]
call fcn.140074210
jmp 0x14005a238
test r12d, 4
je 0x14005918c
cmp dl, 0x5b
jne 0x14005918c
cmp r8b, 0x3a
jne 0x140058f2e
mov rdi, qword [rsp + 0x30]
cmp rcx, rdi
je 0x14005a232
lea r13, [rax + 2]
mov qword [rsp + 0xb8], r13
cmp r13, rdi
je 0x140058d0f
xor eax, eax
cmp qword [rsp + 0x38], 0
lea r8, [r13 + 1]
movzx edx, byte [r8 - 1]
je 0x140058ab6
mov rdi, qword [rsp + 0x38]
mov dl, byte [rdi + rdx]
cmp dl, 0x3a
jne 0x140058ac1
cmp byte [r8], 0x5d
je 0x140058aea
mov rdi, qword [rsp + 0x30]
cmp r8, rdi
je 0x140058aea
cmp al, 5
ja 0x140058ae0
movzx ecx, al
inc eax
mov byte [rsp + rcx + 0xc0], dl
mov r13, r8
jmp 0x140058a9d
mov byte [rsp + 0xc0], 0
jmp 0x140058adb
movzx ecx, al
mov qword [rsp + 0xb8], r8
mov byte [rsp + rcx + 0xc0], 0
cmp dl, 0x3a
jne 0x140058ef4
cmp byte [r13 + 1], 0x5d
jne 0x140058ef4
lea rax, [rsp + 0xc0]
lea rdx, str.alnum
mov qword [rsp + 0xa8], r8
mov rcx, rax
mov qword [rsp + 0x50], rax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.alpha
mov dword [rsp + 0x78], eax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.blank
mov dword [rsp + 0x7c], eax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.cntrl
mov dword [rsp + 0x80], eax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.digit
mov dword [rsp + 0x84], eax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.graph
mov dword [rsp + 0x88], eax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.lower
mov dword [rsp + 0x8c], eax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.print
test eax, eax
mov dword [rsp + 0x70], eax
sete byte [rsp + 0xa5]
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.punct
mov dword [rsp + 0x90], eax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.space
mov dword [rsp + 0x94], eax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.upper
mov dword [rsp + 0xa0], eax
call sub.msvcrt.dll_strcmp
mov rcx, qword [rsp + 0x50]
lea rdx, str.xdigit
test eax, eax
mov edi, eax
sete byte [rsp + 0xa6]
call sub.msvcrt.dll_strcmp
cmp dword [rsp + 0x7c], 0
mov dword [rsp + 0x50], eax
setne al
test edi, edi
setne dl
and eax, edx
cmp dword [rsp + 0x70], 0
setne dl
and eax, edx
cmp dword [rsp + 0x88], 0
setne dl
and eax, edx
cmp dword [rsp + 0x78], 0
setne dl
and eax, edx
cmp dword [rsp + 0x50], 0
setne dl
and eax, edx
cmp dword [rsp + 0xa0], 0
setne dl
and eax, edx
cmp dword [rsp + 0x90], 0
setne dl
and eax, edx
cmp dword [rsp + 0x94], 0
setne dl
and eax, edx
cmp dword [rsp + 0x8c], 0
mov r8, qword [rsp + 0xa8]
setne dl
and eax, edx
cmp dword [rsp + 0x84], 0
setne dl
test al, dl
je 0x140058ceb
cmp dword [rsp + 0x80], 0
je 0x140058ceb
mov rcx, qword [rsp + 0x40]
mov r13d, 4
call fcn.140074210
jmp 0x14005a238
mov rax, qword [rsp + 0x30]
cmp r8, rax
je 0x14005a232
mov rcx, qword [rsp + 0x30]
lea rax, [r13 + 2]
mov qword [rsp + 0xb8], rax
cmp rax, rcx
jne 0x140058d24
mov rcx, qword [rsp + 0x40]
mov r13d, 7
call fcn.140074210
jmp 0x14005a238
xor r13d, r13d
cmp dword [rsp + 0x78], 0
jne 0x140058d3b
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_isalnum]
test eax, eax
jne 0x140058d7c
cmp dword [rsp + 0x7c], 0
jne 0x140058d4f
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_isalpha]
test eax, eax
jne 0x140058d7c
cmp dword [rsp + 0x80], 0
jne 0x140058d65
cmp r13d, 0x20
je 0x140058d7c
cmp r13d, 9
je 0x140058d7c
cmp dword [rsp + 0x84], 0
jne 0x140058d9a
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_iscntrl]
test eax, eax
je 0x140058d9a
mov ecx, r13d
mov eax, r13d
mov edx, 1
and ecx, 7
shr al, 3
shl edx, cl
mov rcx, qword [rsp + 0x58]
movzx eax, al
or byte [rcx + rax], dl
cmp dword [rsp + 0x88], 0
jne 0x140058dad
lea eax, [r13 - 0x30]
cmp eax, 9
jbe 0x140058dfc
cmp dword [rsp + 0x8c], 0
jne 0x140058dd1
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_isprint]
test eax, eax
je 0x140058dd1
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_isspace]
test eax, eax
je 0x140058dfc
cmp dword [rsp + 0x70], 0
jne 0x140058de5
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_islower]
test eax, eax
jne 0x140058dfc
cmp dword [rsp + 0x90], 0
jne 0x140058e1a
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_isprint]
test eax, eax
je 0x140058e1a
mov ecx, r13d
mov eax, r13d
mov edx, 1
and ecx, 7
shr al, 3
shl edx, cl
mov rcx, qword [rsp + 0x58]
movzx eax, al
or byte [rcx + rax], dl
cmp dword [rsp + 0x94], 0
jne 0x140058e31
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_ispunct]
test eax, eax
jne 0x140058e6d
cmp dword [rsp + 0xa0], 0
jne 0x140058e48
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_isspace]
test eax, eax
jne 0x140058e6d
test edi, edi
jne 0x140058e59
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_isupper]
test eax, eax
jne 0x140058e6d
cmp dword [rsp + 0x50], 0
jne 0x140058e8b
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_isxdigit]
test eax, eax
je 0x140058e8b
mov ecx, r13d
mov eax, r13d
mov edx, 1
and ecx, 7
shr al, 3
shl edx, cl
mov rcx, qword [rsp + 0x58]
movzx eax, al
or byte [rcx + rax], dl
cmp qword [rsp + 0x38], 0
je 0x140058edf
cmp byte [rsp + 0xa5], 0
jne 0x140058ea7
cmp byte [rsp + 0xa6], 0
je 0x140058edf
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_isupper]
test eax, eax
jne 0x140058ec1
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_islower]
test eax, eax
je 0x140058edf
mov ecx, r13d
mov eax, r13d
mov edx, 1
and ecx, 7
shr al, 3
shl edx, cl
mov rcx, qword [rsp + 0x58]
movzx eax, al
or byte [rcx + rax], dl
inc r13d
cmp r13d, 0x100
jne 0x140058d27
jmp 0x140059012
inc eax
mov edx, eax
dec edx
cmp dl, 0xff
je 0x140058f04
mov r9b, 1
jmp 0x140058ef8
test r9b, r9b
je 0x140058f17
movzx eax, al
sub r8, rax
mov qword [rsp + 0xb8], r8
or byte [r14 + 0xc], 8
or byte [r14 + 8], 4
mov dword [rsp + 0x68], 0x3a
jmp 0x1400591b2
cmp r8b, 0x3d
jne 0x140059053
mov rdi, qword [rsp + 0x30]
cmp rcx, rdi
je 0x14005a232
add rax, 2
mov qword [rsp + 0xb8], rax
cmp rax, rdi
je 0x140058d0f
xor edx, edx
cmp qword [rsp + 0x38], 0
lea r8, [rax + 1]
movzx ecx, byte [r8 - 1]
je 0x140058f76
mov rdi, qword [rsp + 0x38]
mov cl, byte [rdi + rcx]
cmp cl, 0x3d
jne 0x140058f81
cmp byte [r8], 0x5d
je 0x140058fab
mov rdi, qword [rsp + 0x30]
cmp r8, rdi
je 0x140058fab
cmp dl, 4
ja 0x140058fa1
movzx eax, dl
inc edx
mov byte [rsp + rax + 0xc0], cl
mov rax, r8
jmp 0x140058f5d
mov byte [rsp + 0xc0], 0
jmp 0x140058f9c
movzx r11d, dl
mov qword [rsp + 0xb8], r8
mov byte [rsp + r11 + 0xc0], 0
cmp cl, 0x3d
jne 0x14005901a
cmp byte [rax + 1], 0x5d
jne 0x14005901a
mov cl, byte [rsp + 0xc0]
test cl, cl
je 0x14005901a
dec dl
jne 0x140059103
mov rdi, qword [rsp + 0x30]
cmp r8, rdi
je 0x14005a232
add rax, 2
mov rdi, qword [rsp + 0x58]
mov edx, 1
mov qword [rsp + 0xb8], rax
mov eax, ecx
and ecx, 7
shr al, 3
shl edx, cl
movzx eax, al
or byte [rdi + rax], dl
mov dil, 1
jmp 0x14005888b
inc edx
mov eax, edx
dec eax
cmp al, 0xff
je 0x140059029
mov r9b, 1
jmp 0x14005901e
test r9b, r9b
je 0x14005903c
movzx edx, dl
sub r8, rdx
mov qword [rsp + 0xb8], r8
or byte [r14 + 0xc], 8
or byte [r14 + 8], 0x20
mov dword [rsp + 0x68], 0x3d
jmp 0x1400591b2
cmp r8b, 0x2e
jne 0x14005918c
mov rdi, qword [rsp + 0x30]
cmp rcx, rdi
je 0x14005a232
add rax, 2
mov qword [rsp + 0xb8], rax
cmp rax, rdi
je 0x140058d0f
xor edx, edx
cmp qword [rsp + 0x38], 0
lea rcx, [rax + 1]
movzx r8d, byte [rcx - 1]
je 0x14005909c
mov rdi, qword [rsp + 0x38]
mov r8b, byte [rdi + r8]
cmp r8b, 0x2e
jne 0x1400590a7
cmp byte [rcx], 0x5d
je 0x1400590d1
mov rdi, qword [rsp + 0x30]
cmp rcx, rdi
je 0x1400590d1
test dl, dl
js 0x1400590c7
movzx eax, dl
inc edx
mov byte [rsp + rax + 0xc0], r8b
mov rax, rcx
jmp 0x140059082
mov byte [rsp + 0xc0], 0
jmp 0x1400590c2
movzx r11d, dl
mov qword [rsp + 0xb8], rcx
mov byte [rsp + r11 + 0xc0], 0
cmp r8b, 0x2e
jne 0x140059156
cmp byte [rax + 1], 0x5d
jne 0x140059156
mov r8b, byte [rsp + 0xc0]
test r8b, r8b
je 0x140059156
dec dl
je 0x140059118
mov rcx, qword [rsp + 0x40]
mov r13d, 3
call fcn.140074210
jmp 0x14005a238
mov rdi, qword [rsp + 0x30]
cmp rcx, rdi
je 0x14005a232
add rax, 2
mov rdi, qword [rsp + 0x58]
mov ecx, r8d
mov edx, 1
mov qword [rsp + 0xb8], rax
mov eax, r8d
and ecx, 7
shr al, 3
shl edx, cl
movzx eax, al
or byte [rdi + rax], dl
movzx eax, r8b
jmp 0x1400591ae
inc edx
mov eax, edx
dec eax
cmp al, 0xff
je 0x140059165
mov r9b, 1
jmp 0x14005915a
test r9b, r9b
je 0x140059178
movzx edx, dl
sub rcx, rdx
mov qword [rsp + 0xb8], rcx
or byte [r14 + 0xc], 8
or byte [r14 + 6], 0x40
mov dword [rsp + 0x68], 0x2e
jmp 0x1400591b2
mov eax, edx
mov rdi, qword [rsp + 0x58]
mov ecx, edx
mov r8d, 1
shr al, 3
and ecx, 7
movzx eax, al
shl r8d, cl
or byte [rdi + rax], r8b
movzx eax, dl
mov dword [rsp + 0x68], eax
xor edi, edi
jmp 0x14005888b
cmp byte [r14 + rdi], 0
jne 0x1400591d1
dec eax
mov byte [r14], al
movzx edi, byte [r14]
mov rax, rdi
test dil, dil
jne 0x1400591b9
mov rax, qword [rsp + 0x58]
add rax, rdi
mov rdi, rax
jmp 0x140058085
bt r12d, 0xd
jae case.0x1400580f5.1
inc qword [r15 + 0x28]
mov ebx, dword [rsp + 0x74]
inc dword [rsp + 0x6c]
cmp dword [rsp + 0x64], ebx
jne 0x14005933a
jmp 0x140059313
bt r12d, 0xd
jb 0x140059427
jmp case.0x1400580f5.1
bt r12d, 0xb
jb 0x1400595cd
jmp case.0x1400580f5.1
bt r12d, 0xf
jae case.0x1400580f5.1
mov r14b, 0x7c
jmp 0x1400595cd
mov eax, r12d
not eax
test ah, 0x12
jne 0x140059ae2
mov rcx, qword [rsp + 0xb8]
cmp qword [rsp + 0x30], rcx
je 0x140059aa0
mov rdx, rcx
or r9d, 0xffffffff
jmp 0x14005970f
mov rax, qword [rsp + 0x30]
cmp rdx, rax
je 0x1400588dc
movzx r14d, byte [r13 + 1]
lea rax, [r13 + 2]
mov qword [rsp + 0xb8], rax
cmp r14b, 0x42
jg 0x1400592b5
cmp r14b, 0x26
jle case.0x1400592b3.3
lea eax, [r14 - 0x27]
cmp al, 0x1b
ja case.0x1400592b3.3
lea rdx, [0x1401497c8]
movzx eax, al
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp r14b, 0x77
je 0x140059aea
jg 0x1400592e4
cmp r14b, 0x60
je 0x140059dff
cmp r14b, 0x62
je 0x140059cfa
cmp r14b, 0x57
je 0x140059b6e
jmp case.0x1400592b3.3
cmp r14b, 0x7b
je 0x1400596f1
cmp r14b, 0x7c
je 0x1400595bb
jmp case.0x1400592b3.3
bt r12d, 0xd
jae 0x1400591ec
mov r14d, 0x28
jmp case.0x1400592b3.3
mov eax, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x40]
lea edx, [rax + rax]
mov dword [rsp + 0x74], edx
imul rdx, rdx, 0x14
call sub.msvcrt.dll_realloc
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140058050
mov eax, dword [rsp + 0x64]
mov rcx, qword [r15]
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
imul rax, rax, 0x14
sub rdx, rcx
add rax, rbx
mov dword [rax], edx
xor edx, edx
test rsi, rsi
je 0x140059366
sub rsi, rcx
mov rdx, rsi
inc edx
mov dword [rax + 4], edx
mov esi, dword [rsp + 0x6c]
mov rdx, rdi
sub rdx, rcx
mov dword [rax + 0xc], edx
mov dword [rax + 0x10], esi
cmp esi, 0xff
ja 0x1400593f3
add edx, 2
mov dword [rax + 8], edx
mov rbx, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, rbx
add eax, 3
cmp edx, eax
jae 0x1400593e1
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rbx
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rbx
je 0x140059387
sub rax, rbx
add rdi, rax
test rbp, rbp
je 0x140059387
add rbp, rax
jmp 0x140059387
mov al, byte [rsp + 0x6c]
mov byte [rdi], 6
add rdi, 3
mov byte [rdi - 1], 0
mov byte [rdi - 2], al
inc dword [rsp + 0x64]
mov qword [rsp + 0x48], rdi
jmp 0x14005807f
bt r12d, 0xd
jb 0x140059fea
cmp dword [rsp + 0x64], 0
jne 0x1400594df
bt r12d, 0x11
jb 0x140059fea
jmp 0x1400594ca
test rsi, rsi
je 0x1400594b8
jmp 0x140059468
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
jne 0x14005947d
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jb 0x140059432
jmp 0x1400594a2
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059490
add rsi, rax
test rbx, rbx
je 0x140059498
add rbx, rax
test rbp, rbp
je 0x140059468
add rbp, rax
jmp 0x140059468
mov rax, rdi
mov byte [rdi], 0x14
inc rdi
sub rax, rsi
mov byte [rsi], 0xe
sub eax, 3
mov word [rsi + 1], ax
cmp dword [rsp + 0x64], 0
jne 0x1400594e4
bt r12d, 0x11
jb 0x14005a003
mov rcx, qword [rsp + 0x40]
mov r13d, 0x10
call fcn.140074210
jmp 0x14005a238
test rsi, rsi
jne 0x140059468
dec dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
mov rsi, qword [rsp + 0x40]
mov rdx, qword [r15]
imul rax, rax, 0x14
add rax, rsi
movsxd rcx, dword [rax]
lea rsi, [rdx + rcx]
movsxd rcx, dword [rax + 4]
mov qword [rsp + 0x48], rsi
xor esi, esi
test ecx, ecx
je 0x140059516
lea rsi, [rdx + rcx - 1]
movsxd rbx, dword [rax + 0xc]
mov r13d, dword [rax + 0x10]
xor ebp, ebp
add rbx, rdx
cmp r13d, 0xff
ja 0x140058085
mov bpl, byte [rsp + 0x6c]
movsxd rax, dword [rax + 8]
sub ebp, r13d
mov byte [rdx + rax], bpl
mov r14, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r14
add eax, 3
cmp edx, eax
jae 0x1400595a7
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r14
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r14
je 0x140059540
sub rax, r14
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x14005959d
add rsi, rax
test rbx, rbx
je 0x140059540
add rbx, rax
jmp 0x140059540
mov byte [rdi], 7
add rdi, 3
mov byte [rdi - 2], r13b
mov byte [rdi - 1], bpl
jmp 0x140058083
test r12d, 0x8400
je 0x140059232
jmp case.0x1400592b3.3
bt r12d, 0xa
jb case.0x1400580f5.1
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
add eax, 3
cmp edx, eax
jae 0x140059647
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x1400595d8
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059635
add rsi, rax
test rbx, rbx
je 0x14005963d
add rbx, rax
test rbp, rbp
je 0x1400595d8
add rbp, rax
jmp 0x1400595d8
mov ecx, dword [rsp + 0x48]
mov eax, edi
mov rdx, qword [rsp + 0x48]
mov r9, rdi
add rdi, 3
sub eax, ecx
mov ecx, 0xf
lea r8d, [rax + 3]
call fcn.140055cc0
test rsi, rsi
je 0x14005967e
mov rax, rdi
mov byte [rsi], 0xe
sub rax, rsi
sub eax, 3
mov word [rsi + 1], ax
mov rsi, rdi
mov rbp, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, rbp
add eax, 3
cmp edx, eax
jae 0x1400596e3
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rbp
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rbp
je 0x140059681
sub rax, rbp
add rdi, rax
test rsi, rsi
je 0x1400596d9
add rsi, rax
test rbx, rbx
je 0x140059681
add rbx, rax
jmp 0x140059681
add rdi, 3
mov qword [rsp + 0x48], rdi
jmp 0x140058081
mov eax, r12d
and eax, 0x1200
cmp eax, 0x200
je 0x140059248
mov r14d, 0x7b
jmp case.0x1400592b3.3
inc rdx
cmp qword [rsp + 0x38], 0
movzx eax, byte [rdx - 1]
je 0x140059727
mov r11, qword [rsp + 0x38]
mov al, byte [r11 + rax]
lea r8d, [rax - 0x30]
cmp r8b, 9
jbe 0x14005973f
mov qword [rsp + 0xb8], rdx
cmp al, 0x2c
jne 0x140059770
jmp 0x140059775
cmp r9d, 0x7fff
jg 0x14005975e
cmp r9d, 0xffffffff
jne 0x140059751
xor r9d, r9d
imul r9d, r9d, 0xa
movzx r8d, al
lea r9d, [r9 + r8 - 0x30]
mov r10, qword [rsp + 0x30]
cmp rdx, r10
jne 0x14005970f
mov qword [rsp + 0xb8], r10
mov r13d, r9d
jmp 0x1400597e8
xor r8d, r8d
or r13d, 0xffffffff
mov r11, qword [rsp + 0x30]
cmp rdx, r11
je 0x1400597cc
inc rdx
cmp qword [rsp + 0x38], 0
movzx eax, byte [rdx - 1]
je 0x14005979e
mov r10, qword [rsp + 0x38]
mov al, byte [r10 + rax]
lea r8d, [rax - 0x30]
cmp r8b, 9
ja 0x1400597d4
cmp r13d, 0x7fff
jg 0x1400597c7
cmp r13d, 0xffffffff
jne 0x1400597ba
xor r13d, r13d
imul r13d, r13d, 0xa
movzx r8d, al
lea r13d, [r13 + r8 - 0x30]
mov r8b, 1
jmp 0x14005977c
test r8b, r8b
je 0x1400597dc
mov rdx, r11
mov qword [rsp + 0xb8], rdx
cmp r13d, 0xffffffff
jne 0x1400597e8
mov r13d, 0x7fff
test r9d, r9d
js 0x140059aa0
cmp r9d, r13d
jg 0x140059aa0
bt r12d, 0xc
jb 0x14005983e
cmp al, 0x5c
jne 0x140059aa0
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x30]
cmp rax, rdx
je 0x140059aa0
lea rdx, [rax + 1]
cmp qword [rsp + 0x38], 0
movzx eax, byte [rax]
mov qword [rsp + 0xb8], rdx
je 0x14005983e
mov rdx, qword [rsp + 0x38]
mov al, byte [rdx + rax]
cmp al, 0x7d
jne 0x140059aa0
test rbx, rbx
jne 0x14005987d
mov eax, r12d
and eax, 0x200020
cmp eax, 0x20
jne 0x14005986d
mov rcx, qword [rsp + 0x40]
mov r13d, 0xd
call fcn.140074210
jmp 0x14005a238
test r12d, 0x10
je 0x140059acf
mov rbx, rdi
cmp r13d, 0x7fff
jle 0x14005989b
mov rcx, qword [rsp + 0x40]
call fcn.140074210
mov r13d, 0xa
jmp 0x14005a238
test r13d, r13d
jne 0x140059935
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
add eax, 3
cmp edx, eax
jae 0x140059913
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x1400598a4
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059901
add rsi, rax
test rbx, rbx
je 0x140059909
add rbx, rax
test rbp, rbp
je 0x1400598a4
add rbp, rax
jmp 0x1400598a4
mov r8d, edi
mov r9, rdi
lea rbp, [rdi + 3]
mov rdx, rbx
sub r8d, ebx
mov ecx, 0xd
mov rdi, rbp
call fcn.140055cc0
jmp 0x140058083
cmp r13d, 2
mov r8d, 0xa
mov eax, 0x14
mov r14, rdi
cmovge r8d, eax
mov rdi, qword [r15]
mov rax, r14
mov edx, dword [r15 + 8]
sub rax, rdi
add eax, r8d
cmp edx, eax
jae 0x1400599d1
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], r9d
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rdi
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rdi
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
je 0x14005994b
sub rax, rdi
add qword [rsp + 0x48], rax
add r14, rax
test rsi, rsi
je 0x1400599bc
add rsi, rax
test rbx, rbx
je 0x1400599c4
add rbx, rax
test rbp, rbp
je 0x14005994b
add rbp, rax
jmp 0x14005994b
xor edi, edi
cmp r13d, 2
mov r8, r14
mov rdx, rbx
setge dil
lea rcx, [rbx + 5]
sub r8, rbx
mov dword [rsp + 0x50], r9d
call sub.msvcrt.dll_memmove
lea rbp, [r14 + 5]
mov byte [rbx], 0x15
lea rcx, [rbx - 5]
lea rdi, [rdi + rdi*4 + 5]
mov r9d, dword [rsp + 0x50]
sub rcx, r14
mov r8, rbp
add rdi, r14
lea rdx, [rbp + rcx]
sub r8, rbx
xor ebp, ebp
sub rdi, rbx
mov word [rbx + 3], r9w
sub edi, 3
mov word [rbx + 1], di
lea rdi, [r14 + 0xa]
add rcx, rdi
call sub.msvcrt.dll_memmove
mov r9d, dword [rsp + 0x50]
mov word [rbx], 0x517
mov byte [rbx + 2], 0
mov word [rbx + 3], r9w
cmp r13d, 1
jle 0x140058085
mov eax, ebx
dec r13d
lea rdx, [r14 + 0xf]
mov byte [r14 + 0xa], 0x16
sub eax, edi
lea rcx, [rbx - 0xf]
mov word [r14 + 0xd], r13w
lea rdi, [r14 + 0x14]
add eax, 2
sub rcx, r14
mov word [r14 + 0xb], ax
mov r14, rdx
add rdx, rcx
add rcx, rdi
sub r14, rbx
mov r8, r14
call sub.msvcrt.dll_memmove
mov byte [rbx], 0x17
mov word [rbx + 1], r14w
mov word [rbx + 3], r13w
jmp 0x140058085
bt r12d, 0x15
jb 0x140059acf
mov rcx, qword [rsp + 0x40]
mov r13d, 9
call fcn.140074210
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0xb8], rax
jne 0x140059890
jmp 0x14005a238
bt r12d, 0xc
mov qword [rsp + 0xb8], rcx
jae 0x140059704
mov r14b, 0x7b
jmp case.0x1400580f5.1
bt r12d, 0x13
jb case.0x1400580f5.1
mov rbx, rdi
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jae 0x140059b66
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x140059af8
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059b54
add rsi, rax
test rbx, rbx
je 0x140059b5c
add rbx, rax
test rbp, rbp
je 0x140059af8
add rbp, rax
jmp 0x140059af8
mov byte [rdi], 0x18
jmp 0x140059eff
bt r12d, 0x13
jb case.0x1400580f5.1
mov rbx, rdi
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jae 0x140059bea
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x140059b7c
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059bd8
add rsi, rax
test rbx, rbx
je 0x140059be0
add rbx, rax
test rbp, rbp
je 0x140059b7c
add rbp, rax
jmp 0x140059b7c
mov byte [rdi], 0x19
jmp 0x140059eff
bt r12d, 0x13
mov r14b, 0x3c
jb case.0x1400580f5.1
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jae 0x140059c6e
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x140059c00
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059c5c
add rsi, rax
test rbx, rbx
je 0x140059c64
add rbx, rax
test rbp, rbp
je 0x140059c00
add rbp, rax
jmp 0x140059c00
mov byte [rdi], 0x1a
jmp 0x140059eff
bt r12d, 0x13
mov r14b, 0x3e
jb case.0x1400580f5.1
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jae 0x140059cf2
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x140059c84
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059ce0
add rsi, rax
test rbx, rbx
je 0x140059ce8
add rbx, rax
test rbp, rbp
je 0x140059c84
add rbp, rax
jmp 0x140059c84
mov byte [rdi], 0x1b
jmp 0x140059eff
bt r12d, 0x13
jb case.0x1400580f5.1
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jae 0x140059d73
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x140059d05
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059d61
add rsi, rax
test rbx, rbx
je 0x140059d69
add rbx, rax
test rbp, rbp
je 0x140059d05
add rbp, rax
jmp 0x140059d05
mov byte [rdi], 0x1c
jmp 0x140059eff
bt r12d, 0x13
mov r14b, 0x42
jb case.0x1400580f5.1
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jae 0x140059df7
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x140059d89
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059de5
add rsi, rax
test rbx, rbx
je 0x140059ded
add rbx, rax
test rbp, rbp
je 0x140059d89
add rbp, rax
jmp 0x140059d89
mov byte [rdi], 0x1d
jmp 0x140059eff
bt r12d, 0x13
mov r14b, 0x60
jb case.0x1400580f5.1
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jae 0x140059e7b
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x140059e0d
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059e69
add rsi, rax
test rbx, rbx
je 0x140059e71
add rbx, rax
test rbp, rbp
je 0x140059e0d
add rbp, rax
jmp 0x140059e0d
mov byte [rdi], 0xb
jmp 0x140059eff
bt r12d, 0x13
mov r14b, 0x27
jb case.0x1400580f5.1
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
inc eax
cmp edx, eax
jae 0x140059efc
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
je 0x140059e8e
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059eea
add rsi, rax
test rbx, rbx
je 0x140059ef2
add rbx, rax
test rbp, rbp
je 0x140059e8e
add rbp, rax
jmp 0x140059e8e
mov byte [rdi], 0xc
inc rdi
jmp 0x140058085
bt r12d, 0xe
jb case.0x1400580f5.1
lea r13d, [r14 - 0x30]
movzx edx, r13b
cmp dword [rsp + 0x6c], edx
jae 0x140059f35
mov rcx, qword [rsp + 0x40]
mov r13d, 6
call fcn.140074210
jmp 0x14005a238
mov eax, dword [rsp + 0x64]
dec eax
cdqe
test eax, eax
js 0x140059f59
dec rax
mov r10, qword [rsp + 0x40]
imul rcx, rax, 0x14
cmp edx, dword [r10 + rcx + 0x24]
jne 0x140059f3d
jmp case.0x1400580f5.1
mov rbx, rdi
mov r14, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r14
add eax, 2
cmp edx, eax
jae 0x140059fcb
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r14
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r14
je 0x140059f5c
sub rax, r14
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x140059fb9
add rsi, rax
test rbx, rbx
je 0x140059fc1
add rbx, rax
test rbp, rbp
je 0x140059f5c
add rbp, rax
jmp 0x140059f5c
mov byte [rdi], 8
add rdi, 2
mov byte [rdi - 1], r13b
jmp 0x140058085
test r12d, 2
jne case.0x1400580f5.6
jmp case.0x1400592b3.3
mov r14d, 0x29
cmp qword [rsp + 0x38], 0
je case.0x1400580f5.1
mov rax, qword [rsp + 0x38]
mov r14b, byte [rax + r14]
jmp case.0x1400580f5.1
mov r14b, 0x29
test rbp, rbp
je 0x14005a020
movzx edx, byte [rbp]
mov rax, rdx
lea rdx, [rbp + rdx + 1]
cmp rdi, rdx
jne 0x14005a020
inc al
jne 0x14005a028
mov rbx, rdi
jmp 0x14005a0bc
mov rdx, qword [rsp + 0xb8]
mov al, byte [rdx]
cmp al, 0x5e
je 0x14005a020
cmp al, 0x2a
je 0x14005a020
test r12d, 2
je 0x14005a054
cmp al, 0x5c
jne 0x14005a05c
mov cl, byte [rdx + 1]
cmp cl, 0x2b
je 0x14005a020
cmp cl, 0x3f
jmp 0x14005a05a
cmp al, 0x2b
je 0x14005a020
cmp al, 0x3f
je 0x14005a020
bt r12d, 9
jae 0x14005a104
bt r12d, 0xc
jae 0x14005a072
cmp al, 0x7b
jmp 0x14005a07e
cmp al, 0x5c
jne 0x14005a104
cmp byte [rdx + 1], 0x7b
jne 0x14005a104
jmp 0x14005a020
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, r13
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, r13
jne 0x14005a0d2
mov r13, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, r13
add eax, 2
cmp edx, eax
jb 0x14005a086
jmp 0x14005a0f7
sub rax, r13
add qword [rsp + 0x48], rax
add rdi, rax
test rsi, rsi
je 0x14005a0e5
add rsi, rax
test rbx, rbx
je 0x14005a0ed
add rbx, rax
test rbp, rbp
je 0x14005a0bc
add rbp, rax
jmp 0x14005a0bc
mov word [rdi], 2
lea rbp, [rdi + 1]
add rdi, 2
mov r13, rdi
mov rdi, qword [r15]
mov rax, r13
mov edx, dword [r15 + 8]
sub rax, rdi
inc eax
cmp edx, eax
jae 0x14005a175
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rdi
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rdi
je 0x14005a107
sub rax, rdi
add qword [rsp + 0x48], rax
add r13, rax
test rsi, rsi
je 0x14005a163
add rsi, rax
test rbx, rbx
je 0x14005a16b
add rbx, rax
test rbp, rbp
je 0x14005a107
add rbp, rax
jmp 0x14005a107
mov byte [r13], r14b
lea rdi, [r13 + 1]
inc byte [rbp]
jmp 0x140058085
test rsi, rsi
je 0x14005a19a
mov rax, rdi
mov byte [rsi], 0xe
sub rax, rsi
sub eax, 3
mov word [rsi + 1], ax
cmp dword [rsp + 0x64], 0
je 0x14005a1b6
mov rcx, qword [rsp + 0x40]
mov r13d, 8
call fcn.140074210
jmp 0x14005a238
bt r12d, 0x12
jae 0x14005a21c
mov rbx, qword [r15]
mov rax, rdi
mov edx, dword [r15 + 8]
sub rax, rbx
inc eax
cmp edx, eax
jae 0x14005a216
cmp edx, 0x10000
je 0x140058219
mov eax, 0x10000
add edx, edx
mov rcx, rbx
cmp edx, eax
cmova rdx, rax
mov dword [r15 + 8], edx
call sub.msvcrt.dll_realloc
mov qword [r15], rax
test rax, rax
je 0x140058050
cmp rax, rbx
je 0x14005a1bd
sub rax, rbx
add rdi, rax
test rbp, rbp
je 0x14005a1bd
add rbp, rax
jmp 0x14005a1bd
mov byte [rdi], 1
inc rdi
mov rcx, qword [rsp + 0x40]
xor r13d, r13d
call fcn.140074210
sub rdi, qword [r15]
mov dword [r15 + 0xc], edi
jmp 0x14005a238
mov r13d, 0xe
mov eax, r13d
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret