Function at 0x1801282f0
Capabilities:
Parse credit card information

Disassembly:
push rdi
sub rsp, 0x40
mov rdi, rcx
mov rcx, qword [rcx + 8]
movzx eax, byte [rcx]
cmp al, 0x2e
jne 0x180128357
mov rdx, qword [rdi + 0x30]
test rdx, rdx
jne 0x180128328
mov edx, 6
mov rcx, rdi
call fcn.1801231a0
inc qword [rdi + 8]
mov qword [rdi + 0x30], rax
add rsp, 0x40
pop rdi
ret
cmp dword [rdx + 4], 3
jne 0x18012834d
mov r8d, dword [rdi + 0x14]
xor eax, eax
mov rcx, rdi
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
lea r9d, [rax + 6]
mov dword [rsp + 0x20], eax
call fcn.180124130
inc qword [rdi + 8]
add rsp, 0x40
pop rdi
ret
cmp al, 0x5c
je 0x180128376
lea rdx, str.Escaped_sequence:_expecting__
mov rcx, rdi
mov dword [rdi + 0x10], 0x5aa
add rsp, 0x40
pop rdi
jmp fcn.180122f50
lea r8, [rcx + 1]
mov qword [rsp + 0x50], rbx
mov qword [rdi + 8], r8
movzx ebx, byte [r8]
cmp ebx, 0x70
jne 0x1801283d5
lea rax, [r8 + 1]
mov rcx, rdi
mov qword [rdi + 8], rax
cmp byte [rax], 0x7b
jne 0x1801283ee
inc rax
mov qword [rdi + 8], rax
call fcn.180127e90
mov rax, qword [rdi + 8]
cmp byte [rax], 0x7d
je 0x18012844c
lea rdx, str.Expecting_
mov rcx, rdi
mov dword [rdi + 0x10], 0x5aa
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
jmp fcn.180122f50
cmp ebx, 0x50
jne 0x18012845e
lea rax, [r8 + 1]
mov rcx, rdi
mov qword [rdi + 8], rax
cmp byte [rax], 0x7b
je 0x18012840b
lea rdx, [0x18031f818]
mov dword [rdi + 0x10], 0x5aa
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
jmp fcn.180122f50
inc rax
mov qword [rdi + 8], rax
call fcn.180127e90
mov r11, qword [rdi + 0x30]
mov dword [r11 + 0x28], 1
mov rax, qword [rdi + 8]
cmp byte [rax], 0x7d
je 0x18012844c
lea rdx, str.Expecting_
mov rcx, rdi
mov dword [rdi + 0x10], 0x5aa
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
jmp fcn.180122f50
mov rbx, qword [rsp + 0x50]
inc rax
mov qword [rdi + 8], rax
add rsp, 0x40
pop rdi
ret
cmp ebx, 0x6e
je 0x180128611
cmp ebx, 0x72
je 0x180128611
cmp ebx, 0x74
je 0x180128611
cmp ebx, 0x5c
je 0x180128611
cmp ebx, 0x7c
je 0x180128611
cmp ebx, 0x2e
je 0x180128611
cmp ebx, 0x3f
je 0x180128611
cmp ebx, 0x2a
je 0x180128611
cmp ebx, 0x2b
je 0x180128611
cmp ebx, 0x28
je 0x180128611
cmp ebx, 0x29
je 0x180128611
cmp ebx, 0x7b
je 0x180128611
cmp ebx, 0x7d
je 0x180128611
cmp ebx, 0x2d
je 0x180128611
cmp ebx, 0x5b
je 0x180128611
cmp ebx, 0x5d
je 0x180128611
cmp ebx, 0x5e
je 0x180128611
cmp ebx, 0x73
je 0x180128549
cmp ebx, 0x53
je 0x180128549
cmp ebx, 0x69
je 0x180128549
cmp ebx, 0x49
je 0x180128549
cmp ebx, 0x63
je 0x180128549
cmp ebx, 0x43
je 0x180128549
cmp ebx, 0x64
je 0x180128549
cmp ebx, 0x44
je 0x180128549
cmp ebx, 0x77
je 0x180128549
cmp ebx, 0x57
je 0x180128549
lea rdx, str.Wrong_escape_sequence__misuse_of_character_
mov rcx, rdi
mov dword [rdi + 0x10], 0x5aa
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
jmp fcn.180122f50
add ebx, 0xffffffbd
mov edx, 7
cmp ebx, 0x34
ja case.0x180128574.69
lea r9, [0x180000000]
movsxd rax, ebx
movzx eax, byte [r9 + rax + 0x1286e8]
mov ecx, dword [r9 + rax*4 + 0x1286bc]
add rcx, r9
jmp rcx
mov edx, 8
jmp case.0x180128574.69
mov edx, 9
jmp case.0x180128574.69
mov edx, 0xa
jmp case.0x180128574.69
mov edx, ntohl
jmp case.0x180128574.69
mov edx, ntohl
jmp case.0x180128574.69
mov edx, reloc.WS2_32.dll_listen
jmp case.0x180128574.69
mov edx, reloc.WS2_32.dll_ntohl
jmp case.0x180128574.69
mov edx, reloc.WS2_32.dll_ntohs
jmp case.0x180128574.69
mov edx, reloc.WS2_32.dll_recv
mov rcx, qword [rdi + 0x30]
lea rax, [r8 + 1]
mov qword [rdi + 8], rax
test rcx, rcx
jne 0x1801285db
mov rcx, rdi
call fcn.1801231a0
mov rbx, qword [rsp + 0x50]
mov qword [rdi + 0x30], rax
add rsp, 0x40
pop rdi
ret
cmp dword [rcx + 4], 3
jne 0x1801286ae
mov r8d, dword [rdi + 0x14]
xor eax, eax
mov r9d, edx
mov qword [rsp + 0x30], rax
mov rdx, rcx
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.180124130
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
mov rdx, qword [rdi + 0x30]
test rdx, rdx
jne 0x180128685
mov edx, 2
mov rcx, rdi
call fcn.1801231a0
mov qword [rdi + 0x30], rax
test rax, rax
je 0x1801286aa
cmp ebx, 0x6e
je 0x18012866e
cmp ebx, 0x72
je 0x180128657
cmp ebx, 0x74
mov edx, 9
cmovne edx, ebx
mov rbx, qword [rsp + 0x50]
mov dword [rax + 0x2c], edx
inc qword [rdi + 8]
add rsp, 0x40
pop rdi
ret
mov rbx, qword [rsp + 0x50]
mov edx, reloc.WS2_32.dll_listen
mov dword [rax + 0x2c], edx
inc qword [rdi + 8]
add rsp, 0x40
pop rdi
ret
mov rbx, qword [rsp + 0x50]
mov edx, 0xa
mov dword [rax + 0x2c], edx
inc qword [rdi + 8]
add rsp, 0x40
pop rdi
ret
cmp dword [rdx + 4], 3
jne 0x1801286aa
mov r8d, dword [rdi + 0x14]
xor eax, eax
mov rcx, rdi
mov qword [rsp + 0x30], rax
lea r9d, [rax + 2]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
call fcn.180124130
inc qword [rdi + 8]
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret