Function at 0x42c010
Capabilities:
Parse credit card information

Disassembly:
sub esp, 8
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x42c53c
lea edi, [esi + 8]
nop dword [eax]
cmp eax, 0x7c
je 0x42c53c
cmp eax, 0x29
jne 0x42c05a
cmp dword [esi + 0x10], 0
jne 0x42c53c
test dword [esi + 0x50], 0x10000000
je 0x42c54c
jmp 0x42c4cd
cmp eax, 0x2e
jne 0x42c0d0
push 5
lea ecx, [esi + 0x24]
call fcn.0042c570
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42c51d
cmp word [eax], 0x5c
jne 0x42c2e6
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x42c0c4
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42c0a1
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x42c0b7
cmp ecx, 0x29
je 0x42c0b7
mov ecx, eax
test bl, 0x10
jne 0x42c0c4
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x42c0b7
mov edx, ecx
cmp edi, 0x7d
jne 0x42c0c4
lea eax, [edx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x42c51d
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x42c51d
cmp eax, 0x5c
jne 0x42c235
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42c12a
cmp word [eax], 0x5c
jne 0x42c125
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x42c123
test byte [esi + 0x50], 8
jne 0x42c107
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x42c11e
cmp ecx, 0x29
je 0x42c11e
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x42c123
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x42c11e
mov edx, ecx
cmp ebx, 0x7d
jne 0x42c123
lea eax, [edx + 2]
jmp 0x42c125
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042b2d0
test byte [esi + 0x50], 0x80
je 0x42c229
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x42c1bc
push 4
lea ecx, [esi + 0x24]
call fcn.0042c570
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42c1b0
cmp word [eax], 0x5c
jne 0x42c1ab
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x42c1a9
test byte [esi + 0x50], 8
jne 0x42c17e
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x42c195
cmp ecx, 0x29
je 0x42c195
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x42c1a9
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x42c195
mov edx, ecx
cmp ebx, 0x7d
jne 0x42c1a9
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.0042b2d0
jmp 0x42c52e
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042b2d0
jmp 0x42c52e
cmp ecx, 0x42
jne 0x42c229
push 4
lea ecx, [esi + 0x24]
call fcn.0042c570
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42c21d
cmp word [eax], 0x5c
jne 0x42c218
lea ebx, [eax + 2]
cmp ebx, ecx
je 0x42c218
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42c201
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x28
je 0x42c215
cmp edx, 0x29
je 0x42c215
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x42c218
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x7b
je 0x42c215
cmp edx, 0x7d
jne 0x42c218
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042b2d0
jmp 0x42c52e
mov ecx, esi
call fcn.0042cea0
jmp 0x42c524
cmp eax, 0x5b
jne 0x42c2f0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42c286
cmp word [eax], 0x5c
jne 0x42c281
lea edx, [eax + 2]
cmp edx, ecx
je 0x42c281
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42c26a
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x42c27e
cmp edi, 0x29
je 0x42c27e
test bl, 0x10
jne 0x42c281
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x42c27e
cmp edx, 0x7d
jne 0x42c281
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042b2d0
mov ecx, esi
call fcn.0042cdb0
cmp dword [esi + 0x4c], 0x5d
jne 0x42c55a
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x42c51d
cmp word [eax], 0x5c
jne 0x42c2e6
lea edx, [eax + 2]
cmp edx, ecx
je 0x42c2e6
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42c2cf
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x42c2e3
cmp edi, 0x29
je 0x42c2e3
test bl, 0x10
jne 0x42c2e6
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x42c2e3
cmp edx, 0x7d
jne 0x42c2e6
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x42c51d
cmp eax, 0x28
jne 0x42c3c3
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42c344
cmp word [eax], 0x5c
jne 0x42c33f
lea edx, [eax + 2]
cmp edx, ecx
je 0x42c33f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42c328
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x42c33c
cmp ebx, 0x29
je 0x42c33c
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x42c33f
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x42c33c
cmp edx, 0x7d
jne 0x42c33f
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042b2d0
mov ecx, esi
call fcn.0042d030
cmp dword [esi + 0x4c], 0x29
mov byte [esp + 0x13], al
jne 0x42c54c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x42c3ac
cmp word [eax], 0x5c
jne 0x42c3a7
lea edx, [eax + 2]
cmp edx, ecx
je 0x42c3a7
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42c390
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x42c3a4
cmp ebx, 0x29
je 0x42c3a4
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x42c3a7
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x42c3a4
cmp edx, 0x7d
jne 0x42c3a7
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042b2d0
cmp byte [esp + 0x13], 0
je 0x42c52e
jmp 0x42c524
cmp eax, 0x5e
jne 0x42c423
push 2
lea ecx, [esi + 0x24]
call fcn.0042c570
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42c417
cmp word [eax], 0x5c
jne 0x42c414
add eax, 2
cmp eax, ecx
je 0x42c414
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42c3ff
movzx edx, word [eax]
cmp edx, 0x28
je 0x42c411
cmp edx, 0x29
je 0x42c411
test cl, 0x10
jne 0x42c414
movzx eax, word [eax]
cmp eax, 0x7b
je 0x42c411
cmp eax, 0x7d
jne 0x42c414
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042b2d0
jmp 0x42c52e
cmp eax, 0x24
jne 0x42c483
push 3
lea ecx, [esi + 0x24]
call fcn.0042c570
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42c477
cmp word [eax], 0x5c
jne 0x42c474
add eax, 2
cmp eax, ecx
je 0x42c474
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42c45f
movzx edx, word [eax]
cmp edx, 0x28
je 0x42c471
cmp edx, 0x29
je 0x42c471
test cl, 0x10
jne 0x42c474
movzx eax, word [eax]
cmp eax, 0x7b
je 0x42c471
cmp eax, 0x7d
jne 0x42c474
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042b2d0
jmp 0x42c52e
cmp eax, 0x2a
je 0x42c545
cmp eax, 0x2b
je 0x42c545
cmp eax, 0x3f
je 0x42c545
cmp eax, 0x7b
je 0x42c545
cmp eax, 0x7d
jne 0x42c4bb
test dword [esi + 0x50], 0x10000000
je 0x42c553
jmp 0x42c4cd
cmp eax, 0x5d
jne 0x42c4cd
test dword [esi + 0x50], 0x10000000
je 0x42c55a
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0042d430
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x42c51d
cmp word [eax], 0x5c
jne 0x42c51a
add eax, 2
cmp eax, ecx
je 0x42c51a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42c505
movzx edx, word [eax]
cmp edx, 0x28
je 0x42c517
cmp edx, 0x29
je 0x42c517
test cl, 0x10
jne 0x42c51a
movzx eax, word [eax]
cmp eax, 0x7b
je 0x42c517
cmp eax, 0x7d
jne 0x42c51a
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042b2d0
mov ecx, esi
call fcn.0042d200
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x42c030
pop edi
pop esi
mov al, cl
pop ebx
add esp, 8
ret
push 0xa
call fcn.0042b2c0
push 5
call fcn.0042b2c0
push 6
call fcn.0042b2c0
push 4
call fcn.0042b2c0
int3