Function at 0x41c8f0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x41cd24
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x41cd22
cmp eax, 0x29
jne 0x41c930
cmp dword [esi + 0x10], 0
jne 0x41cd22
test dword [esi + 0x50], 0x10000000
je 0x41cd31
jmp 0x41ccbb
cmp eax, 0x2e
jne 0x41c986
push 5
lea ecx, [esi + 0x24]
call fcn.0041f3d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41cd03
cmp byte [eax], 0x5c
jne 0x41c97e
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41c97e
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41c96b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41c97c
cmp dl, 0x29
je 0x41c97c
test bl, 0x10
jne 0x41c97e
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41c97c
cmp dl, 0x7d
jne 0x41c97e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41cd03
cmp eax, 0x5c
jne 0x41caa4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41c9cd
cmp byte [eax], 0x5c
jne 0x41c9ca
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41c9ca
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41c9b7
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41c9c8
cmp dl, 0x29
je 0x41c9c8
test bl, 0x10
jne 0x41c9ca
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41c9c8
cmp dl, 0x7d
jne 0x41c9ca
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041fe70
test byte [esi + 0x50], 0x80
je 0x41ca98
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x41ca39
push 4
lea ecx, [esi + 0x24]
call fcn.0041f3d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41ca2d
cmp byte [eax], 0x5c
jne 0x41ca2a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41ca2a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41ca17
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41ca28
cmp dl, 0x29
je 0x41ca28
test bl, 0x10
jne 0x41ca2a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41ca28
cmp dl, 0x7d
jne 0x41ca2a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041fe70
jmp 0x41cd14
cmp al, 0x42
jne 0x41ca98
push 4
lea ecx, [esi + 0x24]
call fcn.0041f3d0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41ca8c
cmp byte [eax], 0x5c
jne 0x41ca89
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41ca89
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41ca76
mov al, byte [ecx]
cmp al, 0x28
je 0x41ca87
cmp al, 0x29
je 0x41ca87
mov eax, dword [esi]
test dl, 0x10
jne 0x41ca89
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41ca87
cmp dl, 0x7d
jne 0x41ca89
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041fe70
jmp 0x41cd14
mov ecx, esi
call fcn.0041ce40
jmp 0x41cd0a
cmp eax, 0x5b
jne 0x41cb4e
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41caeb
cmp byte [eax], 0x5c
jne 0x41cae8
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41cae8
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41cad5
mov al, byte [ecx]
cmp al, 0x28
je 0x41cae6
cmp al, 0x29
je 0x41cae6
mov eax, dword [esi]
test dl, 0x10
jne 0x41cae8
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41cae6
cmp dl, 0x7d
jne 0x41cae8
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041fe70
lea ecx, [esi + 0x24]
call fcn.0041bf80
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x41cb13
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.0041f450
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x41cb31
cmp eax, 0x5d
jne 0x41cb31
push eax
lea ecx, [esi + 0x24]
call fcn.0041bf10
mov ecx, esi
call fcn.0041f450
mov ecx, esi
call fcn.0041d6f0
cmp dword [esi + 0x4c], 0x5d
jne 0x41cd43
mov ecx, esi
call fcn.0041f450
jmp 0x41cd0a
cmp eax, 0x28
jne 0x41cbbf
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41cb91
cmp byte [eax], 0x5c
jne 0x41cb8e
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41cb8e
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41cb7b
mov al, byte [ecx]
cmp al, 0x28
je 0x41cb8c
cmp al, 0x29
je 0x41cb8c
mov eax, dword [esi]
test dl, 0x10
jne 0x41cb8e
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41cb8c
cmp dl, 0x7d
jne 0x41cb8e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041fe70
mov ecx, esi
call fcn.00420070
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41cd31
mov ecx, esi
call fcn.0041f450
test bl, bl
je 0x41cd14
jmp 0x41cd0a
cmp eax, 0x5e
jne 0x41cc18
push 2
lea ecx, [esi + 0x24]
call fcn.0041f3d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41cc0c
cmp byte [eax], 0x5c
jne 0x41cc09
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41cc09
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41cbf6
mov al, byte [ecx]
cmp al, 0x28
je 0x41cc07
cmp al, 0x29
je 0x41cc07
mov eax, dword [esi]
test dl, 0x10
jne 0x41cc09
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41cc07
cmp dl, 0x7d
jne 0x41cc09
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041fe70
jmp 0x41cd14
cmp eax, 0x24
jne 0x41cc71
push 3
lea ecx, [esi + 0x24]
call fcn.0041f3d0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41cc65
cmp byte [eax], 0x5c
jne 0x41cc62
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41cc62
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41cc4f
mov al, byte [ecx]
cmp al, 0x28
je 0x41cc60
cmp al, 0x29
je 0x41cc60
mov eax, dword [esi]
test dl, 0x10
jne 0x41cc62
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41cc60
cmp dl, 0x7d
jne 0x41cc62
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041fe70
jmp 0x41cd14
cmp eax, 0x2a
je 0x41cd28
cmp eax, 0x2b
je 0x41cd28
cmp eax, 0x3f
je 0x41cd28
cmp eax, 0x7b
je 0x41cd28
cmp eax, 0x7d
jne 0x41cca9
test dword [esi + 0x50], 0x10000000
je 0x41cd3a
jmp 0x41ccbb
cmp eax, 0x5d
jne 0x41ccbb
test dword [esi + 0x50], 0x10000000
je 0x41cd43
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041bd50
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41cd03
cmp byte [eax], 0x5c
jne 0x41cd01
inc eax
cmp eax, ecx
je 0x41cd01
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41ccee
mov dl, byte [eax]
cmp dl, 0x28
je 0x41ccff
cmp dl, 0x29
je 0x41ccff
test cl, 0x10
jne 0x41cd01
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41ccff
cmp cl, 0x7d
jne 0x41cd01
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041fe70
mov ecx, esi
call fcn.0041f690
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x41c906
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.0041e730
push 5
mov ecx, esi
call fcn.0041e730
push 6
mov ecx, esi
call fcn.0041e730
push 4
mov ecx, esi
call fcn.0041e730
int3