Function at 0x100c2ce0
Capabilities:
Parse credit card information

Disassembly:
push ebp
push edi
mov edi, dword [esp + 0xc]
xor ebp, ebp
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x25
jne 0x100c30ff
push ebx
push edi
call fcn.100f1cd0
push edi
call fcn.100c1a50
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100c2d75
cmp dword [edi + 0xd4], ebp
je 0x100c2d22
cmp dword [edi + 0xac], 0xffffffff
je 0x100c30fe
push str.PEReference:_no_name_n
push 0x10267d34
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 3
push 0x18
push 1
push 0
push edi
push 0
push 0
push 0
mov dword [edi + 0x54], 0x18
call fcn.100db7e0
add esp, 0x44
mov dword [edi + 0xc], ebp
cmp dword [edi + 0x120], ebp
jne 0x100c30fe
pop ebx
mov dword [edi + 0xd4], 1
pop edi
pop ebp
ret
push esi
call fcn.100e18a0
cmp dword [eax], ebp
je 0x100c2d9a
call fcn.100e17a0
mov esi, eax
call fcn.100e17c0
push ebx
push str.PEReference:__s_n
push dword [eax]
mov eax, dword [esi]
call eax
add esp, 0xc
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3b
je 0x100c2e0e
cmp dword [edi + 0xd4], ebp
je 0x100c2dba
cmp dword [edi + 0xac], 0xffffffff
je 0x100c30fd
push str.PEReference:_expecting__
push 0x10271630
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 3
push 0x19
push 1
push 0
push edi
push 0
push 0
push 0
mov dword [edi + 0x54], 0x19
call fcn.100db7e0
add esp, 0x44
mov dword [edi + 0xc], ebp
cmp dword [edi + 0x120], ebp
jne 0x100c30fd
pop esi
pop ebx
mov dword [edi + 0xd4], 1
pop edi
pop ebp
ret
push edi
call fcn.100f1cd0
inc dword [edi + 0x1b8]
add esp, 4
mov eax, dword [edi]
test eax, eax
je 0x100c2e35
mov eax, dword [eax + 0x60]
test eax, eax
je 0x100c2e35
push ebx
push dword [edi + 4]
call eax
add esp, 8
mov ebp, eax
cmp dword [edi + 0xac], 0xffffffff
je 0x100c30fd
test ebp, ebp
jne 0x100c2f3a
cmp dword [edi + 0x1c], 1
je 0x100c2ed4
cmp dword [edi + 0x58], ebp
jne 0x100c2e5e
cmp dword [edi + 0x5c], ebp
je 0x100c2ed4
cmp dword [edi + 0x68], 0
je 0x100c2e9f
cmp dword [edi + 0x70], 0
je 0x100c2e9f
push 0
push ebx
push str.PEReference:____s__not_found_n
push 0x1b
push edi
call fcn.100cafb0
add esp, 0x14
mov dword [edi + 0x64], 0
push 0
push 0
push 0
push edi
call fcn.100c99b0
add esp, 0x10
mov dword [edi + 0x5c], 1
pop esi
pop ebx
pop edi
pop ebp
ret
push 0
push ebx
push str.PEReference:____s__not_found_n
push 0x1b
push edi
call fcn.100cb060
add esp, 0x14
mov dword [edi + 0x64], 0
push 0
push 0
push 0
push edi
call fcn.100c99b0
add esp, 0x10
mov dword [edi + 0x5c], 1
pop esi
pop ebx
pop edi
pop ebp
ret
push ebx
push str.PEReference:____s__not_found_n
push 0
push 0
push 0
push 0
push ebx
push 0
push 0
push 3
push 0x1a
push 1
push 0
push edi
push 0
push 0
push 0
mov dword [edi + 0x54], 0x1a
call fcn.100db7e0
add esp, 0x44
mov dword [edi + 0xc], 0
cmp dword [edi + 0x120], 0
jne 0x100c2f1f
mov dword [edi + 0xd4], 1
push 0
push 0
push 0
push edi
call fcn.100c99b0
add esp, 0x10
mov dword [edi + 0x5c], 1
pop esi
pop ebx
pop edi
pop ebp
ret
mov eax, dword [ebp + 0x30]
cmp eax, 4
je 0x100c2f66
cmp eax, 5
je 0x100c2f66
push 0
push ebx
push str.Internal:____s__is_not_a_parameter_entity_n
push 0x1b
push edi
call fcn.100cb060
add esp, 0x14
mov dword [edi + 0x5c], 1
pop esi
pop ebx
pop edi
pop ebp
ret
push 0
push ebp
push 0
push edi
call fcn.100c99b0
add esp, 0x10
test eax, eax
jne 0x100c30fd
cmp dword [ebp + 0x30], 5
jne 0x100c2f99
test byte [edi + 0x168], 0x1e
jne 0x100c2f99
cmp dword [edi + 0x10], eax
jne 0x100c2f99
cmp dword [edi + 0x68], eax
je 0x100c30fd
push ebp
push edi
call fcn.100f1830
mov esi, eax
push esi
push edi
call fcn.100c9d80
add esp, 0x10
test eax, eax
jns 0x100c2fc1
push esi
lfence
call fcn.100f0f80
add esp, 4
pop esi
pop ebx
pop edi
pop ebp
ret
cmp dword [ebp + 0x30], 5
jne 0x100c30f6
cmp dword [edi + 0x124], 0
jne 0x100c2ff4
lfence
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + 0x14]
sub ecx, dword [eax + 0x10]
cmp ecx, 0xfa
jge 0x100c2ff4
push edi
lfence
call fcn.100b6a20
add esp, 4
cmp dword [edi + 0xac], 0xffffffff
je 0x100c30fd
lfence
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + 0x14]
sub ecx, dword [eax + 0x10]
cmp ecx, 4
jl 0x100c3063
lfence
mov ecx, dword [edi + 0x24]
push 4
mov eax, dword [ecx + 0x10]
movzx eax, byte [eax]
mov byte [esp + 0x18], al
mov eax, dword [ecx + 0x10]
movzx eax, byte [eax + 1]
mov byte [esp + 0x19], al
mov eax, dword [ecx + 0x10]
movzx eax, byte [eax + 2]
mov byte [esp + 0x1a], al
mov eax, dword [ecx + 0x10]
movzx eax, byte [eax + 3]
mov byte [esp + 0x1b], al
lea eax, [esp + 0x18]
push eax
call fcn.100f54b0
add esp, 8
test eax, eax
je 0x100c3063
push eax
push edi
lfence
call fcn.100f2690
add esp, 8
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3c
jne 0x100c30f6
lfence
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 1], 0x3f
jne 0x100c30f6
lfence
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 2], 0x78
jne 0x100c30f6
lfence
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 3], 0x6d
jne 0x100c30f6
lfence
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 4], 0x6c
jne 0x100c30f6
lfence
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 5], 0x20
je 0x100c30ea
lfence
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 5], 9
jb 0x100c30db
lfence
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 5], 0xa
jbe 0x100c30ea
lfence
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 5], 0xd
jne 0x100c30f6
push edi
lfence
call fcn.100c7380
add esp, 4
mov dword [edi + 0x5c], 1
pop esi
pop ebx
pop edi
pop ebp
ret