Function at 0x102b0140
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 0x102b04d4
mov ecx, dword [esi + 0xac]
lea eax, [ecx + 1]
cmp eax, 0x11
push ebp
mov ebp, 1
ja case.default.0x102b0173
movzx eax, byte [eax + 0x102b04ec]
jmp dword [eax*4 + 0x102b04d8]
xor ecx, ecx
mov edx, 0x12
call fcn.102ab860
pop ebp
pop esi
ret
cmp dword [esi + 0xd4], 0
je 0x102b019b
cmp ecx, 0xffffffff
je case.0x102b0173.2
push 0
push 0x10362328
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 3
mov dword [esi + 0x54], 0x13
push 0x13
jmp 0x102b01ef
cmp dword [esi + 0xd4], 0
je 0x102b01cf
cmp ecx, 0xffffffff
je case.0x102b0173.2
push 0
push 0x10362310
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.102c51d0
add esp, 0x44
cmp dword [esi + 0x120], 0
mov dword [esi + 0xc], 0
jne case.0x102b0173.2
mov dword [esi + 0xd4], ebp
pop ebp
pop esi
ret
cmp dword [esi + 0x60], 0
jne 0x102b022d
cmp dword [esi + 0x28], ebp
je case.0x102b0173.2
mov al, byte [edx + 1]
cmp al, 0x20
je case.0x102b0173.2
cmp al, 9
jb 0x102b0244
cmp al, 0xa
jbe case.0x102b0173.2
cmp al, 0xd
je case.0x102b0173.2
test al, al
je case.0x102b0173.2
push ebx
push edi
push esi
call fcn.102bf8a0
push esi
call fcn.102b3d00
add esp, 8
mov edi, eax
call fcn.102ab6d0
cmp dword [eax], 0
je 0x102b028d
call fcn.102ab5b0
mov ebx, eax
call fcn.102ab5f0
mov ecx, dword [eax]
mov edx, dword [ebx]
push edi
push 0x103627dc
push ecx
call edx
add esp, 0xc
xor ebx, ebx
cmp edi, ebx
jne 0x102b02c5
cmp dword [esi + 0xd4], ebx
je 0x102b02a8
cmp dword [esi + 0xac], 0xffffffff
je 0x102b04d1
push ebx
push 0x103622f8
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 3
mov dword [esi + 0x54], 0x18
push 0x18
jmp 0x102b04b2
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x10]
cmp byte [ecx], 0x3b
jne 0x102b0489
push esi
call fcn.102bf8a0
mov eax, dword [esi]
add esp, 4
cmp eax, ebx
je 0x102b02fa
mov eax, dword [eax + 0x60]
cmp eax, ebx
je 0x102b02fa
mov edx, dword [esi + 4]
push edi
push edx
call eax
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x102b036c
cmp dword [esi + 0x1c], ebp
je 0x102b0356
cmp dword [esi + 0x58], 0
jne 0x102b030b
cmp dword [esi + 0x5c], 0
je 0x102b0356
cmp dword [esi + 0x68], 0
je 0x102b0337
cmp dword [esi + 0x70], 0
je 0x102b0337
mov edx, edi
push 0x103625f8
mov edi, 0x1b
call fcn.102abcf0
add esp, 4
pop edi
pop ebx
pop ebp
mov dword [esi + 0x64], 0
pop esi
ret
push 0x1b
xor ecx, ecx
mov ebx, 0x103625f8
mov eax, esi
call fcn.102abc80
add esp, 4
pop edi
pop ebx
pop ebp
mov dword [esi + 0x64], 0
pop esi
ret
mov eax, edi
mov edx, 0x103625f8
mov ecx, 0x1a
call fcn.102abe20
pop edi
pop ebx
pop ebp
pop esi
ret
mov eax, dword [esi + 0x24]
cmp dword [eax + 0x28], 0x102acbb0
je 0x102b038f
push ebx
mov eax, esi
call fcn.102acbc0
push eax
push esi
call fcn.102ae690
add esp, 0xc
pop edi
pop ebx
pop ebp
pop esi
ret
mov eax, dword [ebx + 0x30]
cmp eax, 4
je 0x102b03b2
cmp eax, 5
je 0x102b03b2
mov eax, edi
mov edx, 0x103627b0
mov ecx, 0x1e
call fcn.102abe20
pop edi
pop ebx
pop ebp
pop esi
ret
push ebx
push esi
call fcn.102c04d0
push eax
push esi
call fcn.102ae690
add esp, 0x10
cmp dword [esi + 0x124], 0
jne 0x102b03e2
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x14]
sub ecx, dword [eax + 0x10]
cmp ecx, 0xfa
jge 0x102b03e2
call fcn.102ae520
mov eax, dword [esi + 0x24]
mov edx, dword [eax + 0x14]
sub edx, dword [eax + 0x10]
cmp edx, 4
jl 0x102b0437
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.102d9020
add esp, 8
test eax, eax
je 0x102b0437
push eax
push esi
call fcn.102c0b30
add esp, 8
cmp dword [ebx + 0x30], 5
jne 0x102b04d1
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x3c
jne 0x102b04d1
cmp byte [eax + 1], 0x3f
jne 0x102b04d1
cmp byte [eax + 2], 0x78
jne 0x102b04d1
cmp byte [eax + 3], 0x6d
jne 0x102b04d1
cmp byte [eax + 4], 0x6c
jne 0x102b04d1
mov al, byte [eax + 5]
cmp al, 0x20
je 0x102b047b
cmp al, 9
jb 0x102b0477
cmp al, 0xa
jbe 0x102b047b
cmp al, 0xd
jne 0x102b04d1
push esi
call fcn.102afa30
add esp, 4
pop edi
pop ebx
pop ebp
pop esi
ret
cmp dword [esi + 0xd4], ebx
je 0x102b049a
cmp dword [esi + 0xac], 0xffffffff
je 0x102b04d1
push ebx
push 0x103622dc
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 3
mov dword [esi + 0x54], 0x19
push 0x19
push ebp
push ebx
push esi
push ebx
push ebx
push ebx
call fcn.102c51d0
add esp, 0x44
cmp dword [esi + 0x120], ebx
mov dword [esi + 0xc], ebx
jne 0x102b04d1
mov dword [esi + 0xd4], ebp
pop edi
pop ebx
pop ebp
pop esi
ret