Function at 0x100c81c0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x100c8627
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x100c8627
cmp eax, 0x29
jne 0x100c8200
cmp dword [esi + 0x10], 0
jne 0x100c8627
test dword [esi + 0x50], 0x10000000
je 0x100c8634
jmp 0x100c85c0
cmp eax, 0x2e
jne 0x100c8253
push 5
lea ecx, [esi + 0x24]
call fcn.100c8650
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100c8608
cmp byte [eax], 0x5c
jne 0x100c840f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100c840f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100c824b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100c840d
cmp dl, 0x29
je 0x100c840d
test bl, 0x10
jmp 0x100c83ff
cmp eax, 0x5c
jne 0x100c8371
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100c829a
cmp byte [eax], 0x5c
jne 0x100c8297
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100c8297
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100c8284
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100c8295
cmp dl, 0x29
je 0x100c8295
test bl, 0x10
jne 0x100c8297
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100c8295
cmp dl, 0x7d
jne 0x100c8297
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100c7440
test byte [esi + 0x50], 0x80
je 0x100c8365
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x100c8306
push 4
lea ecx, [esi + 0x24]
call fcn.100c8650
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100c82fa
cmp byte [eax], 0x5c
jne 0x100c82f7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100c82f7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100c82e4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100c82f5
cmp dl, 0x29
je 0x100c82f5
test bl, 0x10
jne 0x100c82f7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100c82f5
cmp dl, 0x7d
jne 0x100c82f7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100c7440
jmp 0x100c8619
cmp al, 0x42
jne 0x100c8365
push 4
lea ecx, [esi + 0x24]
call fcn.100c8650
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100c8359
cmp byte [eax], 0x5c
jne 0x100c8356
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100c8356
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100c8343
mov al, byte [ecx]
cmp al, 0x28
je 0x100c8354
cmp al, 0x29
je 0x100c8354
mov eax, dword [esi]
test dl, 0x10
jne 0x100c8356
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100c8354
cmp dl, 0x7d
jne 0x100c8356
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100c7440
jmp 0x100c8619
mov ecx, esi
call fcn.100c9640
jmp 0x100c860f
cmp eax, 0x5b
jne 0x100c8417
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100c83b8
cmp byte [eax], 0x5c
jne 0x100c83b5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100c83b5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100c83a2
mov al, byte [ecx]
cmp al, 0x28
je 0x100c83b3
cmp al, 0x29
je 0x100c83b3
mov eax, dword [esi]
test dl, 0x10
jne 0x100c83b5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100c83b3
cmp dl, 0x7d
jne 0x100c83b5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100c7440
mov ecx, esi
call fcn.100c9510
cmp dword [esi + 0x4c], 0x5d
jne 0x100c8642
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100c8608
cmp byte [eax], 0x5c
jne 0x100c840f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100c840f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100c83fc
mov al, byte [ecx]
cmp al, 0x28
je 0x100c840d
cmp al, 0x29
je 0x100c840d
mov eax, dword [esi]
test dl, 0x10
jne 0x100c840f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100c840d
cmp dl, 0x7d
jne 0x100c840f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x100c8608
cmp eax, 0x28
jne 0x100c84ca
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100c845e
cmp byte [eax], 0x5c
jne 0x100c845b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100c845b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100c8448
mov al, byte [ecx]
cmp al, 0x28
je 0x100c8459
cmp al, 0x29
je 0x100c8459
mov eax, dword [esi]
test dl, 0x10
jne 0x100c845b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100c8459
cmp dl, 0x7d
jne 0x100c845b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100c7440
mov ecx, esi
call fcn.100c9790
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x100c8634
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100c84b6
cmp byte [eax], 0x5c
jne 0x100c84b3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100c84b3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100c84a0
mov al, byte [ecx]
cmp al, 0x28
je 0x100c84b1
cmp al, 0x29
je 0x100c84b1
mov eax, dword [esi]
test dl, 0x10
jne 0x100c84b3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100c84b1
cmp dl, 0x7d
jne 0x100c84b3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.100c7440
test bl, bl
je 0x100c8619
jmp 0x100c860f
cmp eax, 0x5e
jne 0x100c8520
push 2
lea ecx, [esi + 0x24]
call fcn.100c8650
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100c8514
cmp byte [eax], 0x5c
jne 0x100c8512
inc eax
cmp eax, ecx
je 0x100c8512
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100c84ff
mov dl, byte [eax]
cmp dl, 0x28
je 0x100c8510
cmp dl, 0x29
je 0x100c8510
test cl, 0x10
jne 0x100c8512
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100c8510
cmp cl, 0x7d
jne 0x100c8512
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100c7440
jmp 0x100c8619
cmp eax, 0x24
jne 0x100c8576
push 3
lea ecx, [esi + 0x24]
call fcn.100c8650
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100c856a
cmp byte [eax], 0x5c
jne 0x100c8568
inc eax
cmp eax, ecx
je 0x100c8568
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100c8555
mov dl, byte [eax]
cmp dl, 0x28
je 0x100c8566
cmp dl, 0x29
je 0x100c8566
test cl, 0x10
jne 0x100c8568
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100c8566
cmp cl, 0x7d
jne 0x100c8568
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100c7440
jmp 0x100c8619
cmp eax, 0x2a
je 0x100c862d
cmp eax, 0x2b
je 0x100c862d
cmp eax, 0x3f
je 0x100c862d
cmp eax, 0x7b
je 0x100c862d
cmp eax, 0x7d
jne 0x100c85ae
test dword [esi + 0x50], 0x10000000
je 0x100c863b
jmp 0x100c85c0
cmp eax, 0x5d
jne 0x100c85c0
test dword [esi + 0x50], 0x10000000
je 0x100c8642
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100c9c20
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100c8608
cmp byte [eax], 0x5c
jne 0x100c8606
inc eax
cmp eax, ecx
je 0x100c8606
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100c85f3
mov dl, byte [eax]
cmp dl, 0x28
je 0x100c8604
cmp dl, 0x29
je 0x100c8604
test cl, 0x10
jne 0x100c8606
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100c8604
cmp cl, 0x7d
jne 0x100c8606
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100c7440
mov ecx, esi
call fcn.100c99f0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x100c81d6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.100c7430
push 5
call fcn.100c7430
push 6
call fcn.100c7430
push 4
call fcn.100c7430
int3