Function at 0x1400948f0
Capabilities:
Parse credit card information
Read .ini file

Disassembly:
push rbx
push rsi
push rdi
push r12
sub rsp, 0x3b8
mov r12, r9
mov rbx, r8
mov r9d, 0xffffffff
mov rdi, rcx
lea rcx, [rsp + 0x1b0]
lea r8d, [r9 + 0x41]
call fcn.14008ee00
mov r9d, 0xffffffff
lea rcx, [rsp + 0x130]
mov rdx, rbx
lea r8d, [r9 + 0x41]
call fcn.14008ee00
lea r9, [rsp + 0x30]
mov qword [rsp + 0x28], rdi
lea r8, [0x14012c34c]
mov dword [rsp + 0x20], pe_nt_image_headers64
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
movzx ecx, word [rsp + 0x30]
lea rsi, [rsp + 0x30]
test cx, cx
jne 0x1400949fb
lea r8, [rsp + 0x130]
lea rdx, [0x14014d638]
lea rcx, [rsp + 0x2b0]
call fcn.140094fa0
lea r8, [rsp + 0x1b0]
lea rdx, [0x14014d638]
lea rcx, [rsp + 0x230]
call fcn.140094fa0
lea r9, [rsp + 0x30]
mov qword [rsp + 0x28], rdi
lea r8, [0x14012c34c]
mov dword [rsp + 0x20], pe_nt_image_headers64
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x230]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
movzx ecx, word [rsp + 0x30]
test cx, cx
jne 0x1400949fb
mov byte [r12], cl
add rsp, 0x3b8
pop r12
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x3e8], r13
lea rdx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140094a10
cmp eax, 3
jl 0x140094a47
cmp cx, 0x33
jne 0x140094a47
cmp word [rsp + 0x32], 0x44
mov ecx, gethostbyname
jne 0x140094a47
cmp word [rsp + 0x34], 0x22
jne 0x140094a47
movzx ecx, word [rsp + 0x36]
lea rsi, [rsp + 0x36]
sub eax, 4
lea rdi, [rsi + 2]
mov qword [rsp + 0x3e0], rbp
mov edx, 0x94
lea ebx, [rax - 2]
cmp cx, dx
cmovne rdi, rsi
cmovne ebx, eax
xor r13d, r13d
mov esi, r13d
test ebx, ebx
jle 0x140094b41
mov qword [rsp + 0x3f0], r14
lea rbp, [rdi + 2]
mov qword [rsp + 0x3b0], r15
mov r14, rdi
lea r15, [rdi + 4]
nop
movzx eax, word [r14]
cmp ax, 0x20
jae 0x140094acb
movsxd rax, esi
lea rcx, [rdi + rax*2]
mov eax, ebx
sub eax, esi
lea rdx, [rcx + 2]
dec eax
movsxd r8, eax
add r8, r8
call fcn.1400b9e30
movzx eax, word [r14 - 2]
dec ebx
dec esi
sub rbp, 2
sub r15, 2
sub r14, 2
cmp ax, 0x25
jne 0x140094b1b
movzx ecx, word [rbp]
call fcn.140094600
mov edx, eax
test eax, eax
js 0x140094b1b
movzx ecx, word [r15]
call fcn.140094600
test eax, eax
js 0x140094b1b
shl dx, 4
sub ebx, 2
add dx, ax
movsxd rax, esi
mov word [r14], dx
lea rcx, [rdi + rax*2]
mov eax, ebx
sub eax, esi
lea rdx, [rcx + 6]
dec eax
add rcx, 2
movsxd r8, eax
add r8, r8
call fcn.1400b9e30
inc esi
add rbp, 2
add r15, 2
add r14, 2
cmp esi, ebx
jl 0x140094a90
mov r15, qword [rsp + 0x3b0]
mov r14, qword [rsp + 0x3f0]
cmp ebx, 4
jl 0x140094b80
movsxd rax, ebx
lea ebp, [rbx - 4]
cmp word [rdi + rax*2 - 8], 0x3c
jne 0x140094b80
movsxd rsi, ebx
movzx ecx, word [rdi + rsi*2 - 6]
call fcn.1400fb718
cmp ax, 0x42
jne 0x140094b80
movzx ecx, word [rdi + rsi*2 - 4]
call fcn.1400fb718
cmp ax, 0x52
jne 0x140094b80
cmp word [rdi + rsi*2 - 2], 0x3e
cmove ebx, ebp
mov rbp, qword [rsp + 0x3e0]
mov rsi, rdi
cmp ebx, 6
jl 0x140094bdf
cmp word [rdi], 0x26
jne 0x140094be3
movzx ecx, word [rdi + 2]
call fcn.1400fb718
cmp ax, 0x51
jne 0x140094be3
movzx ecx, word [rdi + 4]
call fcn.1400fb718
cmp ax, 0x55
jne 0x140094be3
movzx ecx, word [rdi + 6]
call fcn.1400c91d4
cmp eax, 0x4f
jne 0x140094be3
movzx ecx, word [rdi + 8]
call fcn.1400fb718
cmp ax, 0x54
jne 0x140094be3
cmp word [rdi + 0xa], 0x3b
jne 0x140094be3
lea rsi, [rdi + 0xc]
sub ebx, 0xc
test ebx, ebx
jle 0x140094c02
cmp word [rsi], 0x22
jne 0x140094bf3
dec ebx
add rsi, 2
test ebx, ebx
jle 0x140094c02
movsxd rax, ebx
lea ecx, [rbx - 1]
cmp word [rsi + rax*2 - 2], 0x22
cmove ebx, ecx
mov r8d, dword [rsp + 0x400]
mov r9d, 0xffffffff
movsxd rax, ebx
mov rdx, rsi
mov rcx, r12
mov word [rsi + rax*2], r13w
call fcn.14008f030
mov r13, qword [rsp + 0x3e8]
add rsp, 0x3b8
pop r12
pop rdi
pop rsi
pop rbx
ret