Function at 0x1400f5170
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, r9
mov rbp, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbp
cmp byte [rdx], 0
je 0x1400f5249
movzx r10d, byte [rdx + 1]
mov byte [rdx], 0
test rsi, rsi
je 0x1400f5a22
cmp rbp, 2
jbe 0x1400f5a38
movzx eax, byte [r8]
cmp r10b, 0x1f
jbe 0x1400f5a6b
mov r9, rsi
lea r11d, [rax + 0x5f]
lea esi, [r10 - 0x20]
cmp r11b, 0x5e
jae 0x1400f5a7d
mov qword [rsp + 0x30], rdx
movzx eax, sil
imul rdi, rax, 0x5e
movzx eax, r11b
lea rdx, [rdi + rax]
add rdx, 0xfffffffffffffa7e
add rdi, rax
cmp rdx, 0x92e
jae 0x1400f5c2e
lea rax, [0x1401ed002]
movzx edi, word [rax + rdi*2 - 0xb04]
mov eax, edi
shr eax, 0xc
or al, 0xe0
mov byte [r14], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + 1], al
mov r13d, 3
mov eax, 2
mov rsi, r9
jmp 0x1400f5be7
mov qword [rsp + 0x30], rdx
xor r13d, r13d
xor edi, edi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r8
mov r11, rbp
sub r11, r13
jb 0x1400f5f99
lea r10, [r8 + rdi]
mov rdx, rsi
sub rdx, rdi
cmp r11, rdx
mov r15, rdx
cmovb r15, r11
lea r12, [r14 + r13]
mov eax, r10d
xor eax, r12d
test al, 7
mov qword [rsp + 0x38], rbp
jne 0x1400f52a5
mov ebx, r10d
neg ebx
and ebx, 7
lea rax, [rbx + 0x10]
cmp rax, r15
jbe 0x1400f5859
mov r9, r13
mov r8, r14
xor ebp, ebp
cmp rbp, r15
mov r13, r9
jae 0x1400f59f3
nop dword [rax]
movzx eax, byte [r10 + rbp]
test al, al
js 0x1400f52e0
mov byte [r12 + rbp], al
inc rbp
cmp r15, rbp
jne 0x1400f52c0
jmp 0x1400f59f3
mov r14, r8
mov r8, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
add rdi, rbp
mov r11, rbp
add r11, r13
mov qword [rsp + 0x50], r11
lea rdx, [r13 + 2]
add rdx, rbp
cmp rdx, qword [rsp + 0x38]
jae 0x1400f5c76
inc rdi
lea r10d, [rax + 0x7f]
mov r13, r11
cmp r10b, 0x7d
ja 0x1400f5c07
cmp rdi, rsi
jae 0x1400f5bfd
movzx r11d, byte [r8 + rdi]
lea r15, [rdi + 1]
cmp r10b, 0x1f
jbe 0x1400f5380
lea ebp, [r11 + 0x5f]
add al, 0x5f
cmp bpl, 0x5e
jae 0x1400f538e
movzx eax, al
imul rbx, rax, 0x5e
movzx eax, bpl
lea rdx, [rbx + rax]
add rdx, 0xfffffffffffffa7e
add rbx, rax
cmp rdx, 0x92e
jae 0x1400f53b1
lea rax, [0x1401ed002]
movzx eax, word [rax + rbx*2 - 0xb04]
jmp 0x1400f551f
lea eax, [r11 + 0x7f]
cmp al, 0x7e
jae 0x1400f53a0
add r11b, 0xb3
jmp 0x1400f53ac
lea edx, [r11 + 0x7f]
cmp dl, 0x20
jae 0x1400f53e4
lea r10d, [r11 - 0x4d]
jmp 0x1400f5607
lea eax, [r11 - 0x61]
cmp al, 0x1a
jae 0x1400f53fa
add r11b, 0xb9
mov eax, r11d
jmp 0x1400f5406
cmp ebx, 0xa5
jae 0x1400f55d1
lea rax, [0x1401eccbc]
movzx eax, word [rax + rbx*2]
cmp eax, 0x800
jae 0x1400f551c
mov edx, eax
shr edx, 6
or dl, 0xc0
mov byte [r14 + r13], dl
jmp 0x1400f5784
lea edx, [r11 - 0x61]
cmp dl, 0x1a
jae 0x1400f55f9
lea r10d, [r11 - 0x47]
jmp 0x1400f5607
lea eax, [r11 - 0x41]
cmp al, 0x1a
jae 0x1400f5dd5
mov r9, rsi
movzx edx, r10b
imul edx, edx, 0xb2
movzx eax, al
add eax, edx
movzx r10d, ax
cmp r10d, 0xb34
mov edx, 0x21b
mov r11d, 0
cmovb rdx, r11
lea r11, [rdx + 0x10e]
lea rbx, [0x1401ef328]
cmp r10w, word [rbx + rdx*2 + 0x21c]
cmovb r11, rdx
cmp r10w, word [rbx + r11*2 + 0x10e]
lea rdx, [r11 + 0x87]
cmovb rdx, r11
lea r11, [rdx + 0x43]
cmp r10w, word [rbx + rdx*2 + 0x86]
cmovb r11, rdx
lea rdx, [r11 + 0x22]
cmp r10w, word [rbx + r11*2 + 0x44]
cmovb rdx, r11
cmp r10w, word [rbx + rdx*2 + 0x22]
lea r11, [rdx + 0x11]
cmovb r11, rdx
lea rdx, [r11 + 8]
cmp r10w, word [rbx + r11*2 + 0x10]
cmovb rdx, r11
lea r11, [rdx + 4]
cmp r10w, word [rbx + rdx*2 + 8]
cmovb r11, rdx
cmp r10w, word [rbx + r11*2 + 4]
lea rdx, [r11 + 2]
cmovb rdx, r11
lea rsi, [rdx + 1]
cmp r10w, word [rbx + rdx*2 + 2]
cmovb rsi, rdx
lea r11, [rsi + 1]
cmp r10w, word [rbx + rsi*2 + 2]
cmovb r11, rsi
movzx esi, word [rbx + r11*2]
cmp r10w, si
jne 0x1400f54ed
lea rax, [0x1401eeaba]
movzx eax, word [rax + r11*2]
jmp 0x1400f5519
cmp si, ax
adc r11, 0xffffffffffffffff
cmp r11, 0x437
jae 0x1400f5fab
lea rdx, [0x1401eeaba]
add ax, word [rdx + r11*2]
lea rdx, [0x1401ef328]
sub ax, word [rdx + r11*2]
mov rsi, r9
movzx eax, ax
mov edx, eax
shr edx, 0xc
or dl, 0xe0
mov byte [r14 + r13], dl
mov edx, eax
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [r14 + r13 + 1], dl
and al, 0x3f
or al, 0x80
mov byte [r14 + r13 + 2], al
add r13, 3
mov qword [rsp + 0x50], r13
cmp r15, rsi
jae 0x1400f5c16
lea rax, [r13 + 2]
cmp rax, qword [rsp + 0x48]
jae 0x1400f5c22
movzx eax, byte [r8 + rdi + 1]
add rdi, 2
test al, al
js 0x1400f55be
nop word cs:[rax + rax]
mov byte [r14 + r13], al
mov r10, qword [rsp + 0x50]
lea r13, [r10 + 1]
mov qword [rsp + 0x50], r13
cmp al, 0x3b
ja 0x1400f592d
cmp rsi, rdi
je 0x1400f5a3e
add r10, 3
cmp r10, qword [rsp + 0x48]
jae 0x1400f5a4a
movzx eax, byte [r8 + rdi]
inc rdi
test al, al
jns 0x1400f5580
lea r10d, [rax + 0x7f]
cmp r10b, 0x7d
jbe 0x1400f5325
jmp 0x1400f5c07
lea rdx, [rbx - 0xf0e]
cmp rdx, 0x1318
jae 0x1400f5716
lea rax, str.OsOGP
movzx eax, word [rax + rbx*2 - 0x1e1c]
jmp 0x1400f551f
lea r10d, [r11 - 0x41]
cmp r10b, 0x1a
jae 0x1400f5dd5
movzx eax, al
imul rdx, rax, 0x54
movzx eax, r10b
add rax, rdx
cmp rax, 0xc36
jae 0x1400f5dd5
cmp rax, 0x6b3
mov edx, 0x10b
mov r9d, 0
cmovb rdx, r9
lea r9, [0x1401ee68c]
cmp word [r9 + rdx*2 + 0x10c], ax
lea r10, [rdx + 0x86]
cmova r10, rdx
cmp word [r9 + r10*2 + 0x86], ax
lea rdx, [r10 + 0x43]
cmova rdx, r10
cmp word [r9 + rdx*2 + 0x42], ax
lea r10, [rdx + 0x21]
cmova r10, rdx
cmp word [r9 + r10*2 + 0x22], ax
lea rdx, [r10 + 0x11]
cmova rdx, r10
cmp word [r9 + rdx*2 + 0x10], ax
lea r10, [rdx + 8]
cmova r10, rdx
cmp word [r9 + r10*2 + 8], ax
lea rdx, [r10 + 4]
cmova rdx, r10
cmp word [r9 + rdx*2 + 4], ax
lea r10, [rdx + 2]
cmova r10, rdx
cmp word [r9 + r10*2 + 2], ax
lea rdx, [r10 + 1]
cmova rdx, r10
cmp word [r9 + rdx*2 + 2], ax
lea r10, [rdx + 1]
cmova r10, rdx
cmp word [r9 + r10*2], ax
jne 0x1400f56e0
lea rax, [0x1401ee25e]
movzx r11d, word [rax + r10*2]
movzx eax, r11w
jmp 0x1400f551f
adc r10, 0xffffffffffffffff
cmp r10, 0x217
jae 0x1400f5fd5
lea rdx, [0x1401ee25e]
movzx r11d, word [rdx + r10*2]
add r11w, ax
lea rax, [0x1401ee68c]
sub r11w, word [rax + r10*2]
movzx eax, r11w
jmp 0x1400f551f
cmp r10b, 0x27
jne 0x1400f574e
cmp bpl, 0xf
jae 0x1400f574e
lea rdx, [0x1401ecfe4]
movzx eax, word [rdx + rax*2]
test ax, ax
je 0x1400f5f0c
mov edx, eax
shr edx, 6
or dl, 0xc0
mov byte [r14 + r13], dl
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
jmp 0x1400f5784
cmp r10b, 0x28
jne 0x1400f5796
cmp bpl, 0x10
jae 0x1400f5796
lea rdx, [0x1401ecfc4]
movzx eax, word [rdx + rax*2]
mov edx, eax
shr edx, 6
or dl, 0xc0
mov byte [r14 + r13], dl
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
lea rdx, [r13 + 1]
mov qword [rsp + 0x50], rdx
and al, 0x3f
or al, 0x80
mov byte [r14 + r13 + 1], al
add r13, 2
jmp 0x1400f5548
cmp r10b, 0x25
jne 0x1400f57b2
cmp bpl, 0x44
jae 0x1400f57b2
lea rdx, [0x1401ecf3c]
movzx eax, word [rdx + rax*2]
jmp 0x1400f551f
add rbx, 0xffffffffffffff44
cmp rbx, 0x39f
jae 0x1400f5f0c
mov r12, r8
mov qword [rsp + 0x38], rcx
mov ecx, ebx
call fcn.1400f50f0
test rax, rax
je 0x1400f5804
mov rax, rdx
dec rax
cmp rax, 0x4d
jae 0x1400f5fed
lea rax, [0x1401ece06]
add bx, word [rax + rdx*2 - 2]
lea rax, [0x1401ecea0]
sub bx, word [rax + rdx*2 - 2]
jmp 0x1400f5819
cmp rdx, 0x4d
jae 0x1400f6005
lea rax, [0x1401ece06]
movzx ebx, word [rax + rdx*2]
mov rcx, qword [rsp + 0x38]
mov r8, r12
movzx eax, bx
cmp eax, 0x80
jb 0x1400f5f0c
cmp eax, 0x800
jae 0x1400f551f
mov eax, ebx
shr eax, 6
or al, 0xc0
mov byte [r14 + r13], al
and bl, 0x3f
or bl, 0x80
mov byte [r14 + r13 + 1], bl
add r13, 2
jmp 0x1400f5548
test rbx, rbx
je 0x1400f5940
movzx eax, byte [r10]
test al, al
js 0x1400f59b7
mov byte [r12], al
mov ebp, 1
cmp ebx, 1
je 0x1400f5942
movzx eax, byte [r10 + 1]
test al, al
js 0x1400f52e3
mov byte [r12 + 1], al
mov ebp, 2
cmp ebx, 2
je 0x1400f5942
movzx eax, byte [r10 + 2]
test al, al
js 0x1400f52e3
mov byte [r12 + 2], al
mov ebp, 3
cmp ebx, 3
je 0x1400f5942
movzx eax, byte [r10 + 3]
test al, al
js 0x1400f52e3
mov byte [r12 + 3], al
mov ebp, 4
cmp ebx, 4
je 0x1400f5942
movzx eax, byte [r10 + 4]
test al, al
js 0x1400f52e3
mov byte [r12 + 4], al
mov ebp, 5
cmp ebx, 5
je 0x1400f5942
movzx eax, byte [r10 + 5]
test al, al
js 0x1400f52e3
mov byte [r12 + 5], al
mov ebp, 6
cmp ebx, 6
je 0x1400f5942
movzx eax, byte [r10 + 6]
test al, al
js 0x1400f52e3
mov byte [r12 + 6], al
mov ebp, 7
jmp 0x1400f5942
mov rbp, qword [rsp + 0x48]
cmp rdi, rsi
jbe 0x1400f525d
jmp 0x1400f5fc3
xor ebp, ebp
lea rax, [r15 - 0x10]
mov r8, r14
mov r9, r13
lea rbx, [r14 + r13]
add rbx, 8
nop word cs:[rax + rax]
mov rsi, qword [r10 + rbp]
mov r13, qword [r10 + rbp + 8]
mov qword [rbx + rbp - 8], rsi
mov qword [rbx + rbp], r13
movabs r14, 0x8080808080808080
and rsi, r14
and r13, r14
mov r14, r13
or r14, rsi
jne 0x1400f5998
add rbp, 0x10
cmp rbp, rax
jbe 0x1400f5960
jmp 0x1400f52ad
test rsi, rsi
je 0x1400f59be
tzcnt rax, rsi
shr eax, 3
mov r14, r8
mov r8, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r13, r9
jmp 0x1400f59e6
xor ebp, ebp
jmp 0x1400f52ed
test r13, r13
mov r14, r8
je 0x1400f59cd
tzcnt rax, r13
jmp 0x1400f59d2
mov eax, 0x40
mov r8, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r13, r9
shr eax, 3
add rax, 8
add rbp, rax
movzx eax, byte [r10 + rbp]
jmp 0x1400f52ed
xor eax, eax
cmp r11, rdx
setb al
add rdi, r15
add r13, r15
mov r11, r13
lea rdx, [rsp + 0x40]
and edx, 0xffff00
or rdx, rax
mov qword [rcx], rdi
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], r11
jmp 0x1400f5deb
cmp byte [rsp + 0xd0], 0
je 0x1400f5a53
mov word [rcx + 8], 0x102
mov byte [rcx + 0xa], 0
jmp 0x1400f5a57
mov byte [rcx + 8], 1
jmp 0x1400f5a57
mov byte [rcx + 8], 0
mov qword [rcx], rsi
jmp 0x1400f5de7
mov byte [rcx + 8], 1
jmp 0x1400f5de4
mov byte [rcx + 8], 0
mov qword [rcx], 0
mov qword [rcx + 0x10], 0
jmp 0x1400f5deb
mov rbx, r8
mov r8, rdx
lea edx, [rax + 0x7f]
cmp dl, 0x7e
jae 0x1400f5a98
add al, 0xb3
jmp 0x1400f5aa6
mov rbx, r8
mov r8, rdx
lea edx, [rax + 0x7f]
cmp dl, 0x20
jae 0x1400f5c55
lea r10d, [rax - 0x4d]
jmp 0x1400f5cd7
lea edx, [rax - 0x61]
cmp dl, 0x1a
jae 0x1400f5c63
add al, 0xb9
mov r11d, eax
mov r9, rsi
mov qword [rsp + 0x30], r8
movzx eax, r10b
movzx eax, ax
imul eax, eax, 0xb2
movzx edi, r11b
add edi, eax
movzx r10d, di
xor eax, eax
cmp r10d, 0xb34
mov edx, 0x21b
cmovb rdx, rax
lea r11, [rdx + 0x10e]
lea rax, [0x1401ef328]
cmp r10w, word [rax + rdx*2 + 0x21c]
cmovb r11, rdx
cmp r10w, word [rax + r11*2 + 0x10e]
lea rdx, [r11 + 0x87]
cmovb rdx, r11
lea r11, [rdx + 0x43]
cmp r10w, word [rax + rdx*2 + 0x86]
cmovb r11, rdx
lea rdx, [r11 + 0x22]
cmp r10w, word [rax + r11*2 + 0x44]
cmovb rdx, r11
cmp r10w, word [rax + rdx*2 + 0x22]
lea r11, [rdx + 0x11]
cmovb r11, rdx
lea rdx, [r11 + 8]
cmp r10w, word [rax + r11*2 + 0x10]
cmovb rdx, r11
lea r11, [rdx + 4]
cmp r10w, word [rax + rdx*2 + 8]
cmovb r11, rdx
cmp r10w, word [rax + r11*2 + 4]
lea rdx, [r11 + 2]
cmovb rdx, r11
lea rsi, [rdx + 1]
cmp r10w, word [rax + rdx*2 + 2]
cmovb rsi, rdx
lea r11, [rsi + 1]
cmp r10w, word [rax + rsi*2 + 2]
cmovb r11, rsi
movzx esi, word [rax + r11*2]
cmp r10w, si
jne 0x1400f5b98
lea rax, [0x1401eeaba]
movzx edi, word [rax + r11*2]
mov r8, rbx
jmp 0x1400f5bc0
cmp si, di
adc r11, 0xffffffffffffffff
cmp r11, 0x437
jae 0x1400f5fab
mov r8, rbx
lea rdx, [0x1401eeaba]
add di, word [rdx + r11*2]
sub di, word [rax + r11*2]
mov rsi, r9
movzx eax, di
mov edx, eax
shr edx, 0xc
or dl, 0xe0
mov byte [r14], dl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + 1], al
mov r13d, 3
mov eax, 2
and dil, 0x3f
or dil, 0x80
mov byte [r14 + rax], dil
mov edi, 1
jmp 0x1400f5253
cmp byte [rsp + 0xd0], 0
je 0x1400f5c80
mov word [rcx + 8], 0x102
mov byte [rcx + 0xa], 0
jmp 0x1400f5de4
mov byte [rcx + 8], 0
mov qword [rcx], r15
jmp 0x1400f5de7
mov byte [rcx + 8], 1
mov qword [rcx], r15
jmp 0x1400f5de7
cmp edi, 0xa5
mov rsi, r9
jae 0x1400f5c95
lea rax, [0x1401eccbc]
movzx edi, word [rax + rdi*2]
cmp edi, 0x800
jae 0x1400f5bc3
jmp 0x1400f5e7f
lea edx, [rax - 0x61]
cmp dl, 0x1a
jae 0x1400f5cc9
lea r10d, [rax - 0x47]
jmp 0x1400f5cd7
lea r11d, [rax - 0x41]
cmp r11b, 0x1a
jb 0x1400f5aa9
jmp 0x1400f5dab
mov eax, 1
jmp 0x1400f5a04
mov rax, qword [rsp + 0x30]
mov byte [rax], 1
mov byte [rax + 1], r10b
mov byte [rcx + 8], 0
jmp 0x1400f5de4
lea rdx, [rdi - 0xf0e]
cmp rdx, 0x1318
jae 0x1400f5e30
lea rax, str.OsOGP
movzx edi, word [rax + rdi*2 - 0x1e1c]
mov eax, edi
shr eax, 0xc
or al, 0xe0
mov byte [r14], al
mov eax, edi
jmp 0x1400f5bd1
lea r10d, [rax - 0x41]
cmp r10b, 0x1a
jae 0x1400f5dab
movzx edx, sil
imul rdx, rdx, 0x54
movzx r10d, r10b
add r10, rdx
cmp r10, 0xc36
jae 0x1400f5dab
xor eax, eax
cmp r10, 0x6b3
mov edx, 0x10b
cmovb rdx, rax
lea rax, [0x1401ee68c]
cmp word [rax + rdx*2 + 0x10c], r10w
lea r11, [rdx + 0x86]
cmova r11, rdx
cmp word [rax + r11*2 + 0x86], r10w
lea rdx, [r11 + 0x43]
cmova rdx, r11
cmp word [rax + rdx*2 + 0x42], r10w
lea r11, [rdx + 0x21]
cmova r11, rdx
cmp word [rax + r11*2 + 0x22], r10w
lea rdx, [r11 + 0x11]
cmova rdx, r11
cmp word [rax + rdx*2 + 0x10], r10w
lea r11, [rdx + 8]
cmova r11, rdx
cmp word [rax + r11*2 + 8], r10w
lea rdx, [r11 + 4]
cmova rdx, r11
cmp word [rax + rdx*2 + 4], r10w
lea r11, [rdx + 2]
cmova r11, rdx
cmp word [rax + r11*2 + 2], r10w
lea rdx, [r11 + 1]
cmova rdx, r11
cmp word [rax + rdx*2 + 2], r10w
lea r11, [rdx + 1]
cmova r11, rdx
cmp word [rax + r11*2], r10w
mov qword [rsp + 0x30], r8
jne 0x1400f5dff
lea rax, [0x1401ee25e]
jmp 0x1400f5b8e
mov byte [rcx + 8], 2
test al, al
js 0x1400f5dbe
mov word [rcx + 9], 1
jmp 0x1400f5a57
mov word [rcx + 9], 2
mov qword [rcx], 1
mov qword [rcx + 0x10], 0
jmp 0x1400f5deb
mov byte [rcx + 8], 2
test r11b, r11b
js 0x1400f5e57
mov word [rcx + 9], 1
mov qword [rcx], rdi
mov qword [rcx + 0x10], r13
mov rax, rcx
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
adc r11, 0xffffffffffffffff
cmp r11, 0x217
jae 0x1400f5fd5
mov rsi, r9
lea rdx, [0x1401ee25e]
movzx edi, word [rdx + r11*2]
add di, r10w
sub di, word [rax + r11*2]
mov r8, rbx
jmp 0x1400f5bc3
cmp r10b, 0x27
sete dl
cmp r11b, 0xf
setb bl
test dl, bl
je 0x1400f5e62
lea rdx, [0x1401ecfe4]
movzx edi, word [rdx + rax*2]
test di, di
jne 0x1400f5e7f
jmp 0x1400f5f43
mov word [rcx + 9], 2
mov qword [rcx], r15
jmp 0x1400f5de7
cmp r10b, 0x28
sete dl
cmp r11b, 0x10
setb bl
test dl, bl
je 0x1400f5e99
lea rdx, [0x1401ecfc4]
movzx edi, word [rdx + rax*2]
mov eax, edi
shr eax, 6
or al, 0xc0
mov byte [r14], al
mov r13d, 2
mov eax, 1
jmp 0x1400f5be7
cmp r10b, 0x25
sete dl
cmp r11b, 0x44
setb r10b
test dl, r10b
je 0x1400f5ebd
lea rdx, [0x1401ecf3c]
movzx edi, word [rdx + rax*2]
jmp 0x1400f5cb8
add rdi, 0xffffffffffffff44
cmp rdi, 0x39f
jae 0x1400f5f43
mov r15, rsi
mov rsi, r8
mov r12, rcx
mov ecx, edi
call fcn.1400f50f0
test rax, rax
je 0x1400f5f1e
mov rax, rdx
dec rax
cmp rax, 0x4d
jae 0x1400f5fed
lea rax, [0x1401ece06]
lea rcx, [0x1401ecea0]
add di, word [rax + rdx*2 - 2]
sub di, word [rcx + rdx*2 - 2]
jmp 0x1400f5f33
mov word [rcx + 8], 0x202
mov byte [rcx + 0xa], 0
mov qword [rcx], r15
jmp 0x1400f5de7
cmp rdx, 0x4d
jae 0x1400f6005
lea rax, [0x1401ece06]
movzx edi, word [rax + rdx*2]
mov rcx, r12
mov r8, rsi
movzx eax, di
cmp eax, 0x80
jae 0x1400f5f52
mov word [rcx + 8], 0x202
mov byte [rcx + 0xa], 0
jmp 0x1400f5dc4
cmp eax, 0x800
jae 0x1400f5f70
mov eax, edi
shr eax, 6
or al, 0xc0
mov byte [r14], al
mov r13d, 2
mov eax, 1
jmp 0x1400f5f91
mov edx, eax
shr edx, 0xc
or dl, 0xe0
mov byte [r14], dl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + 1], al
mov r13d, 3
mov eax, 2
mov rsi, r15
jmp 0x1400f5be7
lea r8, [0x140201658]
mov rcx, r13
mov rdx, rbp
call fcn.1401ca720
lea r8, str.C:UsersOliver.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.34_srcdata.rs
mov edx, 0x437
mov rcx, 0xffffffffffffffff
call fcn.1401ca3b0
lea r8, [0x140201670]
mov rcx, rdi
mov rdx, rsi
call fcn.1401ca720
lea r8, str.C:UsersOliver.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.34_srcdata.rs
mov edx, 0x217
mov rcx, 0xffffffffffffffff
call fcn.1401ca3b0
lea r8, str.C:UsersOliver.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.34_srcdata.rs
mov edx, 0x4d
mov rcx, 0xffffffffffffffff
call fcn.1401ca3b0
lea r8, str.C:UsersOliver.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.34_srcdata.rs
mov ecx, 0x4d
mov edx, 0x4d
call fcn.1401ca3b0
int3