Function at 0x419c90
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x41a0c4
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x41a0c2
cmp eax, 0x29
jne 0x419cd0
cmp dword [esi + 0x10], 0
jne 0x41a0c2
test dword [esi + 0x50], 0x10000000
je 0x41a0d1
jmp 0x41a05b
cmp eax, 0x2e
jne 0x419d26
push 5
lea ecx, [esi + 0x24]
call fcn.0041c7b0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41a0a3
cmp byte [eax], 0x5c
jne 0x419d1e
lea ecx, [eax + 1]
cmp ecx, edx
je 0x419d1e
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x419d0b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x419d1c
cmp dl, 0x29
je 0x419d1c
test bl, 0x10
jne 0x419d1e
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x419d1c
cmp dl, 0x7d
jne 0x419d1e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41a0a3
cmp eax, 0x5c
jne 0x419e44
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x419d6d
cmp byte [eax], 0x5c
jne 0x419d6a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x419d6a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x419d57
mov dl, byte [ecx]
cmp dl, 0x28
je 0x419d68
cmp dl, 0x29
je 0x419d68
test bl, 0x10
jne 0x419d6a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x419d68
cmp dl, 0x7d
jne 0x419d6a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cad0
test byte [esi + 0x50], 0x80
je 0x419e38
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x419dd9
push 4
lea ecx, [esi + 0x24]
call fcn.0041c7b0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x419dcd
cmp byte [eax], 0x5c
jne 0x419dca
lea ecx, [eax + 1]
cmp ecx, edx
je 0x419dca
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x419db7
mov dl, byte [ecx]
cmp dl, 0x28
je 0x419dc8
cmp dl, 0x29
je 0x419dc8
test bl, 0x10
jne 0x419dca
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x419dc8
cmp dl, 0x7d
jne 0x419dca
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cad0
jmp 0x41a0b4
cmp al, 0x42
jne 0x419e38
push 4
lea ecx, [esi + 0x24]
call fcn.0041c7b0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x419e2c
cmp byte [eax], 0x5c
jne 0x419e29
lea ecx, [eax + 1]
cmp ecx, edx
je 0x419e29
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x419e16
mov al, byte [ecx]
cmp al, 0x28
je 0x419e27
cmp al, 0x29
je 0x419e27
mov eax, dword [esi]
test dl, 0x10
jne 0x419e29
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x419e27
cmp dl, 0x7d
jne 0x419e29
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cad0
jmp 0x41a0b4
mov ecx, esi
call fcn.0041a0f0
jmp 0x41a0aa
cmp eax, 0x5b
jne 0x419eee
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x419e8b
cmp byte [eax], 0x5c
jne 0x419e88
lea ecx, [eax + 1]
cmp ecx, edx
je 0x419e88
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x419e75
mov al, byte [ecx]
cmp al, 0x28
je 0x419e86
cmp al, 0x29
je 0x419e86
mov eax, dword [esi]
test dl, 0x10
jne 0x419e88
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x419e86
cmp dl, 0x7d
jne 0x419e88
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cad0
lea ecx, [esi + 0x24]
call fcn.004192c0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x419eb3
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.0041c830
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x419ed1
cmp eax, 0x5d
jne 0x419ed1
push eax
lea ecx, [esi + 0x24]
call fcn.00419250
mov ecx, esi
call fcn.0041c830
mov ecx, esi
call fcn.0041a950
cmp dword [esi + 0x4c], 0x5d
jne 0x41a0e3
mov ecx, esi
call fcn.0041c830
jmp 0x41a0aa
cmp eax, 0x28
jne 0x419f5f
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x419f31
cmp byte [eax], 0x5c
jne 0x419f2e
lea ecx, [eax + 1]
cmp ecx, edx
je 0x419f2e
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x419f1b
mov al, byte [ecx]
cmp al, 0x28
je 0x419f2c
cmp al, 0x29
je 0x419f2c
mov eax, dword [esi]
test dl, 0x10
jne 0x419f2e
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x419f2c
cmp dl, 0x7d
jne 0x419f2e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cad0
mov ecx, esi
call fcn.0041cd10
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41a0d1
mov ecx, esi
call fcn.0041c830
test bl, bl
je 0x41a0b4
jmp 0x41a0aa
cmp eax, 0x5e
jne 0x419fb8
push 2
lea ecx, [esi + 0x24]
call fcn.0041c7b0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x419fac
cmp byte [eax], 0x5c
jne 0x419fa9
lea ecx, [eax + 1]
cmp ecx, edx
je 0x419fa9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x419f96
mov al, byte [ecx]
cmp al, 0x28
je 0x419fa7
cmp al, 0x29
je 0x419fa7
mov eax, dword [esi]
test dl, 0x10
jne 0x419fa9
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x419fa7
cmp dl, 0x7d
jne 0x419fa9
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cad0
jmp 0x41a0b4
cmp eax, 0x24
jne 0x41a011
push 3
lea ecx, [esi + 0x24]
call fcn.0041c7b0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41a005
cmp byte [eax], 0x5c
jne 0x41a002
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41a002
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x419fef
mov al, byte [ecx]
cmp al, 0x28
je 0x41a000
cmp al, 0x29
je 0x41a000
mov eax, dword [esi]
test dl, 0x10
jne 0x41a002
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41a000
cmp dl, 0x7d
jne 0x41a002
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cad0
jmp 0x41a0b4
cmp eax, 0x2a
je 0x41a0c8
cmp eax, 0x2b
je 0x41a0c8
cmp eax, 0x3f
je 0x41a0c8
cmp eax, 0x7b
je 0x41a0c8
cmp eax, 0x7d
jne 0x41a049
test dword [esi + 0x50], 0x10000000
je 0x41a0da
jmp 0x41a05b
cmp eax, 0x5d
jne 0x41a05b
test dword [esi + 0x50], 0x10000000
je 0x41a0e3
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00419090
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41a0a3
cmp byte [eax], 0x5c
jne 0x41a0a1
inc eax
cmp eax, ecx
je 0x41a0a1
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41a08e
mov dl, byte [eax]
cmp dl, 0x28
je 0x41a09f
cmp dl, 0x29
je 0x41a09f
test cl, 0x10
jne 0x41a0a1
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41a09f
cmp cl, 0x7d
jne 0x41a0a1
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041cad0
mov ecx, esi
call fcn.0041c890
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x419ca6
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.0041ba40
push 5
mov ecx, esi
call fcn.0041ba40
push 6
mov ecx, esi
call fcn.0041ba40
push 4
mov ecx, esi
call fcn.0041ba40
int3