Function at 0x6f4fc0
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6f53d1
sub esp, 0x38
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x48]
cmp ecx, 1
jle 0x6f5048
lea eax, [ecx - 1]
mov dword [esp + 0x24], eax
test eax, eax
ja 0x6f538f
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x30]
add ecx, ebx
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044f8d0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + 0x64], 1
jl 0x6f536e
xor eax, eax
test al, al
jne 0x6f5365
mov edx, dword [esp + 0x48]
test edx, edx
setg dl
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
movzx eax, byte [esp + 0x40]
jmp 0x6f509e
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
movzx ebp, byte [esp + 0x40]
mov eax, ebp
mov ebx, dword [esp + 0x58]
mov ebp, edx
mov esi, dword [esp + 0x50]
mov edx, 1
nop
mov edi, edx
mov edx, dword [ecx + 0x54]
mov ebx, dword [ecx + 0x60]
cmp dword [ecx + 0x58], ebx
jbe 0x6f53ca
movzx edx, byte [edx + ebx]
cmp dl, 0x30
jb 0x6f5311
cmp dl, 0x39
ja 0x6f5311
mov ebx, 1
test bl, bl
je 0x6f5183
cmp dl, 0x25
jne 0x6f5149
mov dword [esp], ecx
mov byte [esp + 4], al
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x58]
mov dword [esp + 0x10], edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0x14], ebx
call fcn.006f53e0
movzx eax, byte [esp + 0x18]
test al, al
je 0x6f5140
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + 0x64], 1
jl 0x6f5122
xor eax, eax
test al, al
je 0x6f507c
mov byte [esp + 0x60], 0
add esp, 0x38
ret
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.006ec7e0
movzx eax, byte [esp + 8]
xor eax, 1
mov ecx, dword [esp + 0x3c]
jmp 0x6f5111
mov byte [esp + 0x60], 0
add esp, 0x38
ret
mov dword [esp], ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.006eead0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
jmp 0x6f5105
cmp dl, 0x3b
je 0x6f50d3
cmp dl, 0x2f
je 0x6f50d3
cmp dl, 0x3f
je 0x6f50d3
cmp dl, 0x3a
je 0x6f50d3
cmp dl, 0x40
je 0x6f50d3
cmp dl, 0x26
je 0x6f50d3
cmp dl, 0x3d
je 0x6f50d3
cmp dl, 0x2b
je 0x6f50d3
cmp dl, 0x24
je 0x6f50d3
cmp dl, 0x2c
je 0x6f50d3
cmp dl, 0x2e
je 0x6f50d3
cmp dl, 0x21
je 0x6f50d3
cmp dl, 0x7e
je 0x6f50d3
cmp dl, 0x2a
je 0x6f50d3
cmp dl, 0x27
je 0x6f50d3
cmp dl, 0x28
je 0x6f50d3
cmp dl, 0x29
je 0x6f50d3
cmp dl, 0x5b
je 0x6f50d3
cmp dl, 0x5d
je 0x6f50d3
cmp dl, 0x25
je 0x6f50d3
xchg edi, eax
test al, al
xchg edi, eax
je 0x6f526f
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x5c]
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x6f5268
mov dword [edi], eax
mov byte [esp + 0x60], 1
add esp, 0x38
ret
call fcn.0044f0d0
jmp 0x6f525f
nop
test al, al
je 0x6f5301
mov eax, 0x1e
lea edx, [0x821dc4]
nop
mov dword [ecx], 3
mov dword [ecx + 0x24], eax
mov ebx, dword [0xb91180]
test ebx, ebx
jne 0x6f52f5
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x28], esi
mov dword [ecx + 0x2c], ebp
mov edx, dword [esp + 0x58]
mov dword [ecx + 0x30], edx
mov dword [ecx + 8], 0x1d
mov edx, dword [0xb91180]
test edx, edx
jne 0x6f52e5
lea eax, [0x820d27]
mov dword [ecx + 4], eax
mov eax, dword [ecx + 0x84]
mov edx, dword [ecx + 0x88]
mov ebx, dword [ecx + 0x80]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov byte [esp + 0x60], 0
add esp, 0x38
ret
lea edi, [ecx + 4]
lea eax, [0x820d27]
call fcn.0044f0d0
jmp 0x6f52c1
lea edi, [ecx + 0x20]
mov eax, edx
call fcn.0044f0d0
jmp 0x6f529a
mov eax, 0x13
lea edx, [0x81a9b9]
jmp 0x6f5283
cmp dl, 0x41
jb 0x6f5361
cmp dl, 0x5a
setbe bl
test bl, bl
je 0x6f532a
mov ebx, 1
jmp 0x6f50cb
cmp dl, 0x61
jb 0x6f535d
cmp dl, 0x7a
setbe bl
test bl, bl
je 0x6f5343
mov ebx, 1
jmp 0x6f50cb
cmp dl, 0x5f
jne 0x6f5352
mov ebx, 1
jmp 0x6f50cb
cmp dl, 0x2d
sete bl
jmp 0x6f50cb
xor ebx, ebx
jmp 0x6f5335
xor ebx, ebx
jmp 0x6f531c
mov byte [esp + 0x60], 0
add esp, 0x38
ret
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.006ec7e0
movzx eax, byte [esp + 8]
xor eax, 1
mov ecx, dword [esp + 0x3c]
jmp 0x6f5058
lea ecx, [0x7ac140]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.0043a950
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
jmp 0x6f500d
call fcn.004287c0
ud2
call fcn.0044d880
jmp fcn.006f4fc0