Function at 0x10008ec0
Capabilities:
Parse credit card information

Disassembly:
push 0xffffffffffffffff
push 0x10017a28
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10020058]
xor eax, esp
push eax
lea eax, [esp + 0x2c]
mov dword fs:[0], eax
mov edi, ecx
xor edx, edx
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], vtable.CBufferT_char_.0
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], edx
jmp 0x10008f10
cmp byte [edi + 0xa8], 0
mov ecx, 1
jne 0x10008f2a
cmp dword [edi + 0xac], ecx
je 0x10009122
mov eax, dword [edi + 0xac]
test eax, eax
jne 0x10009004
cmp byte [edi + 0xb8], 0x7b
jne 0x10008f4d
cmp dword [edi + 0xbc], ecx
je 0x100090f6
cmp byte [edi + 0xb8], 0x3f
jne 0x10008f62
cmp dword [edi + 0xbc], ecx
je 0x100090f6
cmp byte [edi + 0xb8], 0x2a
jne 0x10008f77
cmp dword [edi + 0xbc], ecx
je 0x100090f6
cmp byte [edi + 0xb8], 0x2b
jne 0x10008f8c
cmp dword [edi + 0xbc], ecx
je 0x100090f6
cmp edx, 8
mov bl, byte [edi + 0xa8]
mov esi, edx
jge 0x10008f9e
mov esi, 8
lea eax, [ebp + 2]
cmp eax, esi
jle 0x10008fbe
add esi, esi
cmp eax, esi
jle 0x10008fbe
lea esi, [ebp + 0xd]
mov eax, esi
and eax, 0x80000007
jns 0x10008fbc
dec eax
or eax, 0xfffffff8
inc eax
sub esi, eax
cmp esi, edx
jle 0x10008fde
mov ecx, dword [esp + 0x24]
push esi
push ecx
call fcn.1000c4cb
add esp, 8
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], esi
jmp 0x10008fe2
mov eax, dword [esp + 0x24]
mov byte [eax + ebp], bl
add ebp, 1
mov esi, edi
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], 0
call fcn.10006c70
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
jmp 0x10008f10
cmp eax, ecx
jne 0x10008f10
mov al, byte [edi + 0xa8]
cmp al, 0x29
je 0x10009122
cmp al, 0x7c
je 0x10009122
test ebp, ebp
jg 0x1000912a
cmp al, 0x28
je 0x10009167
cmp al, 0x5b
je 0x1000919c
cmp al, 0x2e
je 0x1000919c
cmp al, 0x77
je 0x1000919c
cmp al, 0x57
je 0x1000919c
cmp al, 0x73
je 0x1000919c
cmp al, 0x53
je 0x1000919c
cmp al, 0x64
je 0x1000919c
cmp al, 0x44
je 0x1000919c
cmp al, 0x5e
je 0x1000918e
cmp al, 0x24
je 0x1000918e
cmp al, 0x41
je 0x1000918e
cmp al, 0x5a
je 0x1000918e
cmp al, 0x7a
je 0x1000918e
cmp al, 0x62
je 0x1000918e
cmp al, 0x42
je 0x1000918e
cmp al, 0x47
je 0x1000918e
cmp al, 0x5c
je 0x10009180
cmp al, 0x6b
je 0x10009180
cmp al, 0x67
je 0x10009180
push 1
lea edx, [esp + 0x18]
push edx
lea esi, [esp + 0x20]
mov byte [esp + 0x1c], al
call fcn.1000ae70
mov esi, edi
call fcn.10006c70
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
jmp 0x10008f10
test ebp, ebp
jne 0x10009124
mov al, byte [edi + 0xa8]
push ecx
lea ecx, [esp + 0x18]
push ecx
lea esi, [esp + 0x20]
mov byte [esp + 0x1c], al
call fcn.1000ae70
mov esi, edi
call fcn.10006c70
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
test ebp, ebp
jle 0x100091b6
push 0x20
call fcn.1000cad8
mov esi, eax
add esp, 4
test esi, esi
je 0x100091aa
test ebx, ebx
mov ecx, ebx
jne 0x10009145
mov ecx, 0x1001d3d0
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov edx, eax
and edx, 8
push edx
and eax, 0x10
push eax
push ecx
mov eax, ebp
call fcn.1000afa0
push eax
mov esi, edi
call fcn.10008380
jmp 0x100091bd
mov edx, dword [esp + 0x3c]
push edx
mov ecx, edi
call fcn.10009ae0
lea ecx, [esp + 0x18]
mov esi, eax
call fcn.100073a0
jmp 0x100091cc
mov eax, dword [esp + 0x3c]
push eax
mov ecx, edi
call fcn.1000aad0
jmp 0x100091bd
mov ecx, dword [esp + 0x3c]
push ecx
mov eax, edi
call fcn.1000a860
jmp 0x100091bd
mov edx, dword [esp + 0x3c]
push edx
mov ecx, edi
call fcn.10009550
jmp 0x100091bd
xor eax, eax
push eax
mov esi, edi
call fcn.10008380
jmp 0x100091bd
push 0
call fcn.10007fd0
test ebx, ebx
mov esi, eax
je 0x100091cc
push ebx
call fcn.1000be90
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 4