Function at 0x428610
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x428ab6
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x428ab4
cmp eax, 0x29
jne 0x428650
cmp dword [esi + 0x10], 0
jne 0x428ab4
test dword [esi + 0x50], 0x10000000
je 0x428ac3
jmp 0x428a47
cmp eax, 0x2e
jne 0x4286ab
push 5
lea ecx, [esi + 0x24]
call fcn.0042bfb0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428a95
cmp word [eax], 0x5c
jne 0x4286a1
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4286a1
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42868d
movzx edx, word [ecx]
cmp edx, 0x28
je 0x42869f
cmp edx, 0x29
je 0x42869f
test bl, 0x10
jne 0x4286a1
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42869f
cmp edx, 0x7d
jne 0x4286a1
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x428a95
cmp eax, 0x5c
jne 0x4287df
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4286f7
cmp word [eax], 0x5c
jne 0x4286f2
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4286f2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4286de
movzx edx, word [ecx]
cmp edx, 0x28
je 0x4286f0
cmp edx, 0x29
je 0x4286f0
test bl, 0x10
jne 0x4286f2
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x4286f0
cmp edx, 0x7d
jne 0x4286f2
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d100
test byte [esi + 0x50], 0x80
je 0x4287d3
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x42876c
push 4
lea ecx, [esi + 0x24]
call fcn.0042bfb0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428760
cmp word [eax], 0x5c
jne 0x42875b
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42875b
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428747
movzx edx, word [ecx]
cmp edx, 0x28
je 0x428759
cmp edx, 0x29
je 0x428759
test bl, 0x10
jne 0x42875b
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x428759
cmp edx, 0x7d
jne 0x42875b
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d100
jmp 0x428aa6
cmp ecx, 0x42
jne 0x4287d3
push 4
lea ecx, [esi + 0x24]
call fcn.0042bfb0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4287c7
cmp word [eax], 0x5c
jne 0x4287c2
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4287c2
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4287ae
movzx eax, word [ecx]
cmp eax, 0x28
je 0x4287c0
cmp eax, 0x29
je 0x4287c0
mov eax, dword [esi]
test dl, 0x10
jne 0x4287c2
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x4287c0
cmp edx, 0x7d
jne 0x4287c2
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d100
jmp 0x428aa6
mov ecx, esi
call fcn.00428ae0
jmp 0x428a9c
cmp eax, 0x5b
jne 0x4288cf
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42882d
cmp word [eax], 0x5c
jne 0x428828
lea ecx, [eax + 2]
cmp ecx, edx
je 0x428828
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x428814
movzx eax, word [ecx]
cmp eax, 0x28
je 0x428826
cmp eax, 0x29
je 0x428826
mov eax, dword [esi]
test dl, 0x10
jne 0x428828
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x428826
cmp edx, 0x7d
jne 0x428828
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d100
lea ecx, [esi + 0x24]
call fcn.00427e80
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x42889a
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428890
cmp word [eax], 0x5c
jne 0x42888b
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42888b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x428877
movzx eax, word [ecx]
cmp eax, 0x28
je 0x428889
cmp eax, 0x29
je 0x428889
mov eax, dword [esi]
test dl, 0x10
jne 0x42888b
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x428889
cmp edx, 0x7d
jne 0x42888b
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d100
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x4288b8
cmp eax, 0x5d
jne 0x4288b8
push eax
lea ecx, [esi + 0x24]
call fcn.00427e00
mov ecx, esi
call fcn.0042c020
mov ecx, esi
call fcn.00429810
push 4
push 0x5d
mov ecx, esi
call fcn.0042afe0
jmp 0x428a9c
cmp eax, 0x28
jne 0x428941
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428919
cmp word [eax], 0x5c
jne 0x428914
lea ecx, [eax + 2]
cmp ecx, edx
je 0x428914
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x428900
movzx eax, word [ecx]
cmp eax, 0x28
je 0x428912
cmp eax, 0x29
je 0x428912
mov eax, dword [esi]
test dl, 0x10
jne 0x428914
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x428912
cmp edx, 0x7d
jne 0x428914
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d100
mov ecx, esi
call fcn.0042d520
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0042afe0
test bl, bl
je 0x428aa6
jmp 0x428a9c
cmp eax, 0x5e
jne 0x4289a1
push 2
lea ecx, [esi + 0x24]
call fcn.0042bfb0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428995
cmp word [eax], 0x5c
jne 0x428990
lea ecx, [eax + 2]
cmp ecx, edx
je 0x428990
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42897c
movzx eax, word [ecx]
cmp eax, 0x28
je 0x42898e
cmp eax, 0x29
je 0x42898e
mov eax, dword [esi]
test dl, 0x10
jne 0x428990
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42898e
cmp edx, 0x7d
jne 0x428990
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d100
jmp 0x428aa6
cmp eax, 0x24
jne 0x4289fd
push 3
lea ecx, [esi + 0x24]
call fcn.0042bfb0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4289f1
cmp word [eax], 0x5c
jne 0x4289ee
add eax, 2
cmp eax, ecx
je 0x4289ee
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4289da
movzx edx, word [eax]
cmp edx, 0x28
je 0x4289ec
cmp edx, 0x29
je 0x4289ec
test cl, 0x10
jne 0x4289ee
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4289ec
cmp ecx, 0x7d
jne 0x4289ee
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0042d100
jmp 0x428aa6
cmp eax, 0x2a
je 0x428aba
cmp eax, 0x2b
je 0x428aba
cmp eax, 0x3f
je 0x428aba
cmp eax, 0x7b
je 0x428aba
cmp eax, 0x7d
jne 0x428a35
test dword [esi + 0x50], 0x10000000
je 0x428acc
jmp 0x428a47
cmp eax, 0x5d
jne 0x428a47
test dword [esi + 0x50], 0x10000000
je 0x428ad5
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00427c30
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428a95
cmp word [eax], 0x5c
jne 0x428a92
add eax, 2
cmp eax, ecx
je 0x428a92
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428a7e
movzx edx, word [eax]
cmp edx, 0x28
je 0x428a90
cmp edx, 0x29
je 0x428a90
test cl, 0x10
jne 0x428a92
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x428a90
cmp ecx, 0x7d
jne 0x428a92
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0042d100
mov ecx, esi
call fcn.0042c370
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x428626
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.0042af10
push 5
mov ecx, esi
call fcn.0042af10
push 6
mov ecx, esi
call fcn.0042af10
push 4
mov ecx, esi
call fcn.0042af10
int3