Function at 0x180007030
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x180007443
cmp ecx, 0x7c
je 0x180007443
cmp ecx, 0x29
jne 0x180007086
cmp dword [rbx + 0x1c], 0
jne 0x180007443
cmp ecx, ecx
jne 0x180007086
test dword [rbx + 0x80], 0x10000000
je 0x180007463
jmp 0x1800073f4
cmp ecx, 0x2e
jne 0x18000709e
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.1800074f0
jmp 0x18000717b
cmp ecx, 0x5c
jne 0x18000715c
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800070f0
cmp byte [rcx], 0x5c
jne 0x1800070e9
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x1800070e9
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x1800070d7
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x1800070e6
test r8b, 0x10
jne 0x1800070e9
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x1800070e9
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180005d10
test byte [rbx + 0x80], 0x80
je 0x18000714f
movzx eax, byte [rbx + 0x78]
cmp al, 0x62
jne 0x180007124
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.1800074f0
mov rcx, rbx
call fcn.180006fe0
jmp 0x180007435
cmp al, 0x42
jne 0x18000714f
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.1800074f0
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.180006fe0
jmp 0x180007435
mov rcx, rbx
call fcn.180008290
jmp 0x18000742d
cmp ecx, 0x5b
jne 0x1800071d1
mov rcx, rbx
call fcn.180006fe0
mov rcx, rbx
call fcn.180008160
cmp dword [rbx + 0x7c], 0x5d
jne 0x180007484
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx]
cmp rcx, rax
je 0x1800071c4
cmp byte [rcx], 0x5c
jne 0x1800071bd
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x1800071bd
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x1800071ab
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x1800071ba
test r8b, 0x10
jne 0x1800071bd
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x1800071bd
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180005d10
jmp 0x18000742d
cmp ecx, 0x28
jne 0x18000739c
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180007223
cmp byte [rcx], 0x5c
jne 0x18000721c
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x18000721c
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x18000720a
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x180007219
test r8b, 0x10
jne 0x18000721c
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x18000721c
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180005d10
inc dword [rbx + 0x1c]
mov eax, dword [rbx + 0x80]
bt eax, 0x1b
jb 0x180007244
cmp dword [rbx + 0x7c], 0x29
je 0x18000748f
test al, 0x20
je 0x1800072ab
cmp dword [rbx + 0x7c], 0x3f
jne 0x1800072ab
mov rcx, rbx
call fcn.180006fe0
mov edi, dword [rbx + 0x7c]
mov rcx, rbx
call fcn.180006fe0
cmp edi, 0x3a
jne 0x180007273
mov rcx, rbx
call fcn.180009bc0
jmp 0x18000732d
cmp edi, 0x21
jne 0x18000728d
mov dl, 1
mov rcx, rbx
call fcn.180009c10
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x180007333
cmp edi, 0x3d
jne 0x18000749a
xor edx, edx
mov rcx, rbx
call fcn.180009c10
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x180007333
test dword [rbx + 0x70], 0x200
lea rcx, [rbx + 0x40]
je 0x1800072db
mov edx, 8
call fcn.1800074f0
mov rcx, rbx
mov rdi, rax
call fcn.180005f10
mov rdx, rdi
lea rcx, [rbx + 0x40]
call fcn.1800061a0
jmp 0x18000732d
inc dword [rbx + 0x18]
mov edx, dword [rbx + 0x18]
call fcn.180006250
mov rcx, rbx
mov rsi, rax
call fcn.180005f10
mov rdx, rsi
lea rcx, [rbx + 0x40]
call fcn.1800061a0
mov edx, dword [rbx + 0x18]
lea rdi, [rbx + 0x20]
inc edx
mov rcx, rdi
call fcn.180006800
mov r8d, dword [rsi + 0x20]
mov rcx, qword [rdi]
mov eax, r8d
shr rax, 5
and r8d, 0x1f
lea rdx, [rcx + rax*4]
mov eax, dword [rcx + rax*4]
bts eax, r8d
mov dword [rdx], eax
dec dword [rbx + 0x1c]
mov dil, 1
cmp dword [rbx + 0x7c], 0x29
jne 0x1800074a5
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180007386
cmp byte [rcx], 0x5c
jne 0x18000737f
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x18000737f
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x18000736d
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x18000737c
test r8b, 0x10
jne 0x18000737f
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x18000737f
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180005d10
test dil, dil
je 0x180007435
jmp 0x18000742d
cmp ecx, 0x5e
jne 0x1800073b9
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.1800074f0
mov rcx, rbx
call fcn.180006fe0
jmp 0x180007435
cmp ecx, 0x24
jne 0x1800073d6
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.1800074f0
mov rcx, rbx
call fcn.180006fe0
jmp 0x180007435
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x180007479
cmp ecx, 0x3f
je 0x180007479
cmp ecx, 0x7b
je 0x180007479
cmp ecx, 0x7d
jne 0x180007407
test dword [rbx + 0x80], 0x10000000
je 0x18000746e
jmp 0x180007418
cmp ecx, 0x5d
jne 0x180007418
test dword [rbx + 0x80], 0x10000000
je 0x180007458
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.180008620
mov rcx, rbx
call fcn.180006fe0
mov rcx, rbx
call fcn.180008470
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x180007055
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov edx, 4
call fcn.180005d00
int3
mov edx, 5
call fcn.180005d00
int3
mov edx, 6
call fcn.180005d00
int3
mov edx, 0xa
call fcn.180005d00
int3
mov edx, 4
call fcn.180005d00
int3
mov edx, 5
call fcn.180005d00
int3
mov edx, reloc.WS2_32.dll_ntohl
call fcn.180005d00
int3
mov edx, 5
call fcn.180005d00
int3