Function at 0x428ab0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x428fbe
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x428fbc
cmp eax, 0x29
jne 0x428af0
cmp dword [esi + 0x10], 0
jne 0x428fbc
test dword [esi + 0x50], 0x10000000
je 0x428fcb
jmp 0x428f4d
cmp eax, 0x2e
jne 0x428b62
push 5
lea ecx, [esi + 0x24]
call fcn.0042cad0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428f9d
cmp word [eax], 0x5c
jne 0x428b58
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x428b56
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428b33
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x428b49
cmp ecx, 0x29
je 0x428b49
mov ecx, eax
test bl, 0x10
jne 0x428b56
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x428b49
mov edx, ecx
cmp edi, 0x7d
jne 0x428b56
lea eax, [edx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x428f9d
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x428f9d
cmp eax, 0x5c
jne 0x428cc7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428bbc
cmp word [eax], 0x5c
jne 0x428bb7
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x428bb5
test byte [esi + 0x50], 8
jne 0x428b99
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x428bb0
cmp ecx, 0x29
je 0x428bb0
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x428bb5
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x428bb0
mov edx, ecx
cmp ebx, 0x7d
jne 0x428bb5
lea eax, [edx + 2]
jmp 0x428bb7
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d4f0
test byte [esi + 0x50], 0x80
je 0x428cbb
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x428c4e
push 4
lea ecx, [esi + 0x24]
call fcn.0042cad0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428c42
cmp word [eax], 0x5c
jne 0x428c3d
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x428c3b
test byte [esi + 0x50], 8
jne 0x428c10
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x428c27
cmp ecx, 0x29
je 0x428c27
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x428c3b
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x428c27
mov edx, ecx
cmp ebx, 0x7d
jne 0x428c3b
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.0042d4f0
jmp 0x428fae
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d4f0
jmp 0x428fae
cmp ecx, 0x42
jne 0x428cbb
push 4
lea ecx, [esi + 0x24]
call fcn.0042cad0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428caf
cmp word [eax], 0x5c
jne 0x428caa
lea ebx, [eax + 2]
cmp ebx, ecx
je 0x428caa
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428c93
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x28
je 0x428ca7
cmp edx, 0x29
je 0x428ca7
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x428caa
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x7b
je 0x428ca7
cmp edx, 0x7d
jne 0x428caa
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d4f0
jmp 0x428fae
mov ecx, esi
call fcn.00428ff0
jmp 0x428fa4
cmp eax, 0x5b
jne 0x428dc2
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428d18
cmp word [eax], 0x5c
jne 0x428d13
lea edx, [eax + 2]
cmp edx, ecx
je 0x428d13
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428cfc
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x428d10
cmp edi, 0x29
je 0x428d10
test bl, 0x10
jne 0x428d13
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428d10
cmp edx, 0x7d
jne 0x428d13
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d4f0
lea edi, [esi + 0x24]
mov ecx, edi
call fcn.00428320
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x428d8e
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x428d84
cmp word [eax], 0x5c
jne 0x428d7c
lea edx, [eax + 2]
cmp edx, ecx
je 0x428d7c
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428d65
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x428d79
cmp edi, 0x29
je 0x428d79
test bl, 0x10
jne 0x428d7c
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428d79
cmp edx, 0x7d
jne 0x428d7c
lea eax, [ecx + 2]
add eax, 2
lea edi, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.0042d4f0
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x428dab
cmp eax, 0x5d
jne 0x428dab
push eax
mov ecx, edi
call fcn.004282a0
mov ecx, esi
call fcn.0042cb40
mov ecx, esi
call fcn.00429b80
push 4
push 0x5d
mov ecx, esi
call fcn.0042bcf0
jmp 0x428fa4
cmp eax, 0x28
jne 0x428e3a
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428e12
cmp word [eax], 0x5c
jne 0x428e0d
lea edx, [eax + 2]
cmp edx, ecx
je 0x428e0d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428df6
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x428e0a
cmp ebx, 0x29
je 0x428e0a
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x428e0d
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428e0a
cmp edx, 0x7d
jne 0x428e0d
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d4f0
mov ecx, esi
call fcn.0042d8c0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0042bcf0
test bl, bl
je 0x428fae
jmp 0x428fa4
cmp eax, 0x5e
jne 0x428ea3
push 2
lea ecx, [esi + 0x24]
call fcn.0042cad0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428e97
cmp word [eax], 0x5c
jne 0x428e92
lea edx, [eax + 2]
cmp edx, ecx
je 0x428e92
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428e7b
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x428e8f
cmp ebx, 0x29
je 0x428e8f
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x428e92
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428e8f
cmp edx, 0x7d
jne 0x428e92
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042d4f0
jmp 0x428fae
cmp eax, 0x24
jne 0x428f03
push 3
lea ecx, [esi + 0x24]
call fcn.0042cad0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428ef7
cmp word [eax], 0x5c
jne 0x428ef4
add eax, 2
cmp eax, ecx
je 0x428ef4
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428edf
movzx edx, word [eax]
cmp edx, 0x28
je 0x428ef1
cmp edx, 0x29
je 0x428ef1
test cl, 0x10
jne 0x428ef4
movzx eax, word [eax]
cmp eax, 0x7b
je 0x428ef1
cmp eax, 0x7d
jne 0x428ef4
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042d4f0
jmp 0x428fae
cmp eax, 0x2a
je 0x428fc2
cmp eax, 0x2b
je 0x428fc2
cmp eax, 0x3f
je 0x428fc2
cmp eax, 0x7b
je 0x428fc2
cmp eax, 0x7d
jne 0x428f3b
test dword [esi + 0x50], 0x10000000
je 0x428fd4
jmp 0x428f4d
cmp eax, 0x5d
jne 0x428f4d
test dword [esi + 0x50], 0x10000000
je 0x428fdd
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004280d0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x428f9d
cmp word [eax], 0x5c
jne 0x428f9a
add eax, 2
cmp eax, ecx
je 0x428f9a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428f85
movzx edx, word [eax]
cmp edx, 0x28
je 0x428f97
cmp edx, 0x29
je 0x428f97
test cl, 0x10
jne 0x428f9a
movzx eax, word [eax]
cmp eax, 0x7b
je 0x428f97
cmp eax, 0x7d
jne 0x428f9a
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042d4f0
mov ecx, esi
call fcn.0042cc90
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x428ac6
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.0042bce0
push 5
mov ecx, esi
call fcn.0042bce0
push 6
mov ecx, esi
call fcn.0042bce0
push 4
mov ecx, esi
call fcn.0042bce0
int3