Function at 0x10011470
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x10011879
cmp eax, 0x7c
je 0x10011879
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x29
jne 0x100114b4
cmp dword [esi + 0x10], 0
jne 0x10011877
test dword [esi + 0x50], 0x10000000
je 0x10011889
jmp 0x1001180c
cmp eax, 0x2e
jne 0x10011514
push 5
lea ecx, [esi + 0x24]
call fcn.10013ab0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10011853
cmp byte [eax], 0x5c
jne 0x1001150c
lea edx, [eax + 1]
cmp edx, ecx
je 0x1001150c
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100114f6
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x10011509
cmp byte [ebp - 1], 0x29
je 0x10011509
test bl, 0x10
jne 0x1001150c
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x10011509
cmp dl, 0x7d
jne 0x1001150c
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x10011853
cmp eax, 0x5c
jne 0x1001165f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10011565
cmp byte [eax], 0x5c
jne 0x10011562
lea edx, [eax + 1]
cmp edx, ecx
je 0x10011562
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1001154c
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x1001155f
cmp byte [ebp - 1], 0x29
je 0x1001155f
test bl, 0x10
jne 0x10011562
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x1001155f
cmp dl, 0x7d
jne 0x10011562
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10013fd0
test byte [esi + 0x50], 0x80
je 0x10011653
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x100115d9
push 4
lea ecx, [esi + 0x24]
call fcn.10013ab0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100115cd
cmp byte [eax], 0x5c
jne 0x100115ca
lea edx, [eax + 1]
cmp edx, ecx
je 0x100115ca
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100115b4
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x100115c7
cmp bl, 0x29
je 0x100115c7
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x100115ca
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x100115c7
cmp dl, 0x7d
jne 0x100115ca
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10013fd0
jmp 0x10011864
cmp al, 0x42
jne 0x10011653
push 4
lea ecx, [esi + 0x24]
call fcn.10013ab0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edx, dword [edi]
mov eax, dword [esi]
cmp eax, edx
je 0x10011647
cmp byte [eax], 0x5c
jne 0x10011644
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x10011642
test byte [esi + 0x50], 8
jne 0x1001161a
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x10011630
cmp cl, 0x29
je 0x10011630
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10011642
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x10011630
mov edx, ecx
cmp bl, 0x7d
jne 0x10011642
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.10013fd0
jmp 0x10011864
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10013fd0
jmp 0x10011864
mov ecx, esi
call fcn.100118b0
jmp 0x1001185a
cmp eax, 0x5b
jne 0x10011718
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100116b5
cmp byte [eax], 0x5c
jne 0x100116b2
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x100116b0
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10011696
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x100116ab
cmp cl, 0x29
je 0x100116ab
mov ecx, eax
test bl, 0x10
jne 0x100116b0
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x100116ab
mov edx, ecx
cmp bl, 0x7d
jne 0x100116b0
lea eax, [edx + 1]
jmp 0x100116b2
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10013fd0
lea ecx, [esi + 0x24]
call fcn.10010cc0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x100116dd
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.10013b20
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x100116fb
cmp eax, 0x5d
jne 0x100116fb
push eax
lea ecx, [esi + 0x24]
call fcn.10010c50
mov ecx, esi
call fcn.10013b20
mov ecx, esi
call fcn.10012280
cmp dword [esi + 0x4c], 0x5d
jne 0x1001189b
mov ecx, esi
call fcn.10013b20
jmp 0x1001185a
cmp eax, 0x28
jne 0x10011797
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10011769
cmp byte [eax], 0x5c
jne 0x10011766
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x10011764
test byte [esi + 0x50], 8
jne 0x10011749
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x1001175f
cmp cl, 0x29
je 0x1001175f
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10011764
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x1001175f
mov edx, ecx
cmp bl, 0x7d
jne 0x10011764
lea eax, [edx + 1]
jmp 0x10011766
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10013fd0
mov ecx, esi
call fcn.100141d0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x10011889
mov ecx, esi
call fcn.10013b20
test bl, bl
je 0x10011864
jmp 0x1001185a
cmp eax, 0x5e
jne 0x100117ab
push 2
lea ecx, [esi + 0x24]
call fcn.10013ab0
jmp 0x100115ee
cmp eax, 0x24
jne 0x100117c2
push 3
lea ecx, [esi + 0x24]
call fcn.10013ab0
lea edi, [esi + 8]
jmp 0x100115ee
cmp eax, 0x2a
je 0x10011880
cmp eax, 0x2b
je 0x10011880
cmp eax, 0x3f
je 0x10011880
cmp eax, 0x7b
je 0x10011880
cmp eax, 0x7d
jne 0x100117fa
test dword [esi + 0x50], 0x10000000
je 0x10011892
jmp 0x1001180c
cmp eax, 0x5d
jne 0x1001180c
test dword [esi + 0x50], 0x10000000
je 0x1001189b
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10010aa0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10011853
cmp byte [eax], 0x5c
jne 0x10011851
inc eax
cmp eax, ecx
je 0x10011851
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10011840
mov dl, byte [eax]
cmp dl, 0x28
je 0x1001184f
cmp dl, 0x29
je 0x1001184f
test cl, 0x10
jne 0x10011851
mov al, byte [eax]
cmp al, 0x7b
je 0x1001184f
cmp al, 0x7d
jne 0x10011851
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.10013fd0
mov ecx, esi
call fcn.10013b80
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x10011877
cmp eax, 0x7c
jne 0x10011493
pop ebx
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret
push 0xa
mov ecx, esi
call fcn.10012fe0
push 5
mov ecx, esi
call fcn.10012fe0
push 6
mov ecx, esi
call fcn.10012fe0
push 4
mov ecx, esi
call fcn.10012fe0
int3