Function at 0x1400ec7b0
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 rbp, r9
mov r13, r8
mov r12, rcx
mov r8, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], 0
cmp byte [rdx + 6], 0
je 0x1400ed27f
cmp r8, 3
jb 0x1400ed330
movzx eax, byte [rdx + 7]
mov byte [rdx + 6], 0
mov byte [r14], al
mov qword [rsp + 0x38], 1
mov r11d, 1
movzx edi, byte [rdx + 8]
test dil, dil
jne 0x1400ed28f
xor eax, eax
mov rcx, r11
lea rbx, [0x14119571a]
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r8
mov r10, r8
sub r10, rcx
jb 0x1400edca2
mov r8, r13
lea r11, [rax + r13]
mov r13, qword [rsp + 0x28]
mov r9, rbp
sub r9, rax
cmp r10, r9
mov r12, r9
cmovb r12, r10
lea rsi, [rcx + r13]
mov edi, r11d
xor edi, esi
test dil, 7
mov qword [rsp + 0x20], rcx
jne 0x1400ec893
mov edi, r11d
neg edi
and edi, 7
lea r14, [rdi + 0x10]
cmp r14, r12
jbe 0x1400ed03f
xor r14d, r14d
cmp r14, r12
mov r13, r8
jae 0x1400ed36d
nop word cs:[rax + rax]
movzx r15d, byte [r11 + r14]
test r15b, r15b
js 0x1400ec8cb
mov byte [rsi + r14], r15b
inc r14
cmp r12, r14
jne 0x1400ec8b0
jmp 0x1400ed36d
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
lea rbx, [0x14119571a]
add rax, r14
mov rcx, qword [rsp + 0x20]
lea r11, [r14 + rcx]
mov qword [rsp + 0x38], r11
add rcx, r14
add rcx, 3
cmp rcx, qword [rsp + 0x50]
jae 0x1400ed6fd
inc rax
mov r10, rax
lea r14, [0x141193b6c]
lea ecx, [r15 + 0x7f]
cmp cl, 0x7d
ja 0x1400ed145
cmp r10, rbp
jae 0x1400ed4a0
movzx r9d, byte [r13 + r10]
lea rax, [r10 + 1]
lea esi, [r9 - 0x30]
cmp sil, 9
jbe 0x1400ec980
cmp cl, 0x1f
jbe 0x1400eca30
lea esi, [r9 + 0x5f]
cmp sil, 0x5e
jae 0x1400ecb28
lea r10d, [r15 + 0x50]
cmp r10b, 0x48
jae 0x1400ecccf
movzx ecx, r10b
imul rcx, rcx, 0x5e
movzx r8d, sil
add r8, rcx
lea rcx, [0x141196612]
movzx ecx, word [rcx + r8*2]
jmp 0x1400ecbe6
cmp rax, rbp
jae 0x1400ed5d5
movzx ebx, byte [r13 + r10 + 1]
add bl, 0x7f
cmp bl, 0x7d
ja 0x1400ed5ed
lea rax, [r10 + 2]
cmp rax, rbp
jae 0x1400ed608
movzx edi, byte [r13 + r10 + 2]
add dil, 0xd0
cmp dil, 9
ja 0x1400ed629
add r10, 3
movzx eax, cl
imul rax, rax, 0x3138
movzx ecx, sil
imul rcx, rcx, 0x4ec
add rcx, rax
movzx eax, bl
lea rax, [rax + rax*4]
lea rcx, [rcx + rax*2]
movzx eax, dil
add rax, rcx
cmp rax, 0x99fc
jae 0x1400ecac4
cmp eax, 0x1d21
lea rbx, [0x14119571a]
jne 0x1400ecc23
mov rax, qword [rsp + 0x28]
mov word [rax + r11], 0x9fee
mov byte [rax + r11 + 2], 0x87
mov ecx, 3
jmp 0x1400ecdc0
lea esi, [r9 - 0x40]
cmp sil, 0x3e
jbe 0x1400eca4b
cmp r9b, 0xfe
jg 0x1400ed784
add r9b, 0xbf
mov esi, r9d
movzx ecx, cl
imul r8d, ecx, 0xbe
movzx ecx, sil
add ecx, r8d
mov r10d, 0x77c
xor r9d, r9d
mov esi, 0x77c
nop word [rax + rax]
shr r10, 1
add r10, r9
movzx edi, word [rbx + r10*2]
cmp di, cx
je 0x1400ecbd7
lea r8, [r10 + 1]
cmp di, cx
cmova rsi, r10
cmovb r9, r8
mov r10, rsi
sub r10, r9
ja 0x1400eca70
lea r8, [r9 - 1]
cmp r8, 0x77c
jae 0x1400edbf4
lea r8, [0x141194822]
add cx, word [r8 + r9*2 - 2]
sub cx, word [rbx + r9*2 - 2]
jmp 0x1400ecbe3
lea rcx, [rax - 0x2e248]
cmp rcx, 0x100000
lea rbx, [0x14119571a]
jae 0x1400ed707
add eax, 0xfffe1db8
mov ecx, eax
shr ecx, 0x12
or cl, 0xf0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], cl
mov ecx, eax
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [r8 + r11 + 1], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r8 + r11 + 2], cl
and al, 0x3f
or al, 0x80
mov byte [r8 + r11 + 3], al
mov ecx, 4
jmp 0x1400ecdc0
lea esi, [r9 - 0x40]
cmp sil, 0x3e
jbe 0x1400ecb43
cmp r9b, 0xa0
jg 0x1400ed784
add r9b, 0xbf
mov esi, r9d
add r15b, 0x5f
movzx ecx, r15b
lea rcx, [rcx + rcx*2]
shl rcx, 5
movzx r10d, sil
lea r9, [rcx + r10]
add r9, 0xfffffffffffffca0
cmp r9, 0x1f7b
jae 0x1400eccfa
mov r10d, 0x65b
xor ecx, ecx
mov esi, 0x65b
nop dword [rax]
shr r10, 1
add r10, rcx
movzx edi, word [r14 + r10*2]
cmp di, r9w
je 0x1400ecdfd
lea r8, [r10 + 1]
cmp di, r9w
cmova rsi, r10
cmovb rcx, r8
mov r10, rsi
sub r10, rcx
ja 0x1400ecb80
lea r8, [rcx - 1]
cmp r8, 0x65b
jae 0x1400edc28
lea r8, [0x141192eb6]
add r9w, word [r8 + rcx*2 - 2]
sub r9w, word [r14 + rcx*2 - 2]
movzx ecx, r9w
jmp 0x1400ecbe6
lea rcx, [0x141194822]
movzx ecx, word [rcx + r10*2]
movzx ecx, cx
mov r8d, ecx
shr r8d, 0xc
or r8b, 0xe0
mov r9, qword [rsp + 0x28]
mov byte [r9 + r11], r8b
mov r8d, ecx
shr r8d, 6
and r8b, 0x3f
or r8b, 0x80
mov byte [r9 + r11 + 1], r8b
and cl, 0x3f
or cl, 0x80
mov byte [r9 + r11 + 2], cl
mov ecx, 3
jmp 0x1400ecdc3
mov r9d, 0xce
xor ecx, ecx
mov esi, 0xce
shr r9, 1
add r9, rcx
lea r8, [0x141199af2]
movzx edi, word [r8 + r9*2]
cmp di, ax
je 0x1400ecd7f
lea r8, [r9 + 1]
cmp di, ax
cmova rsi, r9
cmovb rcx, r8
mov r9, rsi
sub r9, rcx
ja 0x1400ecc30
lea r8, [rcx - 1]
cmp r8, 0xce
jae 0x1400edc0e
lea r8, [0x141199c8e]
add ax, word [r8 + rcx*2 - 2]
lea r8, [0x141199af2]
sub ax, word [r8 + rcx*2 - 2]
movzx ecx, ax
cmp ecx, 0x800
jb 0x1400ecd9a
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], al
mov eax, ecx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r8 + r11 + 1], al
and cl, 0x3f
or cl, 0x80
mov byte [r8 + r11 + 2], cl
mov ecx, 3
jmp 0x1400ecdc0
cmp r15b, 0xa6
je 0x1400ece38
movzx r8d, r15b
movzx r9d, sil
cmp r8d, 0xa1
jne 0x1400ece58
lea rcx, [0x141192b28]
jmp 0x1400ece72
add rcx, r10
cmp ecx, 0x360
jae 0x1400ece12
mov r10d, 0x3b
xor r9d, r9d
mov esi, 0x3b
nop word [rax + rax]
shr r10, 1
add r10, r9
lea r8, [0x141192d34]
movzx edi, word [r8 + r10*2]
cmp di, cx
je 0x1400eceac
lea r8, [r10 + 1]
cmp di, cx
cmova rsi, r10
cmovb r9, r8
mov r10, rsi
sub r10, r9
ja 0x1400ecd20
lea r8, [r9 - 1]
cmp r8, 0x3b
jae 0x1400edc58
lea r8, [0x141192cbe]
add cx, word [r8 + r9*2 - 2]
lea r8, [0x141192d34]
sub cx, word [r8 + r9*2 - 2]
jmp 0x1400eceb8
lea rax, [0x141199c8e]
movzx eax, word [rax + r9*2]
movzx ecx, ax
cmp ecx, 0x800
jae 0x1400ecc9c
mov ecx, eax
shr ecx, 6
or cl, 0xc0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], cl
and al, 0x3f
or al, 0x80
mov byte [r8 + r11 + 1], al
mov ecx, 2
nop dword [rax]
mov rax, r10
add r11, rcx
mov qword [rsp + 0x38], r11
cmp rax, rbp
jae 0x1400ed6f1
lea rcx, [r11 + 3]
cmp rcx, qword [rsp + 0x30]
jae 0x1400ed4bb
movzx r15d, byte [r13 + rax]
inc rax
mov r10, rax
test r15b, r15b
js 0x1400ec90c
jmp 0x1400ed1d8
lea rcx, [0x141192eb6]
movzx r9d, word [rcx + r10*2]
movzx ecx, r9w
jmp 0x1400ecbe6
lea r10, [rcx - 0x22db]
cmp r10, 0x65
jae 0x1400edc42
lea r8, [0x141192dac]
movzx ecx, word [r8 + rcx*2 - 0x45b6]
jmp 0x1400ecbe6
add r9b, 0x20
cmp r9b, 0x16
jae 0x1400ecf23
movzx ecx, r9b
lea r8, [0x141192be4]
movzx ecx, word [r8 + rcx*2]
jmp 0x1400ece77
cmp cl, 0x27
jne 0x1400ecf29
cmp sil, 0x20
jae 0x1400ecf29
lea rcx, [0x141192e76]
movzx ecx, word [rcx + r9*2]
cmp ecx, 0x800
jae 0x1400ecbe3
mov r8d, ecx
shr r8d, 6
or r8b, 0xc0
mov r9, qword [rsp + 0x28]
mov byte [r9 + r11], r8b
and cl, 0x3f
or cl, 0x80
mov byte [r9 + r11 + 1], cl
mov ecx, 2
jmp 0x1400ecdc3
lea rcx, [0x141192cbe]
movzx ecx, word [rcx + r10*2]
movzx r9d, cx
cmp r9d, 0x800
jae 0x1400eceee
mov r8d, ecx
shr r8d, 6
or r8b, 0xc0
mov r9, qword [rsp + 0x28]
mov byte [r9 + r11], r8b
and cl, 0x3f
or cl, 0x80
mov byte [r9 + r11 + 1], cl
mov ecx, 2
jmp 0x1400ecdc3
mov ecx, r9d
shr ecx, 0xc
or cl, 0xe0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], cl
mov ecx, r9d
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r8 + r11 + 1], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r8 + r11 + 2], r9b
jmp 0x1400ecc19
movzx r9d, sil
jmp 0x1400ecf7d
cmp cl, 0x76
jbe 0x1400ecf7d
add r15b, 8
movzx ecx, r15b
imul rcx, rcx, 0x5e
add rcx, r9
add rcx, 0xe234
movzx r8d, cx
shr r8d, 0xc
or r8b, 0xe0
mov r9, qword [rsp + 0x28]
mov byte [r9 + r11], r8b
mov r8d, ecx
shr r8d, 6
and r8b, 0x3f
or r8b, 0x80
mov byte [r9 + r11 + 1], r8b
and cl, 0x3f
or cl, 0x80
mov byte [r9 + r11 + 2], cl
jmp 0x1400ecc19
add r15b, 0x5e
movzx ecx, r15b
imul ecx, ecx, 0x5e
add r9d, ecx
mov r10d, 0x2b
xor ecx, ecx
mov esi, 0x2b
nop dword [rax + rax]
shr r10, 1
add r10, rcx
lea r8, [0x141192c66]
movzx edi, word [r8 + r10*2]
cmp di, r9w
je 0x1400ecffa
lea r8, [r10 + 1]
cmp di, r9w
cmova rsi, r10
cmovb rcx, r8
mov r10, rsi
sub r10, rcx
ja 0x1400ecfa0
lea r8, [rcx - 1]
cmp r8, 0x2b
jae 0x1400edc72
lea r8, [0x141192c10]
add r9w, word [r8 + rcx*2 - 2]
lea r8, [0x141192c66]
sub r9w, word [r8 + rcx*2 - 2]
jmp 0x1400ed006
lea rcx, [0x141192c10]
movzx r9d, word [rcx + r10*2]
movzx ecx, r9w
cmp ecx, 0x800
jae 0x1400ecbe6
mov ecx, r9d
shr ecx, 6
or cl, 0xc0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r8 + r11 + 1], r9b
mov ecx, 2
jmp 0x1400ecdc3
test rdi, rdi
je 0x1400ed183
movzx r15d, byte [r11]
test r15b, r15b
js 0x1400ed225
mov byte [rsi], r15b
mov r14d, 1
cmp edi, 1
mov rcx, qword [rsp + 0x20]
je 0x1400ed186
movzx r15d, byte [r11 + 1]
test r15b, r15b
js 0x1400ed246
mov byte [rsi + 1], r15b
mov r14d, 2
cmp edi, 2
mov rcx, qword [rsp + 0x20]
je 0x1400ed186
movzx r15d, byte [r11 + 2]
test r15b, r15b
js 0x1400ed246
mov byte [rsi + 2], r15b
mov r14d, 3
cmp edi, 3
mov rcx, qword [rsp + 0x20]
je 0x1400ed186
movzx r15d, byte [r11 + 3]
test r15b, r15b
js 0x1400ed246
mov byte [rsi + 3], r15b
mov r14d, 4
cmp edi, 4
mov rcx, qword [rsp + 0x20]
je 0x1400ed186
movzx r15d, byte [r11 + 4]
test r15b, r15b
js 0x1400ed246
mov byte [rsi + 4], r15b
mov r14d, 5
cmp edi, 5
mov rcx, qword [rsp + 0x20]
je 0x1400ed186
movzx r15d, byte [r11 + 5]
test r15b, r15b
js 0x1400ed246
mov byte [rsi + 5], r15b
mov r14d, 6
cmp edi, 6
mov rcx, qword [rsp + 0x20]
je 0x1400ed186
movzx r15d, byte [r11 + 6]
test r15b, r15b
js 0x1400ed246
mov byte [rsi + 6], r15b
mov r14d, 7
mov rcx, qword [rsp + 0x20]
jmp 0x1400ed186
cmp r15b, 0x80
jne 0x1400ed4ae
mov rax, qword [rsp + 0x28]
mov word [rax + r11], 0x82e2
mov byte [rax + r11 + 2], 0xac
add r11, 3
mov rcx, r11
mov rax, r10
mov qword [rsp + 0x38], rcx
mov r8, qword [rsp + 0x30]
cmp rax, rbp
jbe 0x1400ec83d
jmp 0x1400edcb5
xor r14d, r14d
lea rdi, [r12 - 0x10]
lea r15, [rcx + r13]
add r15, 8
nop word cs:[rax + rax]
mov rbp, qword [r11 + r14]
mov rbx, qword [r11 + r14 + 8]
mov qword [r15 + r14 - 8], rbp
mov qword [r15 + r14], rbx
movabs r13, 0x8080808080808080
and rbp, r13
and rbx, r13
mov r13, rbx
or r13, rbp
jne 0x1400ed201
add r14, 0x10
cmp r14, rdi
jbe 0x1400ed1a0
jmp 0x1400ec896
mov rcx, qword [rsp + 0x28]
mov byte [rcx + r11], r15b
mov rcx, qword [rsp + 0x38]
inc rcx
mov qword [rsp + 0x38], rcx
mov r8, qword [rsp + 0x30]
cmp rax, rbp
jbe 0x1400ec83d
jmp 0x1400edcb5
test rbp, rbp
mov r13, r8
je 0x1400ed235
tzcnt r9, rbp
shr r9d, 3
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
lea rbx, [0x14119571a]
jmp 0x1400ed272
xor r14d, r14d
mov r12, qword [rsp + 0x40]
mov r13, r8
jmp 0x1400ec8dc
test rbx, rbx
mov r12, qword [rsp + 0x40]
je 0x1400ed258
tzcnt r9, rbx
jmp 0x1400ed25e
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov r13, r8
jmp 0x1400ec8d5
mov r9d, 0x40
mov rbp, qword [rsp + 0x48]
lea rbx, [0x14119571a]
shr r9d, 3
add r9, 8
add r14, r9
movzx r15d, byte [r11 + r14]
jmp 0x1400ec8dc
xor r11d, r11d
movzx edi, byte [rdx + 8]
test dil, dil
je 0x1400ec827
test rbp, rbp
je 0x1400ed34c
lea rax, [r11 + 3]
cmp rax, r8
jae 0x1400ed3a2
mov qword [rsp + 0x20], rax
movzx r9d, byte [rdx + 9]
movzx r10d, r9b
movzx eax, byte [rdx + 0xa]
xor esi, esi
jmp 0x1400ed2cc
inc rsi
cmp rbp, rsi
je 0x1400ed34c
movzx r15d, byte [r13 + rsi]
cmp dil, 1
je 0x1400ed310
movzx edi, dil
cmp edi, 2
jne 0x1400ed3c4
mov byte [rdx + 8], 0
add r15b, 0x7f
cmp r15b, 0x7d
ja 0x1400ed3fc
mov byte [rdx + 8], 3
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], al
mov byte [rdx + 0xb], r15b
mov dil, 3
jmp 0x1400ed2c0
mov byte [rdx + 8], 0
lea eax, [r15 - 0x30]
cmp al, 9
ja 0x1400ed41c
mov byte [rdx + 8], 2
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], al
mov dil, 2
jmp 0x1400ed2c0
mov byte [r12 + 8], 1
mov qword [r12], 0
mov qword [r12 + 0x10], 0
jmp 0x1400ed71e
cmp byte [rsp + 0xd0], 0
je 0x1400ed3b5
mov byte [rdx + 8], 0
mov byte [r12 + 8], 2
mov byte [r12 + 9], dil
mov byte [r12 + 0xa], 0
jmp 0x1400ed3bb
xor edx, edx
cmp r10, r9
setb dl
add rax, r12
mov r11, qword [rsp + 0x20]
add r11, r12
mov r12, qword [rsp + 0x40]
lea rcx, [rsp + 0x28]
and rcx, 0xffffffffffffff00
or rcx, rdx
mov qword [r12], rax
mov qword [r12 + 8], rcx
jmp 0x1400ed719
mov byte [r12 + 8], 1
mov qword [r12], 0
jmp 0x1400ed719
mov byte [r12 + 8], 0
mov qword [r12], rbp
jmp 0x1400ed719
movzx r9d, byte [rdx + 0xb]
mov byte [rdx + 8], 0
add r15b, 0xd0
cmp r15b, 9
jbe 0x1400ed4c6
add al, 0x30
mov byte [rdx + 6], 1
mov byte [rdx + 7], al
mov byte [rdx + 8], 1
mov byte [rdx + 9], r9b
mov word [r12 + 8], 0x102
mov byte [r12 + 0xa], 2
jmp 0x1400ed413
add al, 0x30
mov byte [rdx + 6], 1
mov byte [rdx + 7], al
mov word [r12 + 8], 0x102
mov byte [r12 + 0xa], 1
mov qword [r12], rsi
jmp 0x1400ed719
lea rax, [rsi + 1]
cmp r9b, 0x1f
jbe 0x1400ed521
lea edi, [r15 + 0x5f]
cmp dil, 0x5e
jae 0x1400ed6a2
lea esi, [r9 - 0x2f]
cmp sil, 0x48
jae 0x1400ed825
movzx r9d, sil
imul r9, r9, 0x5e
movzx r10d, dil
add r10, r9
lea r9, [0x141196612]
movzx r9d, word [r9 + r10*2]
mov r10d, r9d
shr r10d, 0xc
or r10b, 0xe0
mov byte [r14 + r11], r10b
mov r10d, r9d
shr r10d, 6
and r10b, 0x3f
or r10b, 0x80
mov byte [r14 + r11 + 1], r10b
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 2], r9b
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x38], rcx
jmp 0x1400ec82c
cmp byte [rsp + 0xd0], 0
je 0x1400ed5c3
mov word [r12 + 8], 0x102
jmp 0x1400ed70f
mov byte [r12 + 8], 1
jmp 0x1400ed6f7
movzx r9d, r9b
inc rsi
imul r10, r10, 0x3138
movzx eax, al
imul rax, rax, 0x4ec
add rax, r10
lea r9, [r9 + r9*4]
movzx r10d, r15b
add r10, rax
lea rax, [r10 + r9*2]
cmp rax, 0x99fc
jae 0x1400ed64b
cmp eax, 0x1d21
jne 0x1400ed7a9
mov word [r14 + r11], 0x9fee
mov byte [r14 + r11 + 2], 0x87
mov rax, rsi
mov rcx, qword [rsp + 0x20]
jmp 0x1400ec82c
lea r9d, [r15 - 0x40]
cmp r9b, 0x3e
jbe 0x1400ed53c
cmp r15b, 0xfe
jg 0x1400ed6ba
add r15b, 0xbf
mov r9d, r15d
mov rcx, rbp
movzx r10d, r10w
imul r10d, r10d, 0xbe
movzx r9d, r9b
add r9d, r10d
mov edi, 0x77c
xor r10d, r10d
lea rsi, [0x14119571a]
mov r15d, 0x77c
shr rdi, 1
add rdi, r10
movzx ebp, word [rsi + rdi*2]
cmp bp, r9w
je 0x1400ed732
lea rbx, [rdi + 1]
cmp bp, r9w
cmova r15, rdi
cmovb r10, rbx
mov rdi, r15
sub rdi, r10
ja 0x1400ed566
lea rdi, [r10 - 1]
cmp rdi, 0x77c
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
jae 0x1400edbf4
lea rdi, [0x141194822]
add r9w, word [rdi + r10*2 - 2]
sub r9w, word [rsi + r10*2 - 2]
jmp 0x1400ed746
mov byte [rdx + 8], 1
mov byte [rdx + 9], cl
mov byte [r12 + 8], 0
jmp 0x1400ed715
cmp byte [rsp + 0xd0], 0
je 0x1400ed6d6
mov word [r12 + 8], 0x202
jmp 0x1400ed61e
mov byte [rdx + 6], 1
mov byte [rdx + 7], r9b
mov word [r12 + 8], 0x102
mov byte [r12 + 0xa], 1
jmp 0x1400ed6f7
cmp byte [rsp + 0xd0], 0
je 0x1400ed6e3
mov word [r12 + 8], 0x302
mov byte [r12 + 0xa], 0
jmp 0x1400ed6f7
mov byte [rdx + 6], 1
mov byte [rdx + 7], r9b
mov byte [rdx + 8], 1
mov byte [rdx + 9], bl
mov word [r12 + 8], 0x102
mov byte [r12 + 0xa], 2
jmp 0x1400ed6f7
lea rcx, [rax - 0x2e248]
cmp rcx, 0x100000
jae 0x1400ed812
add eax, 0xfffe1db8
mov ecx, eax
shr ecx, 0x12
or cl, 0xf0
mov byte [r14 + r11], cl
mov ecx, eax
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [r14 + r11 + 1], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r14 + r11 + 2], cl
and al, 0x3f
or al, 0x80
mov byte [r14 + r11 + 3], al
or r11, 4
jmp 0x1400ed8a3
lea r10d, [r15 - 0x40]
cmp r10b, 0x3e
jbe 0x1400ed8ef
cmp r15b, 0xa0
jle 0x1400ed8e8
mov byte [r12 + 8], 2
test r15b, r15b
js 0x1400ed79c
mov word [r12 + 9], 1
jmp 0x1400ed413
mov byte [rdx + 8], 2
mov byte [rdx + 9], cl
mov byte [rdx + 0xa], sil
jmp 0x1400ed6f1
mov byte [rdx + 8], 3
mov byte [rdx + 9], cl
mov byte [rdx + 0xa], sil
mov byte [rdx + 0xb], bl
mov byte [r12 + 8], 0
mov qword [r12], rax
jmp 0x1400ed719
mov edx, 1
jmp 0x1400ed385
mov word [r12 + 8], 0x402
mov byte [r12 + 0xa], 0
mov qword [r12], r10
mov qword [r12 + 0x10], r11
mov rax, r12
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r9, [0x141194822]
movzx r9d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r9d, r9w
mov r10d, r9d
shr r10d, 0xc
or r10b, 0xe0
mov byte [r14 + r11], r10b
mov r10d, r9d
shr r10d, 6
and r10b, 0x3f
or r10b, 0x80
mov byte [r14 + r11 + 1], r10b
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 2], r9b
mov qword [rsp + 0x38], rcx
jmp 0x1400ec82c
mov byte [r12 + 8], 2
test r9b, r9b
js 0x1400ed79c
mov word [r12 + 9], 1
jmp 0x1400ed715
mov word [r12 + 9], 2
jmp 0x1400ed6f7
mov rcx, rbp
mov edi, 0xce
xor r9d, r9d
lea r10, [0x141199af2]
mov r15d, 0xce
shr rdi, 1
add rdi, r9
movzx ebp, word [r10 + rdi*2]
cmp bp, ax
je 0x1400ed86a
lea rbx, [rdi + 1]
cmp bp, ax
cmova r15, rdi
cmovb r9, rbx
mov rdi, r15
sub rdi, r9
ja 0x1400ed7c1
lea rdi, [r9 - 1]
cmp rdi, 0xce
jae 0x1400edc0e
lea rdi, [0x141199c8e]
add ax, word [rdi + r9*2 - 2]
sub ax, word [r10 + r9*2 - 2]
jmp 0x1400ed875
mov word [r12 + 8], 0x402
mov byte [r12 + 0xa], 0
jmp 0x1400ed413
cmp r10d, 0x27
je 0x1400eda52
cmp r10d, 0x25
je 0x1400eda65
cmp r10d, 0x20
jne 0x1400eda95
movzx r9d, dil
lea r10, [0x141192b28]
movzx r9d, word [r10 + r9*2]
cmp r9d, 0x800
mov rcx, qword [rsp + 0x20]
jae 0x1400ed746
jmp 0x1400edb92
lea rax, [0x141199c8e]
movzx eax, word [rax + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r9d, ax
cmp r9d, 0x800
jae 0x1400ed8b3
mov ecx, eax
shr ecx, 6
or cl, 0xc0
mov byte [r14 + r11], cl
and al, 0x3f
or al, 0x80
mov byte [r14 + r11 + 1], al
or r11, 2
mov qword [rsp + 0x38], r11
mov rcx, r11
mov rax, rsi
jmp 0x1400ec82c
mov eax, r9d
shr eax, 0xc
or al, 0xe0
mov byte [r14 + r11], al
mov eax, r9d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + r11 + 1], al
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 2], r9b
mov qword [rsp + 0x38], rcx
mov rax, rsi
jmp 0x1400ec82c
add r15b, 0xbf
mov r10d, r15d
add r9b, 0xe0
movzx r9d, r9b
lea r9, [r9 + r9*2]
shl r9, 5
movzx esi, r10b
lea r10, [r9 + rsi]
add r10, 0xfffffffffffffca0
cmp r10, 0x1f7b
jae 0x1400ed990
mov rcx, rbp
mov edi, 0x65b
xor r9d, r9d
lea rsi, [0x141193b6c]
mov r15d, 0x65b
shr rdi, 1
add rdi, r9
movzx ebp, word [rsi + rdi*2]
cmp bp, r10w
je 0x1400eda0a
lea rbx, [rdi + 1]
cmp bp, r10w
cmova r15, rdi
cmovb r9, rbx
mov rdi, r15
sub rdi, r9
ja 0x1400ed92f
lea rdi, [r9 - 1]
cmp rdi, 0x65b
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
jae 0x1400edc28
lea rdi, [0x141192eb6]
add r10w, word [rdi + r9*2 - 2]
sub r10w, word [rsi + r9*2 - 2]
movzx r9d, r10w
jmp 0x1400ed74a
add r9, rsi
cmp r9d, 0x360
jae 0x1400eda27
mov rcx, rbp
mov edi, 0x3b
xor r10d, r10d
lea rsi, [0x141192d34]
mov r15d, 0x3b
shr rdi, 1
add rdi, r10
movzx ebp, word [rsi + rdi*2]
cmp bp, r9w
je 0x1400edb34
lea rbx, [rdi + 1]
cmp bp, r9w
cmova r15, rdi
cmovb r10, rbx
mov rdi, r15
sub rdi, r10
ja 0x1400ed9b8
lea rdi, [r10 - 1]
cmp rdi, 0x3b
jae 0x1400edc58
lea rdi, [0x141192cbe]
add r9w, word [rdi + r10*2 - 2]
sub r9w, word [rsi + r10*2 - 2]
jmp 0x1400edb40
lea r9, [0x141192eb6]
movzx r10d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r9d, r10w
jmp 0x1400ed74a
lea rsi, [r9 - 0x22db]
cmp rsi, 0x65
mov rcx, qword [rsp + 0x20]
jae 0x1400edc8c
lea r10, [0x141192dac]
movzx r9d, word [r10 + r9*2 - 0x45b6]
jmp 0x1400ed74a
cmp dil, 0x20
jae 0x1400edabe
movzx r9d, dil
lea r10, [0x141192e76]
jmp 0x1400eda7a
add r15b, 0x20
cmp r15b, 0x15
ja 0x1400edabe
movzx r9d, r15b
lea r10, [0x141192be4]
movzx r9d, word [r10 + r9*2]
cmp r9d, 0x800
jb 0x1400edb92
movzx r9d, r9w
jmp 0x1400ed461
cmp r9b, 0x76
jbe 0x1400edabe
add r9b, 0x89
movzx r9d, r9b
imul r9d, r9d, 0x5e
movzx r10d, dil
add r9d, r10d
add r9d, 0xffffe234
movzx r10d, r9w
jmp 0x1400ed464
mov rcx, rbp
add r9b, 0xdf
movzx r9d, r9b
imul r10d, r9d, 0x5e
movzx r9d, dil
add r9d, r10d
mov edi, 0x2b
xor r10d, r10d
lea rsi, [0x141192c66]
mov r15d, 0x2b
shr rdi, 1
add rdi, r10
movzx ebp, word [rsi + rdi*2]
cmp bp, r9w
je 0x1400edb71
lea rbx, [rdi + 1]
cmp bp, r9w
cmova r15, rdi
cmovb r10, rbx
mov rdi, r15
sub rdi, r10
ja 0x1400edae9
lea rdi, [r10 - 1]
cmp rdi, 0x2b
jae 0x1400edc72
lea rdi, [0x141192c10]
add r9w, word [rdi + r10*2 - 2]
sub r9w, word [rsi + r10*2 - 2]
jmp 0x1400edb7d
lea r9, [0x141192cbe]
movzx r9d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r10d, r9w
cmp r10d, 0x800
jae 0x1400edbba
mov ecx, r9d
shr ecx, 6
or cl, 0xc0
mov byte [r14 + r11], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 1], r9b
jmp 0x1400edbac
lea r9, [0x141192c10]
movzx r9d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r10d, r9w
cmp r10d, 0x800
jae 0x1400edbba
mov ecx, r9d
shr ecx, 6
or cl, 0xc0
mov byte [r14 + r11], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 1], r9b
or r11, 2
mov qword [rsp + 0x38], r11
jmp 0x1400ec829
mov r9d, r10d
shr r9d, 0xc
or r9b, 0xe0
mov byte [r14 + r11], r9b
mov r9d, r10d
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 1], r9b
and r10b, 0x3f
or r10b, 0x80
mov byte [r14 + r11 + 2], r10b
mov qword [rsp + 0x38], rcx
jmp 0x1400ec82c
lea r8, [0x1411b1110]
mov edx, 0x77c
mov rcx, 0xffffffffffffffff
call fcn.1401d9280
ud2
lea r8, [0x1411b1110]
mov edx, 0xce
mov rcx, 0xffffffffffffffff
call fcn.1401d9280
ud2
lea r8, [0x1411b1110]
mov edx, 0x65b
mov rcx, 0xffffffffffffffff
call fcn.1401d9280
ud2
lea r8, [0x1411b11c0]
mov edx, 0x65
mov rcx, r10
call fcn.1401d9280
ud2
lea r8, [0x1411b1110]
mov edx, 0x3b
mov rcx, 0xffffffffffffffff
call fcn.1401d9280
ud2
lea r8, [0x1411b1110]
mov edx, 0x2b
mov rcx, 0xffffffffffffffff
call fcn.1401d9280
ud2
lea r8, [0x1411b11c0]
mov edx, 0x65
mov rcx, rsi
call fcn.1401d9280
ud2
lea r8, [0x1411b1190]
mov rdx, qword [rsp + 0x50]
call fcn.1401d9630
ud2
lea r8, [0x1411b11a8]
mov rcx, rax
mov rdx, rbp
call fcn.1401d9630
ud2