Function at 0x180097948
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
push r13
push r15
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x180097fb3
mov ebp, 1
mov r13b, reloc.WS2_32.dll_recv
mov dil, 0xfd
lea r15d, [rbp + 0x27]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x180097fb3
cmp ecx, 0x29
jne 0x1800979a4
cmp dword [rbx + 0x1c], 0
jne 0x180097fb3
test dword [rbx + 0x80], edx
je 0x180097fe8
cmp ecx, 0x2e
jne 0x180097a0b
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.18009802c
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097d97
cmp byte [rcx], 0x5c
jne 0x180097d90
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097d88
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x1800979f6
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097d83
test r13b, r8b
jne 0x180097d88
mov al, byte [rdx]
sub al, 0x7b
test dil, al
jmp 0x180097d81
cmp ecx, 0x5c
jne 0x180097be7
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097a65
cmp byte [rcx], 0x5c
jne 0x180097a5e
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097a56
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x180097a43
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097a51
test r13b, r8b
jne 0x180097a56
mov al, byte [rdx]
sub al, 0x7b
test dil, al
jne 0x180097a56
mov al, bpl
jmp 0x180097a58
xor al, al
test al, al
cmovne rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180096d7c
mov ecx, dword [rbx + 0x80]
mov eax, ecx
and eax, 0x80
je 0x180097a8c
cmp byte [rbx + 0x78], 0x62
jne 0x180097a8c
mov edx, 4
jmp 0x180097e86
test eax, eax
je 0x180097ab3
cmp byte [rbx + 0x78], 0x42
jne 0x180097ab3
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.18009802c
mov rax, qword [rbx + 0x48]
add rax, 0xc
xor dword [rax], ebp
jmp 0x180097e8f
bt ecx, 8
jae 0x180097baf
mov edi, 0x7fffffff
mov edx, 0xa
mov r8d, edi
mov rcx, rbx
call fcn.18009afa8
cmp eax, edi
je 0x180097baf
movsxd rdi, dword [rbx + 0x74]
mov eax, dword [rbx + 0x80]
test edi, edi
jne 0x180097b03
bt eax, 0x14
jae 0x180097ff3
mov dl, byte [rbx + 0x74]
lea rcx, [rbx + 0x40]
call fcn.18009954c
jmp 0x180097f99
bt eax, 9
jae 0x180097b12
cmp edi, 9
ja 0x180097ffe
mov eax, dword [rbx + 0x18]
mov rcx, rdi
cmp rax, rdi
jb 0x180097ffe
cmp qword [rbx + 0x38], rcx
jbe 0x180097ffe
mov r8, qword [rbx + 0x20]
mov rdx, rcx
and ecx, 0x1f
shr rdx, 5
mov eax, ebp
shl eax, cl
test dword [r8 + rdx*4], eax
je 0x180097ffe
mov rcx, r15
call fcn.18009e460
mov rdx, rax
mov qword [rsp + 0x40], rax
and qword [rax + 0x18], 0
and dword [rax + 0xc], 0
and qword [rax + 0x10], 0
mov dword [rax + 8], reloc.WS2_32.dll_ntohs
lea rax, vtable.std::_Node_back.0
mov qword [rdx], rax
mov dword [rdx + 0x20], edi
mov rcx, qword [rbx + 0x48]
mov qword [rdx + 0x18], rcx
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x180097ba2
mov qword [rdx + 0x10], rcx
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], rdx
mov rax, qword [rbx + 0x48]
mov qword [rax + 0x10], rdx
mov qword [rbx + 0x48], rdx
jmp 0x180097f99
mov rcx, rbx
call fcn.18009a6c8
test al, al
jne 0x180097af2
test dword [rbx + 0x80], 0x20000
je 0x180097fd2
mov dl, bpl
mov rcx, rbx
call fcn.18009a324
test al, al
je 0x180097fd2
jmp 0x180097f99
cmp ecx, 0x5b
jne 0x180097da4
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097c41
cmp byte [rcx], 0x5c
jne 0x180097c3a
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097c32
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x180097c1f
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097c2d
test r13b, r8b
jne 0x180097c32
mov al, byte [rdx]
sub al, 0x7b
test dil, al
jne 0x180097c32
mov al, bpl
jmp 0x180097c34
xor al, al
test al, al
cmovne rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180096d7c
lea rdi, [rbx + 0x40]
mov rcx, rdi
call fcn.18009a9a4
mov eax, dword [rbx + 0x7c]
cmp eax, 0x5e
jne 0x180097cc2
mov rax, qword [rbx + 0x48]
add rax, 0xc
xor dword [rax], ebp
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097cb7
cmp byte [rcx], 0x5c
jne 0x180097cb0
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097ca8
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x180097c96
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097ca3
test r13b, r8b
jne 0x180097ca8
mov al, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x180097ca8
mov al, bpl
jmp 0x180097caa
xor al, al
test al, al
cmovne rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180096d7c
mov eax, dword [rbx + 0x7c]
test dword [rbx + 0x80], 0x20000000
je 0x180097d35
cmp eax, 0x5d
jne 0x180097d35
mov dl, al
mov rcx, rdi
call fcn.18009aa2c
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097d2d
cmp byte [rcx], 0x5c
jne 0x180097d26
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097d1e
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x180097d0c
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097d19
test r13b, r8b
jne 0x180097d1e
mov al, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x180097d1e
mov al, bpl
jmp 0x180097d20
xor al, al
test al, al
cmovne rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180096d7c
mov rcx, rbx
call fcn.18009a40c
cmp dword [rbx + 0x7c], 0x5d
jne 0x180098009
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097d97
cmp byte [rcx], 0x5c
jne 0x180097d90
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097d88
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x180097d76
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097d83
test r13b, r8b
jne 0x180097d88
mov al, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x180097d88
mov al, bpl
jmp 0x180097d8a
xor al, al
test al, al
cmovne rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180096d7c
jmp 0x180097f99
cmp ecx, r15d
jne 0x180097e74
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097dfe
cmp byte [rcx], 0x5c
jne 0x180097df7
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097def
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x180097ddc
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097dea
test r13b, r8b
jne 0x180097def
mov al, byte [rdx]
sub al, 0x7b
test dil, al
jne 0x180097def
mov al, bpl
jmp 0x180097df1
xor al, al
test al, al
cmovne rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180096d7c
mov rcx, rbx
call fcn.180099094
cmp dword [rbx + 0x7c], 0x29
mov dil, al
jne 0x180098014
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097f8c
cmp byte [rcx], 0x5c
jne 0x180097e68
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097e60
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x180097e4e
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097e5b
test r13b, r8b
jne 0x180097e60
mov al, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x180097e60
mov al, bpl
jmp 0x180097e62
xor al, al
test al, al
cmovne rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
jmp 0x180097f8c
cmp ecx, 0x5e
jne 0x180097e7e
lea edx, [rcx - 0x5c]
jmp 0x180097e86
cmp ecx, 0x24
jne 0x180097eed
lea edx, [rcx - 0x21]
lea rcx, [rbx + 0x40]
call fcn.18009802c
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097ee0
cmp byte [rcx], 0x5c
jne 0x180097ed9
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097ed1
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x180097ebe
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097ecc
test r13b, r8b
jne 0x180097ed1
mov al, byte [rdx]
sub al, 0x7b
test dil, al
jne 0x180097ed1
mov al, bpl
jmp 0x180097ed3
xor al, al
test al, al
cmovne rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180096d7c
jmp 0x180097fa4
lea eax, [rcx - 0x2a]
cmp eax, ebp
jbe 0x180097fdd
cmp ecx, 0x3f
je 0x180097fdd
cmp ecx, 0x7b
je 0x180097fdd
cmp ecx, 0x7d
jne 0x180097f1b
test dword [rbx + 0x80], edx
je 0x18009801f
cmp ecx, 0x5d
jne 0x180097f2c
test dword [rbx + 0x80], edx
je 0x180097fc7
mov dl, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.18009954c
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x180097f89
cmp byte [rcx], 0x5c
jne 0x180097f82
lea rdx, [rcx + 1]
cmp rdx, qword [rbx + 0x10]
je 0x180097f7a
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x180097f67
mov al, byte [rdx]
sub al, r15b
cmp al, bpl
jbe 0x180097f75
test r13b, r8b
jne 0x180097f7a
mov al, byte [rdx]
sub al, 0x7b
test dil, al
jne 0x180097f7a
mov al, bpl
jmp 0x180097f7c
xor al, al
test al, al
cmovne rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov dil, bpl
mov rcx, rbx
call fcn.180096d7c
test dil, dil
je 0x180097fa1
mov rcx, rbx
call fcn.1800992f8
mov dil, 0xfd
mov ecx, dword [rbx + 0x7c]
mov al, bpl
cmp ecx, 0xffffffff
jne 0x18009797b
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r13
pop rdi
ret
mov edx, 4
call fcn.180096d70
int3
mov edx, 2
call fcn.180096d70
int3
mov edx, 0xa
call fcn.180096d70
int3
mov edx, 5
call fcn.180096d70
int3
mov edx, 2
call fcn.180096d70
int3
mov edx, 3
call fcn.180096d70
int3
mov edx, 4
call fcn.180096d70
int3
mov edx, 5
call fcn.180096d70
int3
mov edx, 6
call fcn.180096d70
int3