Function at 0x100b6460
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x24]
mov edx, dword [eax + 0x10]
cmp byte [edx], 0x25
jne 0x100b67fb
mov ecx, dword [esi + 0xac]
lea eax, [ecx + 1]
push ebp
mov ebp, 1
cmp eax, 0x11
ja case.default.0x100b6493
movzx eax, byte [eax + 0x100b6814]
jmp dword [eax*4 + 0x100b6800]
xor ecx, ecx
lea edx, [ecx + 0x12]
call fcn.100b1bd0
pop ebp
pop esi
ret
cmp dword [esi + 0xd4], 0
je 0x100b64b9
cmp ecx, 0xffffffff
je case.0x100b6493.2
push 0
push str.PEReference_in_prolog_n
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 3
mov dword [esi + 0x54], 0x13
push 0x13
jmp 0x100b650d
cmp dword [esi + 0xd4], 0
je 0x100b64ed
cmp ecx, 0xffffffff
je case.0x100b6493.2
push 0
push str.PEReference_in_epilog_n
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 3
mov dword [esi + 0x54], 0x14
push 0x14
push ebp
push 0
push esi
push 0
push 0
push 0
call fcn.100cebb0
add esp, 0x44
cmp dword [esi + 0x120], 0
mov dword [esi + 0xc], 0
jne case.0x100b6493.2
mov dword [esi + 0xd4], ebp
pop ebp
pop esi
ret
cmp dword [esi + 0x60], 0
jne 0x100b654b
cmp dword [esi + 0x28], ebp
je case.0x100b6493.2
mov al, byte [edx + 1]
cmp al, 0x20
je case.0x100b6493.2
cmp al, 9
jb 0x100b6562
cmp al, 0xa
jbe case.0x100b6493.2
cmp al, 0xd
je case.0x100b6493.2
test al, al
je case.0x100b6493.2
push ebx
push edi
push esi
call fcn.100cf380
push esi
call fcn.100b6ee0
add esp, 8
mov ebx, eax
call fcn.100d2b80
cmp dword [eax], 0
je 0x100b65ab
call fcn.100d2a40
mov edi, eax
call fcn.100d2a80
mov ecx, dword [eax]
mov edx, dword [edi]
push ebx
push str.PEReference:__s_n
push ecx
call edx
add esp, 0xc
xor edi, edi
cmp ebx, edi
jne 0x100b65e3
cmp dword [esi + 0xd4], edi
je 0x100b65c6
cmp dword [esi + 0xac], 0xffffffff
je 0x100b67f8
push edi
push str.PEReference:_no_name_n
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 3
mov dword [esi + 0x54], 0x18
push 0x18
jmp 0x100b67d9
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x10]
cmp byte [ecx], 0x3b
jne 0x100b67b0
push esi
call fcn.100cf380
mov eax, dword [esi]
add esp, 4
cmp eax, edi
je 0x100b6618
mov eax, dword [eax + 0x60]
cmp eax, edi
je 0x100b6618
mov edx, dword [esi + 4]
push ebx
push edx
call eax
mov edi, eax
add esp, 8
test edi, edi
jne 0x100b668b
cmp dword [esi + 0x1c], ebp
je 0x100b6675
cmp dword [esi + 0x58], 0
jne 0x100b6629
cmp dword [esi + 0x5c], 0
je 0x100b6675
cmp dword [esi + 0x68], 0
je 0x100b6655
cmp dword [esi + 0x70], 0
je 0x100b6655
xor eax, eax
push str.PEReference:____s__not_found_n
mov ecx, ebx
lea edx, [eax + 0x1b]
call fcn.100b2090
add esp, 4
pop edi
pop ebx
pop ebp
mov dword [esi + 0x64], 0
pop esi
ret
push 0x1b
mov edx, ebx
push esi
xor ecx, ecx
mov ebx, str.PEReference:____s__not_found_n
call fcn.100b2000
add esp, 8
pop edi
pop ebx
pop ebp
mov dword [esi + 0x64], 0
pop esi
ret
mov eax, ebx
mov edx, str.PEReference:____s__not_found_n
mov ecx, 0x1a
call fcn.100b21f0
pop edi
pop ebx
pop ebp
pop esi
ret
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x28], 0x100b30a0
je 0x100b66ae
push edi
mov eax, esi
call fcn.100b30b0
push eax
push esi
call fcn.100b4d10
add esp, 0xc
pop edi
pop ebx
pop ebp
pop esi
ret
mov eax, dword [edi + 0x30]
cmp eax, 4
je 0x100b66d1
cmp eax, 5
je 0x100b66d1
mov eax, ebx
mov edx, str.PEReference:__s_is_not_a_parameter_entity_n
mov ecx, 0x1e
call fcn.100b21f0
pop edi
pop ebx
pop ebp
pop esi
ret
push edi
push esi
call fcn.100d00d0
push eax
push esi
call fcn.100b4d10
add esp, 0x10
test eax, eax
jl 0x100b67f8
cmp dword [esi + 0x124], 0
jne 0x100b6709
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x14]
sub ecx, dword [eax + 0x10]
cmp ecx, 0xfa
jge 0x100b6709
call fcn.100b4ba0
mov eax, dword [esi + 0x24]
mov edx, dword [eax + 0x14]
sub edx, dword [eax + 0x10]
cmp edx, 4
jl 0x100b675e
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx]
mov byte [esp + 0x14], dl
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 1]
mov byte [esp + 0x15], dl
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 2]
mov byte [esp + 0x16], dl
mov eax, dword [eax + 0x10]
mov cl, byte [eax + 3]
lea edx, [esp + 0x14]
push 4
push edx
mov byte [esp + 0x1f], cl
call fcn.100e60f0
add esp, 8
test eax, eax
je 0x100b675e
push eax
push esi
call fcn.100d0780
add esp, 8
cmp dword [edi + 0x30], 5
jne 0x100b67f8
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3c
jne 0x100b67f8
cmp byte [eax + 1], 0x3f
jne 0x100b67f8
cmp byte [eax + 2], 0x78
jne 0x100b67f8
cmp byte [eax + 3], 0x6d
jne 0x100b67f8
cmp byte [eax + 4], 0x6c
jne 0x100b67f8
mov al, byte [eax + 5]
cmp al, 0x20
je 0x100b67a2
cmp al, 9
jb 0x100b679e
cmp al, 0xa
jbe 0x100b67a2
cmp al, 0xd
jne 0x100b67f8
push esi
call fcn.100b5ca0
add esp, 4
pop edi
pop ebx
pop ebp
pop esi
ret
cmp dword [esi + 0xd4], edi
je 0x100b67c1
cmp dword [esi + 0xac], 0xffffffff
je 0x100b67f8
push edi
push str.PEReference:_expecting___n
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 3
mov dword [esi + 0x54], 0x19
push 0x19
push ebp
push edi
push esi
push edi
push edi
push edi
call fcn.100cebb0
add esp, 0x44
mov dword [esi + 0xc], edi
cmp dword [esi + 0x120], edi
jne 0x100b67f8
mov dword [esi + 0xd4], ebp
pop edi
pop ebx
pop ebp
pop esi
ret