Function at 0x415470
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 0x41591d
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x41591d
cmp eax, 0x29
jne 0x4154b0
cmp dword [esi + 0x10], 0
jne 0x41591d
test dword [esi + 0x50], 0x10000000
je 0x41592a
jmp 0x4158b0
cmp eax, 0x2e
jne 0x415505
push 5
lea ecx, [esi + 0x24]
call fcn.00415940
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4158fe
cmp word [eax], 0x5c
jne 0x4156e3
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4156e3
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4154fd
movzx edx, word [ecx]
cmp edx, 0x28
je 0x4156e1
cmp edx, 0x29
je 0x4156e1
test bl, 0x10
jmp 0x4156d2
cmp eax, 0x5c
jne 0x415639
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415551
cmp word [eax], 0x5c
jne 0x41554c
lea ecx, [eax + 2]
cmp ecx, edx
je 0x41554c
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x415538
movzx edx, word [ecx]
cmp edx, 0x28
je 0x41554a
cmp edx, 0x29
je 0x41554a
test bl, 0x10
jne 0x41554c
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x41554a
cmp edx, 0x7d
jne 0x41554c
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004141f0
test byte [esi + 0x50], 0x80
je 0x41562d
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x4155c6
push 4
lea ecx, [esi + 0x24]
call fcn.00415940
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4155ba
cmp word [eax], 0x5c
jne 0x4155b5
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4155b5
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4155a1
movzx edx, word [ecx]
cmp edx, 0x28
je 0x4155b3
cmp edx, 0x29
je 0x4155b3
test bl, 0x10
jne 0x4155b5
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x4155b3
cmp edx, 0x7d
jne 0x4155b5
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004141f0
jmp 0x41590f
cmp ecx, 0x42
jne 0x41562d
push 4
lea ecx, [esi + 0x24]
call fcn.00415940
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415621
cmp word [eax], 0x5c
jne 0x41561c
lea ecx, [eax + 2]
cmp ecx, edx
je 0x41561c
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x415608
movzx eax, word [ecx]
cmp eax, 0x28
je 0x41561a
cmp eax, 0x29
je 0x41561a
mov eax, dword [esi]
test dl, 0x10
jne 0x41561c
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x41561a
cmp edx, 0x7d
jne 0x41561c
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004141f0
jmp 0x41590f
mov ecx, esi
call fcn.00416560
jmp 0x415905
cmp eax, 0x5b
jne 0x4156ed
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x415687
cmp word [eax], 0x5c
jne 0x415682
lea ecx, [eax + 2]
cmp ecx, edx
je 0x415682
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41566e
movzx eax, word [ecx]
cmp eax, 0x28
je 0x415680
cmp eax, 0x29
je 0x415680
mov eax, dword [esi]
test dl, 0x10
jne 0x415682
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x415680
cmp edx, 0x7d
jne 0x415682
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004141f0
mov ecx, esi
call fcn.00416480
cmp dword [esi + 0x4c], 0x5d
jne 0x415938
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4158fe
cmp word [eax], 0x5c
jne 0x4156e3
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4156e3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4156cf
movzx eax, word [ecx]
cmp eax, 0x28
je 0x4156e1
cmp eax, 0x29
je 0x4156e1
mov eax, dword [esi]
test dl, 0x10
jne 0x4156e3
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x4156e1
cmp edx, 0x7d
jne 0x4156e3
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x4158fe
cmp eax, 0x28
jne 0x4157ae
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41573b
cmp word [eax], 0x5c
jne 0x415736
lea ecx, [eax + 2]
cmp ecx, edx
je 0x415736
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x415722
movzx eax, word [ecx]
cmp eax, 0x28
je 0x415734
cmp eax, 0x29
je 0x415734
mov eax, dword [esi]
test dl, 0x10
jne 0x415736
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x415734
cmp edx, 0x7d
jne 0x415736
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004141f0
mov ecx, esi
call fcn.004166f0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41592a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41579a
cmp word [eax], 0x5c
jne 0x415795
lea ecx, [eax + 2]
cmp ecx, edx
je 0x415795
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x415781
movzx eax, word [ecx]
cmp eax, 0x28
je 0x415793
cmp eax, 0x29
je 0x415793
mov eax, dword [esi]
test dl, 0x10
jne 0x415795
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x415793
cmp edx, 0x7d
jne 0x415795
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.004141f0
test bl, bl
je 0x41590f
jmp 0x415905
cmp eax, 0x5e
jne 0x41580a
push 2
lea ecx, [esi + 0x24]
call fcn.00415940
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4157fe
cmp word [eax], 0x5c
jne 0x4157fb
add eax, 2
cmp eax, ecx
je 0x4157fb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4157e7
movzx edx, word [eax]
cmp edx, 0x28
je 0x4157f9
cmp edx, 0x29
je 0x4157f9
test cl, 0x10
jne 0x4157fb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4157f9
cmp ecx, 0x7d
jne 0x4157fb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004141f0
jmp 0x41590f
cmp eax, 0x24
jne 0x415866
push 3
lea ecx, [esi + 0x24]
call fcn.00415940
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41585a
cmp word [eax], 0x5c
jne 0x415857
add eax, 2
cmp eax, ecx
je 0x415857
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415843
movzx edx, word [eax]
cmp edx, 0x28
je 0x415855
cmp edx, 0x29
je 0x415855
test cl, 0x10
jne 0x415857
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x415855
cmp ecx, 0x7d
jne 0x415857
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004141f0
jmp 0x41590f
cmp eax, 0x2a
je 0x415923
cmp eax, 0x2b
je 0x415923
cmp eax, 0x3f
je 0x415923
cmp eax, 0x7b
je 0x415923
cmp eax, 0x7d
jne 0x41589e
test dword [esi + 0x50], 0x10000000
je 0x415931
jmp 0x4158b0
cmp eax, 0x5d
jne 0x4158b0
test dword [esi + 0x50], 0x10000000
je 0x415938
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00416ac0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4158fe
cmp word [eax], 0x5c
jne 0x4158fb
add eax, 2
cmp eax, ecx
je 0x4158fb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4158e7
movzx edx, word [eax]
cmp edx, 0x28
je 0x4158f9
cmp edx, 0x29
je 0x4158f9
test cl, 0x10
jne 0x4158fb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4158f9
cmp ecx, 0x7d
jne 0x4158fb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004141f0
mov ecx, esi
call fcn.00416890
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x415486
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.004141e0
push 5
call fcn.004141e0
push 6
call fcn.004141e0
push 4
call fcn.004141e0
int3