Function at 0x414830
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x414c64
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x414c62
cmp eax, 0x29
jne 0x414870
cmp dword [esi + 0x10], 0
jne 0x414c62
test dword [esi + 0x50], 0x10000000
je 0x414c71
jmp 0x414bfb
cmp eax, 0x2e
jne 0x4148c6
push 5
lea ecx, [esi + 0x24]
call fcn.004190c0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x414c43
cmp byte [eax], 0x5c
jne 0x4148be
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4148be
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4148ab
mov dl, byte [ecx]
cmp dl, 0x28
je 0x4148bc
cmp dl, 0x29
je 0x4148bc
test bl, 0x10
jne 0x4148be
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4148bc
cmp dl, 0x7d
jne 0x4148be
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x414c43
cmp eax, 0x5c
jne 0x4149e4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41490d
cmp byte [eax], 0x5c
jne 0x41490a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41490a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4148f7
mov dl, byte [ecx]
cmp dl, 0x28
je 0x414908
cmp dl, 0x29
je 0x414908
test bl, 0x10
jne 0x41490a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x414908
cmp dl, 0x7d
jne 0x41490a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00419730
test byte [esi + 0x50], 0x80
je 0x4149d8
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x414979
push 4
lea ecx, [esi + 0x24]
call fcn.004190c0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41496d
cmp byte [eax], 0x5c
jne 0x41496a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41496a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x414957
mov dl, byte [ecx]
cmp dl, 0x28
je 0x414968
cmp dl, 0x29
je 0x414968
test bl, 0x10
jne 0x41496a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x414968
cmp dl, 0x7d
jne 0x41496a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00419730
jmp 0x414c54
cmp al, 0x42
jne 0x4149d8
push 4
lea ecx, [esi + 0x24]
call fcn.004190c0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4149cc
cmp byte [eax], 0x5c
jne 0x4149c9
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4149c9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4149b6
mov al, byte [ecx]
cmp al, 0x28
je 0x4149c7
cmp al, 0x29
je 0x4149c7
mov eax, dword [esi]
test dl, 0x10
jne 0x4149c9
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4149c7
cmp dl, 0x7d
jne 0x4149c9
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00419730
jmp 0x414c54
mov ecx, esi
call fcn.00414c90
jmp 0x414c4a
cmp eax, 0x5b
jne 0x414a8e
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x414a2b
cmp byte [eax], 0x5c
jne 0x414a28
lea ecx, [eax + 1]
cmp ecx, edx
je 0x414a28
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x414a15
mov al, byte [ecx]
cmp al, 0x28
je 0x414a26
cmp al, 0x29
je 0x414a26
mov eax, dword [esi]
test dl, 0x10
jne 0x414a28
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x414a26
cmp dl, 0x7d
jne 0x414a28
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00419730
lea ecx, [esi + 0x24]
call fcn.004140e0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x414a53
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.00419130
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x414a71
cmp eax, 0x5d
jne 0x414a71
push eax
lea ecx, [esi + 0x24]
call fcn.00414070
mov ecx, esi
call fcn.00419130
mov ecx, esi
call fcn.00415550
cmp dword [esi + 0x4c], 0x5d
jne 0x414c83
mov ecx, esi
call fcn.00419130
jmp 0x414c4a
cmp eax, 0x28
jne 0x414aff
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x414ad1
cmp byte [eax], 0x5c
jne 0x414ace
lea ecx, [eax + 1]
cmp ecx, edx
je 0x414ace
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x414abb
mov al, byte [ecx]
cmp al, 0x28
je 0x414acc
cmp al, 0x29
je 0x414acc
mov eax, dword [esi]
test dl, 0x10
jne 0x414ace
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x414acc
cmp dl, 0x7d
jne 0x414ace
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00419730
mov ecx, esi
call fcn.00419980
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x414c71
mov ecx, esi
call fcn.00419130
test bl, bl
je 0x414c54
jmp 0x414c4a
cmp eax, 0x5e
jne 0x414b58
push 2
lea ecx, [esi + 0x24]
call fcn.004190c0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x414b4c
cmp byte [eax], 0x5c
jne 0x414b49
lea ecx, [eax + 1]
cmp ecx, edx
je 0x414b49
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x414b36
mov al, byte [ecx]
cmp al, 0x28
je 0x414b47
cmp al, 0x29
je 0x414b47
mov eax, dword [esi]
test dl, 0x10
jne 0x414b49
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x414b47
cmp dl, 0x7d
jne 0x414b49
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00419730
jmp 0x414c54
cmp eax, 0x24
jne 0x414bb1
push 3
lea ecx, [esi + 0x24]
call fcn.004190c0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x414ba5
cmp byte [eax], 0x5c
jne 0x414ba2
lea ecx, [eax + 1]
cmp ecx, edx
je 0x414ba2
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x414b8f
mov al, byte [ecx]
cmp al, 0x28
je 0x414ba0
cmp al, 0x29
je 0x414ba0
mov eax, dword [esi]
test dl, 0x10
jne 0x414ba2
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x414ba0
cmp dl, 0x7d
jne 0x414ba2
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00419730
jmp 0x414c54
cmp eax, 0x2a
je 0x414c68
cmp eax, 0x2b
je 0x414c68
cmp eax, 0x3f
je 0x414c68
cmp eax, 0x7b
je 0x414c68
cmp eax, 0x7d
jne 0x414be9
test dword [esi + 0x50], 0x10000000
je 0x414c7a
jmp 0x414bfb
cmp eax, 0x5d
jne 0x414bfb
test dword [esi + 0x50], 0x10000000
je 0x414c83
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00413ec0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x414c43
cmp byte [eax], 0x5c
jne 0x414c41
inc eax
cmp eax, ecx
je 0x414c41
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x414c2e
mov dl, byte [eax]
cmp dl, 0x28
je 0x414c3f
cmp dl, 0x29
je 0x414c3f
test cl, 0x10
jne 0x414c41
mov cl, byte [eax]
cmp cl, 0x7b
je 0x414c3f
cmp cl, 0x7d
jne 0x414c41
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419730
mov ecx, esi
call fcn.00419300
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x414846
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.00417100
push 5
mov ecx, esi
call fcn.00417100
push 6
mov ecx, esi
call fcn.00417100
push 4
mov ecx, esi
call fcn.00417100
int3