Function at 0x42a820
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 0x42accd
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x42accd
cmp eax, 0x29
jne 0x42a860
cmp dword [esi + 0x10], 0
jne 0x42accd
test dword [esi + 0x50], 0x10000000
je 0x42acda
jmp 0x42ac60
cmp eax, 0x2e
jne 0x42a8b5
push 5
lea ecx, [esi + 0x24]
call fcn.0042acf0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42acae
cmp word [eax], 0x5c
jne 0x42aa93
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42aa93
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42a8ad
movzx edx, word [ecx]
cmp edx, 0x28
je 0x42aa91
cmp edx, 0x29
je 0x42aa91
test bl, 0x10
jmp 0x42aa82
cmp eax, 0x5c
jne 0x42a9e9
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42a901
cmp word [eax], 0x5c
jne 0x42a8fc
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42a8fc
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42a8e8
movzx edx, word [ecx]
cmp edx, 0x28
je 0x42a8fa
cmp edx, 0x29
je 0x42a8fa
test bl, 0x10
jne 0x42a8fc
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42a8fa
cmp edx, 0x7d
jne 0x42a8fc
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00429b10
test byte [esi + 0x50], 0x80
je 0x42a9dd
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x42a976
push 4
lea ecx, [esi + 0x24]
call fcn.0042acf0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42a96a
cmp word [eax], 0x5c
jne 0x42a965
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42a965
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42a951
movzx edx, word [ecx]
cmp edx, 0x28
je 0x42a963
cmp edx, 0x29
je 0x42a963
test bl, 0x10
jne 0x42a965
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42a963
cmp edx, 0x7d
jne 0x42a965
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00429b10
jmp 0x42acbf
cmp ecx, 0x42
jne 0x42a9dd
push 4
lea ecx, [esi + 0x24]
call fcn.0042acf0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42a9d1
cmp word [eax], 0x5c
jne 0x42a9cc
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42a9cc
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42a9b8
movzx eax, word [ecx]
cmp eax, 0x28
je 0x42a9ca
cmp eax, 0x29
je 0x42a9ca
mov eax, dword [esi]
test dl, 0x10
jne 0x42a9cc
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42a9ca
cmp edx, 0x7d
jne 0x42a9cc
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00429b10
jmp 0x42acbf
mov ecx, esi
call fcn.0042b520
jmp 0x42acb5
cmp eax, 0x5b
jne 0x42aa9d
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42aa37
cmp word [eax], 0x5c
jne 0x42aa32
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42aa32
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42aa1e
movzx eax, word [ecx]
cmp eax, 0x28
je 0x42aa30
cmp eax, 0x29
je 0x42aa30
mov eax, dword [esi]
test dl, 0x10
jne 0x42aa32
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42aa30
cmp edx, 0x7d
jne 0x42aa32
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00429b10
mov ecx, esi
call fcn.0042b440
cmp dword [esi + 0x4c], 0x5d
jne 0x42ace8
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42acae
cmp word [eax], 0x5c
jne 0x42aa93
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42aa93
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42aa7f
movzx eax, word [ecx]
cmp eax, 0x28
je 0x42aa91
cmp eax, 0x29
je 0x42aa91
mov eax, dword [esi]
test dl, 0x10
jne 0x42aa93
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42aa91
cmp edx, 0x7d
jne 0x42aa93
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x42acae
cmp eax, 0x28
jne 0x42ab5e
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42aaeb
cmp word [eax], 0x5c
jne 0x42aae6
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42aae6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42aad2
movzx eax, word [ecx]
cmp eax, 0x28
je 0x42aae4
cmp eax, 0x29
je 0x42aae4
mov eax, dword [esi]
test dl, 0x10
jne 0x42aae6
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42aae4
cmp edx, 0x7d
jne 0x42aae6
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00429b10
mov ecx, esi
call fcn.0042b6b0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x42acda
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42ab4a
cmp word [eax], 0x5c
jne 0x42ab45
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42ab45
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x42ab31
movzx eax, word [ecx]
cmp eax, 0x28
je 0x42ab43
cmp eax, 0x29
je 0x42ab43
mov eax, dword [esi]
test dl, 0x10
jne 0x42ab45
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x42ab43
cmp edx, 0x7d
jne 0x42ab45
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00429b10
test bl, bl
je 0x42acbf
jmp 0x42acb5
cmp eax, 0x5e
jne 0x42abba
push 2
lea ecx, [esi + 0x24]
call fcn.0042acf0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42abae
cmp word [eax], 0x5c
jne 0x42abab
add eax, 2
cmp eax, ecx
je 0x42abab
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42ab97
movzx edx, word [eax]
cmp edx, 0x28
je 0x42aba9
cmp edx, 0x29
je 0x42aba9
test cl, 0x10
jne 0x42abab
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x42aba9
cmp ecx, 0x7d
jne 0x42abab
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00429b10
jmp 0x42acbf
cmp eax, 0x24
jne 0x42ac16
push 3
lea ecx, [esi + 0x24]
call fcn.0042acf0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42ac0a
cmp word [eax], 0x5c
jne 0x42ac07
add eax, 2
cmp eax, ecx
je 0x42ac07
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42abf3
movzx edx, word [eax]
cmp edx, 0x28
je 0x42ac05
cmp edx, 0x29
je 0x42ac05
test cl, 0x10
jne 0x42ac07
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x42ac05
cmp ecx, 0x7d
jne 0x42ac07
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00429b10
jmp 0x42acbf
cmp eax, 0x2a
je 0x42acd3
cmp eax, 0x2b
je 0x42acd3
cmp eax, 0x3f
je 0x42acd3
cmp eax, 0x7b
je 0x42acd3
cmp eax, 0x7d
jne 0x42ac4e
test dword [esi + 0x50], 0x10000000
je 0x42ace1
jmp 0x42ac60
cmp eax, 0x5d
jne 0x42ac60
test dword [esi + 0x50], 0x10000000
je 0x42ace8
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0042ba80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42acae
cmp word [eax], 0x5c
jne 0x42acab
add eax, 2
cmp eax, ecx
je 0x42acab
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42ac97
movzx edx, word [eax]
cmp edx, 0x28
je 0x42aca9
cmp edx, 0x29
je 0x42aca9
test cl, 0x10
jne 0x42acab
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x42aca9
cmp ecx, 0x7d
jne 0x42acab
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00429b10
mov ecx, esi
call fcn.0042b850
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x42a836
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00429b00
push 5
call fcn.00429b00
push 6
call fcn.00429b00
push 4
call fcn.00429b00
int3