Function at 0x180253c10
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rsi
push rdi
push r13
sub rsp, 0x58
mov r13d, dword [r8]
mov rbx, rdx
mov qword [rsp + 0x20], rcx
mov rsi, rcx
mov dword [rsp + 0x88], 0
test rdx, rdx
jne 0x180253c45
xor edi, edi
jmp 0x180253c5f
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rdx + rdi], 0
jne 0x180253c50
and edi, 0x3fffffff
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r15
test r13b, 0x40
jne 0x180253c86
cmp byte [0x1803fa7e6], 0
je 0x180254133
cmp edi, 5
jb 0x180254133
mov eax, dword [rdx]
cmp eax, dword [0x180072cc4]
jne 0x180254133
movzx eax, byte [rdx + 4]
cmp al, byte [0x180072cc8]
jne 0x180254133
or r13d, 0x40
mov r8d, edi
xor esi, esi
mov dword [rsp + 0x80], r13d
xor r14d, r14d
lea ebp, [rdi + 8]
xor r15d, r15d
xor ecx, ecx
cmp r8, 2
jb 0x180253d02
lea rdx, [rdi - 1]
nop dword [rax]
nop word [rax + rax]
xor eax, eax
cmp byte [rbx + rcx], 0x26
sete al
add rsi, rax
xor eax, eax
cmp byte [rbx + rcx + 1], 0x26
sete al
add rcx, 2
add r14, rax
cmp rcx, rdx
jl 0x180253ce0
cmp rcx, r8
jge 0x180253d13
xor eax, eax
cmp byte [rcx + rbx], 0x26
sete al
add rbp, rax
call fcn.18027ecf0
test eax, eax
jne 0x180254285
lea rcx, [r14 + rsi]
add rcx, rbp
call fcn.180250dc0
mov r12, rax
test rax, rax
je 0x180254285
xor eax, eax
mov dword [r12], eax
add r12, 4
cmp byte [rbx + 5], 0x2f
lea r9d, [rax + 5]
jne 0x180253dbf
cmp byte [rbx + 6], 0x2f
jne 0x180253dbf
lea r8, [rbx + 7]
lea r9d, [rax + 7]
movzx eax, byte [r8]
test al, al
je 0x180253dbf
mov rcx, r8
cmp al, 0x2f
je 0x180253d77
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x180253d65
cmp r9d, 7
je 0x180253dbf
cmp r9d, 0x10
jne 0x180253d9c
mov rax, qword [0x180072cd0]
cmp rax, qword [r8]
jne 0x180253d9c
movzx eax, byte [reloc.WSOCK32.dll_WSACleanup]
cmp al, byte [r8 + 8]
je 0x180253dbf
lea edx, [r9 - 7]
lea rcx, [0x180072ce0]
call fcn.1801f86a0
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x1802541bf
movsxd rax, r9d
xor edi, edi
movzx edx, byte [rax + rbx]
test dl, dl
je 0x180253f51
xor r11d, r11d
lea rsi, [0x180067d70]
nop word [rax + rax]
cmp dl, 0x23
je 0x180253f41
inc r9d
cmp dl, 0x25
jne 0x180253eb4
movsxd rax, r9d
movzx r10d, byte [rax + rbx]
test byte [r10 + rsi], 8
je 0x180253eb4
lea r8d, [r9 + 1]
movsxd rax, r8d
movzx ecx, byte [rax + rbx]
test byte [rcx + rsi], 8
je 0x180253eb4
movsx edx, r10b
mov eax, edx
movsxd r9, r8d
sar eax, 6
and al, 1
movzx eax, al
movsx r8d, byte [r9 + rbx]
inc r9d
imul ecx, eax, 7
mov eax, r8d
sar eax, 6
and al, 1
movzx eax, al
sub dl, cl
imul ecx, eax, 7
movzx eax, r8b
and edx, 0xf
shl edx, 4
sub al, cl
and eax, 0xf
add edx, eax
jne 0x180253f28
movsxd rax, r9d
lea rcx, [rax + rbx]
movzx eax, byte [rax + rbx]
test al, al
je 0x180253f32
movsxd rdx, edi
cmp al, 0x23
je 0x180253f32
test edi, edi
jne 0x180253e86
cmp al, 0x3f
jmp 0x180253e9e
cmp rdx, 1
jne 0x180253e96
cmp al, 0x3d
je 0x180253f32
jmp 0x180253e9c
cmp rdx, 2
jne 0x180253ea4
cmp al, 0x26
je 0x180253f32
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x180253e76
jmp 0x180253f32
cmp edi, 1
jne 0x180253f0c
cmp dl, 0x26
je 0x180253ec3
cmp dl, 0x3d
jne 0x180253f28
cmp byte [r11 + r12 - 1], 0
jne 0x180253ef3
movsxd rax, r9d
movzx ecx, byte [rax + rbx]
test cl, cl
je 0x180253f32
cmp cl, 0x23
je 0x180253f32
cmp byte [rax + rbx - 1], 0x26
je 0x180253f32
movzx ecx, byte [rax + rbx + 1]
inc rax
inc r9d
test cl, cl
jne 0x180253ed6
jmp 0x180253f32
cmp dl, 0x26
jne 0x180253f05
inc r15d
mov byte [r11 + r12], 0
inc r11
jmp 0x180253f26
mov edi, 2
jmp 0x180253f26
test edi, edi
jne 0x180253f17
cmp dl, 0x3f
je 0x180253f21
jmp 0x180253f28
cmp edi, 2
jne 0x180253f28
cmp dl, 0x26
jne 0x180253f28
mov edi, 1
xor dl, dl
inc r15d
mov byte [r11 + r12], dl
inc r11
movsxd rax, r9d
movzx edx, byte [rax + rbx]
test dl, dl
jne 0x180253de0
cmp edi, 1
jne 0x180253f51
movsxd rax, r15d
inc r15d
mov byte [rax + r12], 0
xor ecx, ecx
movsxd rax, r15d
mov dword [rax + r12], ecx
test r12, r12
jne 0x180253f63
xor eax, eax
jmp 0x180253f75
or rax, 0xffffffffffffffff
inc rax
cmp byte [r12 + rax], cl
jne 0x180253f67
and eax, 0x3fffffff
lea edx, [rax + 1]
add rdx, r12
cmp byte [rdx], cl
je 0x180254184
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x180253f87
and ecx, 0x3fffffff
lea ebp, [rcx + 1]
add rbp, rdx
jne 0x180253fa2
xor ebx, ebx
jmp 0x180253fb5
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rbx + rbp], 0
jne 0x180253fa6
and ebx, 0x3fffffff
cmp ecx, 3
jne 0x180253fdf
movzx eax, word [0x180072cfc]
cmp ax, word [rdx]
jne 0x180253fdf
movzx eax, byte [reloc.WSOCK32.dll_WSAStartup]
cmp al, byte [rdx + 2]
jne 0x180253fdf
mov rsi, rbp
mov qword [rsp + 0x20], rbp
jmp 0x1802540ef
xor esi, esi
xor r13d, r13d
xor r14d, r14d
cmp ecx, 5
jne 0x180254016
mov eax, dword [0x180072d00]
cmp eax, dword [rdx]
jne 0x180254016
movzx eax, byte [0x180072d04]
cmp al, byte [rdx + 4]
jne 0x180254016
mov r14d, 0x60000
lea rsi, [0x1803faa40]
lea r13, [0x180072d00]
mov r15d, r14d
cmp ecx, 4
jne 0x180254049
mov eax, dword [0x180072d08]
cmp eax, dword [rdx]
jne 0x180254049
mov r15d, dword [rsp + 0x80]
lea rsi, [0x1803faa70]
mov r14d, 0x87
lea r13, [0x180072d10]
and r15d, r14d
jmp 0x180254052
test rsi, rsi
je 0x1802540ea
mov rcx, qword [rsi]
xor edi, edi
test rcx, rcx
je 0x180254096
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x180254060
and eax, 0x3fffffff
cmp ebx, eax
jne 0x180254084
mov rdx, rcx
mov r8d, ebx
mov rcx, rbp
call fcn.1802c7aa0
test eax, eax
je 0x1802540bb
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [rsi + rax*8]
test rcx, rcx
jne 0x18025405c
mov r8, rbp
lea rcx, [0x180072d18]
mov rdx, r13
call fcn.1801f86a0
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x1802541bf
add rdi, rdi
mov ecx, dword [rsi + rdi*8 + 8]
test ecx, ecx
je 0x180254096
mov eax, ecx
btr eax, 7
cmp eax, r15d
jg 0x180254103
not r14d
and r14d, dword [rsp + 0x80]
mov r13d, r14d
or r13d, ecx
mov dword [rsp + 0x80], r13d
mov rsi, qword [rsp + 0x20]
lea edx, [rbx + 1]
add rdx, rbp
cmp byte [rdx], 0
jne 0x180253f83
jmp 0x180254189
mov r8, rbp
lea rcx, [0x180072d30]
mov rdx, r13
call fcn.1801f86a0
mov rcx, rax
mov dword [rsp + 0x88], 3
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x1802541ca
call fcn.18027ecf0
test eax, eax
jne 0x180254285
lea ecx, [rdi + 8]
call fcn.180250dc0
mov r12, rax
test rax, rax
je 0x180254285
xor eax, eax
mov dword [r12], eax
add r12, 4
test edi, edi
je 0x180254170
mov r8d, edi
mov rdx, rbx
mov rcx, r12
call fcn.1802c7100
xor ecx, ecx
and r13d, 0xffffffbf
mov dword [rdi + r12], ecx
mov dword [rsp + 0x80], r13d
jmp 0x180254189
mov rsi, qword [rsp + 0x20]
mov rcx, rsi
call fcn.1801fbc40
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x180254260
mov rdx, rsi
lea rcx, [0x180072d48]
call fcn.1801f86a0
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov dword [rsp + 0x88], 1
test r12, r12
je 0x18025425d
cmp byte [r12 - 1], 0
jne 0x1802541f3
cmp byte [r12 - 2], 0
jne 0x1802541f3
cmp byte [r12 - 3], 0
jne 0x1802541f3
cmp byte [r12 - 4], 0
je 0x1802541f8
dec r12
jmp 0x1802541d3
lea rbx, [r12 - 4]
test rbx, rbx
je 0x18025425d
cmp dword [0x1803fa7e0], 0
je 0x180254254
mov rcx, qword [0x180412fb8]
test rcx, rcx
je 0x18025421d
call qword [0x1803fa860]
mov rcx, rbx
call qword [0x1803fa818]
dec qword [0x180413428]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x1804133e0], rdx
call qword [0x1803fa808]
mov rcx, qword [0x180412fb8]
test rcx, rcx
je 0x18025425d
call qword [0x1803fa870]
jmp 0x18025425d
mov rcx, rbx
call qword [0x1803fa808]
xor r12d, r12d
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x80]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x88]
mov qword [rcx], r12
jmp 0x18025428a
mov eax, 7
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
pop r13
pop rdi
pop rsi
pop rbx
ret