Function at 0x14002cedd
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
xor r12d, r12d
xor edi, edi
mov r13d, 1
xor ebp, ebp
lea r14, [0x1400feea4]
mov rbx, rcx
mov r15, rdx
mov esi, r8d
mov al, byte [r15]
test al, al
je 0x14002dea4
cmp edi, r12d
jae 0x14002cf44
cmp edi, 3
ja case.0x14002cf6b.12
mov rcx, qword [0x1401e1c30]
movzx edx, al
test byte [rcx + rdx*2], 0x80
je case.0x14002cf6b.12
mov edx, edi
inc edi
mov byte [rsp + rdx + 0x2c], al
jmp 0x14002de6e
cmp al, 0x7d
jg case.0x14002cf6b.9
cmp al, 0x3f
jg 0x14002cf5a
cmp al, 0x21
je 0x14002de55
cmp al, 0x25
je 0x14002cf89
jmp case.0x14002cf6b.9
sub eax, 0x40
cmp al, 0x3d
ja case.0x14002cf6b.9
movzx eax, al
movsxd rax, dword [r14 + rax*4]
add rax, r14
jmp rax
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov dl, byte [r15]
mov byte [rax], dl
jmp 0x14002de64
inc r12d
jmp 0x14002de64
cmp byte [rbx + 0x188], 0
je 0x14002de64
mov al, byte [r15 + 1]
inc r15
cmp al, 0x7c
je 0x14002cfba
cmp al, 0x7d
je case.0x14002cf6b.12
test al, al
jne 0x14002cf9e
jmp case.0x14002cf6b.12
mov ebp, 1
jmp 0x14002de64
test al, al
je case.0x14002cf6b.12
mov al, byte [r15 + 1]
inc r15
cmp al, 0x7d
jne 0x14002cfc4
jmp 0x14002de64
cmp byte [rbx + 0x188], 0
jne 0x14002de64
cmp byte [rbx + 0xa], 0
je 0x14002cff8
cmp dword [rbx + 0xe8], 3
jne 0x14002d004
test esi, 4
je 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x62
jmp 0x14002de64
test edi, edi
jne 0x14002d055
cmp byte [rbx + 0x188], 0
jne 0x14002de64
test esi, 4
je 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x62
jmp 0x14002de64
cmp edi, 1
jne case.0x14002cf6b.12
cmp byte [rsp + 0x2c], 0x4c
jne case.0x14002cf6b.12
movabs rax, 0x400ffffffff
and rax, qword [rbx]
cmp rax, 2
jne 0x14002d022
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x61
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x62
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x73
jmp 0x14002d022
mov cl, byte [rbx + 0x188]
test cl, cl
je 0x14002d0d2
test ebp, ebp
je 0x14002de5e
mov eax, dword [rbx + 4]
mov edx, esi
and edx, 4
and eax, 0x200
or eax, edx
je 0x14002de64
cmp cl, 1
mov rdx, qword [rbx + 0x98]
sbb eax, eax
test esi, 1
je 0x14002d103
and eax, 8
add eax, 0x64
jmp 0x14002d109
and eax, 0xfffffffc
add eax, 0x77
lea rcx, [rdx + 1]
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
cmp edi, 1
jne 0x14002d172
cmp byte [rsp + 0x2c], 0x58
jne case.0x14002cf6b.12
cmp byte [rbx + 0x115], 0
je 0x14002d144
cmp byte [rbx + 0x114], 0
je 0x14002d15e
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x64
jmp 0x14002de64
lea rdx, [0x1400fee9c]
mov rcx, rbx
call fcn.14002c696
jmp 0x14002de64
test edi, edi
je 0x14002d17b
call sub.msvcrt.dll_abort
cmp byte [rbx + 0x188], 0
jne 0x14002de64
test esi, 4
je 0x14002de64
mov al, byte [rbx + 8]
and al, 8
je 0x14002d19f
or byte [rbx + 9], 0x48
mov rdx, qword [rbx + 0x98]
cmp dword [rbx + 0xe8], 3
lea rcx, [rdx + 1]
jne 0x14002d1ef
test al, al
je 0x14002d1c6
mov qword [rbx + 0x98], rcx
mov byte [rdx], 0x71
jmp 0x14002de64
mov eax, esi
mov qword [rbx + 0x98], rcx
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 0xb
add eax, 0x6c
mov byte [rdx], al
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
mov qword [rbx + 0x98], rcx
mov byte [rdx], 0x77
jmp 0x14002de64
cmp edi, 1
jne 0x14002d337
cmp byte [rsp + 0x2c], 0x58
jne case.0x14002cf6b.12
cmp byte [rbx + 0x115], 0
je 0x14002de64
cmp byte [rbx + 0x119], 0
jne 0x14002de64
cmp dword [rbx + 0x110], 1
jg 0x14002de64
cmp byte [rbx + 0x116], 0
je 0x14002de64
cmp dword [rbx + 0xe8], 3
jne 0x14002d259
test byte [rbx + 8], 2
jne 0x14002de64
cmp byte [rbx + 0x117], 0
je 0x14002de64
cmp dword [rbx + 0x10c], 0
jne 0x14002de64
cmp byte [rbx + 0x114], 0
je 0x14002d29f
lea rcx, [r15 + 1]
mov edx, 0x25
call sub.msvcrt.dll_strchr
test rax, rax
je 0x14002d29f
cmp byte [rax + 1], 0x44
jne 0x14002d29f
cmp byte [rax + 2], 0x51
je 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x7b
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x65
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x76
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x65
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x78
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x7d
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x20
jmp 0x14002de64
mov edx, esi
and edx, 2
cmp dword [rbx], 2
jne 0x14002d35c
mov rax, qword [rbx + 0x98]
lea rcx, [rax + 1]
mov qword [rbx + 0x98], rcx
test edx, edx
je 0x14002d372
mov byte [rax], 0x72
jmp 0x14002d375
test edx, edx
je 0x14002d375
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x65
mov eax, dword [rbx + 4]
and eax, 0x400
or dword [rbx + 0x10], eax
jmp 0x14002de64
cmp byte [rbx + 0x188], 0
jne 0x14002de64
mov eax, dword [rbx + 4]
mov edx, esi
and edx, 4
and eax, 0x400
or eax, edx
je 0x14002de64
test esi, 2
mov edx, dword [rbx]
mov rax, qword [rbx + 0x98]
je 0x14002d3c4
cmp edx, 2
sete dl
lea edx, [rdx + rdx*4 + 0x6c]
jmp 0x14002d3ce
cmp edx, 2
mov cl, 0x6c
mov dl, 0x77
cmove edx, ecx
lea rcx, [rax + 1]
mov qword [rbx + 0x98], rcx
mov byte [rax], dl
mov eax, dword [rbx + 4]
and eax, 0x400
or dword [rbx + 0x10], eax
jmp 0x14002de64
cmp byte [rbx + 0x188], 0
jne 0x14002de64
mov rdx, qword [rbx + 0x98]
cmp byte [rdx - 1], 0x73
je 0x14002d411
test esi, 4
je 0x14002de64
lea rcx, [rdx + 1]
mov al, 0x6c
test byte [rbx + 8], 8
jne 0x14002d42d
mov eax, esi
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 0xb
add eax, 0x6c
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
test byte [rbx + 8], 8
jne 0x14002de64
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
test edi, edi
jne 0x14002d4e8
cmp byte [rbx + 0x188], 0
jne 0x14002de64
mov eax, dword [rbx + 4]
mov edx, 0x10010
and eax, 0x14
bt rdx, rax
jae 0x14002de64
or dword [rbx + 0x10], eax
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x2c
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x70
test byte [rbx + 4], 0x10
mov rax, qword [rbx + 0x98]
je 0x14002d4ce
lea rdx, [rax + 1]
mov byte [rbx + 0xd0], 0x10
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x74
jmp 0x14002de64
lea rdx, [rax + 1]
mov byte [rbx + 0xd0], 4
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x6e
jmp 0x14002de64
cmp edi, 1
jne case.0x14002cf6b.12
cmp byte [rsp + 0x2c], 0x58
jne case.0x14002cf6b.12
cmp byte [rbx + 0x114], 0
jne 0x14002d51f
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x68
jmp 0x14002de64
lea rdx, [0x1400fee9c]
mov rcx, rbx
call fcn.14002c696
jmp 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
test byte [rbx + 8], 8
je 0x14002d557
or byte [rbx + 9], 0x48
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x71
jmp 0x14002de64
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x64
jmp 0x14002de64
movzx eax, byte [rbx + 0x189]
cmp eax, r13d
je 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x72
jmp 0x14002de64
test byte [rbx + 5], 8
jne 0x14002d5b0
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x6e
jmp 0x14002de64
or dword [rbx + 0x10], 0x800
jmp 0x14002de64
mov rdx, qword [rbx + 0x98]
lea rcx, [rdx + 1]
test byte [rbx + 8], 8
jne 0x14002d5ea
cmp byte [rbx + 0x188], 0
mov al, 0x64
je 0x14002d5f0
mov eax, esi
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x71
jmp 0x14002d5f0
or byte [rbx + 9], 0x48
mov al, 0x6f
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
test byte [rbx + 8], 8
jne 0x14002de64
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
cmp dword [rbx], 2
jne case.0x14002cf6b.16
cmp dword [rbx + 0x190], 2
je 0x14002d62d
test byte [rbx + 8], 8
jne 0x14002d62d
test byte [rbx + 5], 2
jne case.0x14002cf6b.16
test esi, 4
je 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x71
jmp 0x14002de64
test edi, edi
jne 0x14002d6e9
cmp dword [rbx + 0xe8], 3
je 0x14002d669
test r13d, r13d
jne case.0x14002cf6b.20
test esi, 4
je 0x14002de64
test byte [rbx + 8], 8
jne 0x14002d681
test byte [rbx + 5], 2
jne 0x14002d692
test esi, 4
je 0x14002de64
cmp dword [rbx], 2
je 0x14002d6cf
mov al, 0x77
test esi, 1
je 0x14002d6ab
cmp byte [rbx + 0x188], 1
sbb eax, eax
and eax, 8
add eax, 0x64
mov rdx, qword [rbx + 0x98]
lea rcx, [rdx + 1]
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x71
jmp 0x14002de64
cmp edi, 1
jne case.0x14002cf6b.12
cmp byte [rsp + 0x2c], 0x4c
jne case.0x14002cf6b.12
mov al, byte [rbx + 8]
and eax, 8
test byte [rbx + 5], 2
jne 0x14002d71a
test al, al
jne 0x14002d744
test esi, 4
jne 0x14002d71e
jmp 0x14002de64
test al, al
jne 0x14002d744
mov rdx, qword [rbx + 0x98]
mov al, 0x77
lea rcx, [rdx + 1]
test esi, 1
je 0x14002d762
cmp byte [rbx + 0x188], 1
sbb eax, eax
and eax, 8
add eax, 0x64
jmp 0x14002d762
mov rax, qword [rbx + 0x98]
or byte [rbx + 9], 0x48
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x71
jmp 0x14002de64
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
test edi, edi
jne 0x14002d80a
mov r8b, byte [rbx + 0x188]
test ebp, ebp
jne 0x14002d797
test r8b, r8b
jne 0x14002de62
mov al, byte [rbx + 8]
and al, 8
je 0x14002d7a2
or byte [rbx + 9], 0x48
cmp byte [rbx + 0xa], 0
je 0x14002d7b1
cmp dword [rbx + 0xe8], 3
jne 0x14002d7bd
test esi, 4
je 0x14002de64
mov rdx, qword [rbx + 0x98]
lea rcx, [rdx + 1]
test al, al
je 0x14002d7db
mov qword [rbx + 0x98], rcx
mov byte [rdx], 0x71
jmp 0x14002de64
mov al, 0x77
test esi, 1
je 0x14002d7f1
cmp r8b, 1
sbb eax, eax
and eax, 8
add eax, 0x64
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
cmp edi, 1
jne case.0x14002cf6b.12
mov al, byte [rsp + 0x2c]
cmp al, 0x44
jne 0x14002d843
cmp byte [rbx + 0x114], 1
mov rdx, qword [rbx + 0x98]
sbb eax, eax
and eax, 0xfffffff3
lea rcx, [rdx + 1]
add eax, 0x71
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
jmp 0x14002de64
cmp al, 0x4c
jne case.0x14002cf6b.12
test r13d, r13d
je 0x14002d867
cmp dword [rbx + 0xe8], 3
jne 0x14002d870
test esi, 4
je 0x14002de64
jmp 0x14002d870
cmp dword [rbx], 2
jne 0x14002de64
test byte [rbx + 8], 8
je 0x14002d894
mov rax, qword [rbx + 0x98]
or byte [rbx + 9], 0x48
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x71
jmp 0x14002de64
cmp dword [rbx], 2
jne 0x14002d89e
test r13d, r13d
jne 0x14002d8aa
test esi, 4
je 0x14002de64
cmp byte [rbx + 0x188], 1
mov rdx, qword [rbx + 0x98]
sbb eax, eax
and eax, 8
lea rcx, [rdx + 1]
add eax, 0x64
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
jmp 0x14002de64
mov rdx, qword [rbx + 0x98]
lea rcx, [rdx + 1]
test byte [rbx + 8], 8
jne 0x14002d8fe
mov al, 0x77
test esi, 1
je 0x14002d904
cmp byte [rbx + 0x188], 1
sbb eax, eax
and eax, 8
add eax, 0x64
jmp 0x14002d904
or byte [rbx + 9], 0x48
mov al, 0x71
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
cmp byte [rbx + 0x188], 0
mov al, byte [rbx + 8]
je 0x14002d951
cmp byte [r15 + 1], 0
jne 0x14002d951
test al, 8
jne 0x14002d93c
test esi, 1
jne 0x14002d93c
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x65
test byte [rbx + 8], 8
jne 0x14002de64
jmp 0x14002d92c
test edi, edi
jne 0x14002d9c3
cmp byte [rbx + 0x188], 0
jne 0x14002de64
test esi, 4
je 0x14002de64
mov rdx, qword [rbx + 0x98]
lea rcx, [rdx + 1]
test byte [rbx + 8], 8
je 0x14002d99a
mov qword [rbx + 0x98], rcx
mov byte [rdx], 0x71
jmp 0x14002de64
mov eax, esi
mov qword [rbx + 0x98], rcx
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 0xb
add eax, 0x6c
mov byte [rdx], al
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
cmp edi, 1
jne case.0x14002cf6b.12
mov al, byte [rsp + 0x2c]
cmp al, 0x4c
je 0x14002d9dd
cmp al, 0x58
je 0x14002d9f9
jmp case.0x14002cf6b.12
movabs rax, 0x400ffffffff
and rax, qword [rbx]
cmp rax, 2
jne 0x14002d961
jmp 0x14002daf0
cmp byte [rbx + 0x115], 0
je 0x14002da0b
cmp byte [rbx + 0x114], 0
jne 0x14002da25
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x73
jmp 0x14002de64
lea rdx, [0x1400fee9c]
mov rcx, rbx
call fcn.14002c696
jmp 0x14002de64
cmp edi, 1
jne case.0x14002cf6b.12
mov al, byte [rsp + 0x2c]
cmp al, 0x4c
je 0x14002dae6
cmp al, 0x58
jne case.0x14002cf6b.12
cmp byte [rbx + 0x115], 0
jne 0x14002d961
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x7b
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x76
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x65
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x78
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x7d
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x20
jmp 0x14002d961
test byte [rbx + 8], 8
je 0x14002d961
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x61
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x62
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x73
jmp 0x14002d961
test edi, edi
jne 0x14002db91
mov rdx, qword [rbx + 0x98]
lea rcx, [rdx + 1]
test byte [rbx + 8], 8
jne 0x14002db5b
mov eax, esi
and eax, 1
cmp eax, 1
sbb eax, eax
and eax, 0xffffffeb
add eax, 0x77
jmp 0x14002db6e
or byte [rbx + 9], 0x48
cmp byte [rbx + 0x188], 1
sbb eax, eax
and eax, 8
add eax, 0x64
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
test byte [rbx + 8], 8
jne 0x14002de64
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
cmp edi, 1
jne case.0x14002cf6b.12
cmp byte [rbx + 0xb], 0
je case.0x14002cf6b.12
mov al, byte [rsp + 0x2c]
cmp al, 0x58
jne 0x14002dbd4
cmp byte [rbx + 0x114], 1
mov rdx, qword [rbx + 0x98]
sbb eax, eax
and eax, 0xf
lea rcx, [rdx + 1]
add eax, 0x64
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
jmp 0x14002de64
cmp al, 0x42
jne case.0x14002cf6b.12
cmp byte [rbx + 0x114], 1
mov rdx, qword [rbx + 0x98]
sbb eax, eax
and eax, 0xffffffeb
lea rcx, [rdx + 1]
add eax, 0x77
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
jmp 0x14002de64
test edi, edi
jne case.0x14002cf6b.12
cmp byte [rbx + 0xb], 0
je 0x14002dc21
cmp dword [rbx + 0x108], 0x66
sete al
jmp 0x14002de76
mov eax, dword [rbx + 4]
shr eax, 9
and eax, 1
jmp 0x14002de76
cmp edi, 1
jne case.0x14002cf6b.12
cmp byte [rsp + 0x2c], 0x58
jne case.0x14002cf6b.12
cmp byte [rbx + 0xb], 0
je case.0x14002cf6b.12
cmp byte [rbx + 0x188], 0
jne 0x14002de64
cmp dword [rbx + 0xe8], 3
je 0x14002dc6c
cmp byte [rbx + 0x119], 0
je 0x14002dc78
test esi, 4
je 0x14002de64
mov eax, dword [rbx + 0x104]
cmp eax, 0x100
je 0x14002dcb1
cmp eax, 0x200
je 0x14002dccb
cmp eax, 0x80
jne case.0x14002cf6b.12
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x78
jmp 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x79
jmp 0x14002de64
cmp byte [rbx + 0x115], 0
jne 0x14002de64
jmp case.0x14002cf6b.12
test edi, edi
jne 0x14002dd27
cmp byte [rbx + 0x188], 0
mov dword [rbx + 0xe8], 3
jne 0x14002de64
test esi, 4
je 0x14002de64
mov rdx, qword [rbx + 0x98]
cmp dword [rbx], 2
sete al
lea eax, [rax + rax*4 + 0x6c]
lea rcx, [rdx + 1]
mov qword [rbx + 0x98], rcx
mov byte [rdx], al
jmp 0x14002de64
cmp edi, 1
jne case.0x14002cf6b.12
cmp byte [rsp + 0x2c], 0x58
jne case.0x14002cf6b.12
cmp byte [rbx + 0x115], 0
je case.0x14002cf6b.12
cmp byte [rbx + 0x188], 0
jne 0x14002de64
cmp dword [rbx + 0xe8], 3
je 0x14002dd67
cmp byte [rbx + 0x119], 0
je 0x14002dd73
test esi, 4
je 0x14002de64
mov eax, dword [rbx + 0x104]
cmp eax, 0x100
je 0x14002ddac
cmp eax, 0x200
je 0x14002ddc6
cmp eax, 0x80
jne case.0x14002cf6b.12
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x78
jmp 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x79
jmp 0x14002de64
mov rax, qword [rbx + 0x98]
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x7a
jmp 0x14002de64
cmp byte [rbx + 0x188], 0
jne 0x14002de64
cmp dword [rbx + 0x190], 2
jne 0x14002de13
test byte [rbx + 8], 8
je 0x14002de13
mov rax, qword [rbx + 0x98]
or byte [rbx + 9], 0x48
lea rdx, [rax + 1]
mov qword [rbx + 0x98], rdx
mov byte [rax], 0x71
jmp 0x14002de64
mov eax, dword [rbx + 4]
mov edx, esi
and edx, 4
and eax, 0x200
or eax, edx
je 0x14002de64
mov eax, esi
mov rdx, qword [rbx + 0x98]
and eax, 1
cmp eax, 1
lea rcx, [rdx + 1]
sbb eax, eax
mov qword [rbx + 0x98], rcx
and eax, 0xb
add eax, 0x6c
mov byte [rdx], al
mov eax, dword [rbx + 4]
and eax, 0x200
or dword [rbx + 0x10], eax
jmp 0x14002de64
xor r13d, r13d
jmp 0x14002de64
xor ebp, ebp
jmp 0x14002de64
xor ebp, ebp
jmp 0x14002de64
xor ebp, ebp
cmp edi, r12d
jne 0x14002de6e
xor r12d, r12d
xor edi, edi
inc r15
jmp 0x14002cf0a
mov rdx, qword [rbx + 0x98]
lea rcx, [rdx + 1]
test al, al
je 0x14002de98
mov qword [rbx + 0x98], rcx
mov byte [rdx], 0x64
or dword [rbx + 0x10], 0x200
jmp 0x14002de64
mov qword [rbx + 0x98], rcx
mov byte [rdx], 0x73
jmp 0x14002de64
mov rax, qword [rbx + 0x98]
mov byte [rax], 0
mov rax, qword [rbx + 0x98]
mov qword [rbx + 0xa0], rax
xor eax, eax
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret