Function at 0x428430
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x42893e
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x42893c
cmp eax, 0x29
jne 0x428470
cmp dword [esi + 0x10], 0
jne 0x42893c
test dword [esi + 0x50], 0x10000000
je 0x42894b
jmp 0x4288cd
cmp eax, 0x2e
jne 0x4284e2
push 5
lea ecx, [esi + 0x24]
call fcn.0042c240
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42891d
cmp word [eax], 0x5c
jne 0x4284d8
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x4284d6
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4284b3
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x4284c9
cmp ecx, 0x29
je 0x4284c9
mov ecx, eax
test bl, 0x10
jne 0x4284d6
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x4284c9
mov edx, ecx
cmp edi, 0x7d
jne 0x4284d6
lea eax, [edx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x42891d
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x42891d
cmp eax, 0x5c
jne 0x428647
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42853c
cmp word [eax], 0x5c
jne 0x428537
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x428535
test byte [esi + 0x50], 8
jne 0x428519
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x428530
cmp ecx, 0x29
je 0x428530
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x428535
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x428530
mov edx, ecx
cmp ebx, 0x7d
jne 0x428535
lea eax, [edx + 2]
jmp 0x428537
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042cc80
test byte [esi + 0x50], 0x80
je 0x42863b
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x4285ce
push 4
lea ecx, [esi + 0x24]
call fcn.0042c240
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4285c2
cmp word [eax], 0x5c
jne 0x4285bd
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x4285bb
test byte [esi + 0x50], 8
jne 0x428590
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x4285a7
cmp ecx, 0x29
je 0x4285a7
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x4285bb
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x4285a7
mov edx, ecx
cmp ebx, 0x7d
jne 0x4285bb
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.0042cc80
jmp 0x42892e
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042cc80
jmp 0x42892e
cmp ecx, 0x42
jne 0x42863b
push 4
lea ecx, [esi + 0x24]
call fcn.0042c240
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42862f
cmp word [eax], 0x5c
jne 0x42862a
lea ebx, [eax + 2]
cmp ebx, ecx
je 0x42862a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428613
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x28
je 0x428627
cmp edx, 0x29
je 0x428627
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x42862a
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x7b
je 0x428627
cmp edx, 0x7d
jne 0x42862a
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042cc80
jmp 0x42892e
mov ecx, esi
call fcn.00428970
jmp 0x428924
cmp eax, 0x5b
jne 0x428742
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428698
cmp word [eax], 0x5c
jne 0x428693
lea edx, [eax + 2]
cmp edx, ecx
je 0x428693
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42867c
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x428690
cmp edi, 0x29
je 0x428690
test bl, 0x10
jne 0x428693
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428690
cmp edx, 0x7d
jne 0x428693
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042cc80
lea edi, [esi + 0x24]
mov ecx, edi
call fcn.00427ca0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x42870e
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x428704
cmp word [eax], 0x5c
jne 0x4286fc
lea edx, [eax + 2]
cmp edx, ecx
je 0x4286fc
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4286e5
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x4286f9
cmp edi, 0x29
je 0x4286f9
test bl, 0x10
jne 0x4286fc
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x4286f9
cmp edx, 0x7d
jne 0x4286fc
lea eax, [ecx + 2]
add eax, 2
lea edi, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.0042cc80
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x42872b
cmp eax, 0x5d
jne 0x42872b
push eax
mov ecx, edi
call fcn.00427c20
mov ecx, esi
call fcn.0042c2b0
mov ecx, esi
call fcn.00429470
push 4
push 0x5d
mov ecx, esi
call fcn.0042b460
jmp 0x428924
cmp eax, 0x28
jne 0x4287ba
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428792
cmp word [eax], 0x5c
jne 0x42878d
lea edx, [eax + 2]
cmp edx, ecx
je 0x42878d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428776
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x42878a
cmp ebx, 0x29
je 0x42878a
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x42878d
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x42878a
cmp edx, 0x7d
jne 0x42878d
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042cc80
mov ecx, esi
call fcn.0042d050
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0042b460
test bl, bl
je 0x42892e
jmp 0x428924
cmp eax, 0x5e
jne 0x428823
push 2
lea ecx, [esi + 0x24]
call fcn.0042c240
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428817
cmp word [eax], 0x5c
jne 0x428812
lea edx, [eax + 2]
cmp edx, ecx
je 0x428812
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4287fb
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x42880f
cmp ebx, 0x29
je 0x42880f
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x428812
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x42880f
cmp edx, 0x7d
jne 0x428812
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042cc80
jmp 0x42892e
cmp eax, 0x24
jne 0x428883
push 3
lea ecx, [esi + 0x24]
call fcn.0042c240
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428877
cmp word [eax], 0x5c
jne 0x428874
add eax, 2
cmp eax, ecx
je 0x428874
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42885f
movzx edx, word [eax]
cmp edx, 0x28
je 0x428871
cmp edx, 0x29
je 0x428871
test cl, 0x10
jne 0x428874
movzx eax, word [eax]
cmp eax, 0x7b
je 0x428871
cmp eax, 0x7d
jne 0x428874
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042cc80
jmp 0x42892e
cmp eax, 0x2a
je 0x428942
cmp eax, 0x2b
je 0x428942
cmp eax, 0x3f
je 0x428942
cmp eax, 0x7b
je 0x428942
cmp eax, 0x7d
jne 0x4288bb
test dword [esi + 0x50], 0x10000000
je 0x428954
jmp 0x4288cd
cmp eax, 0x5d
jne 0x4288cd
test dword [esi + 0x50], 0x10000000
je 0x42895d
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00427a50
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x42891d
cmp word [eax], 0x5c
jne 0x42891a
add eax, 2
cmp eax, ecx
je 0x42891a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428905
movzx edx, word [eax]
cmp edx, 0x28
je 0x428917
cmp edx, 0x29
je 0x428917
test cl, 0x10
jne 0x42891a
movzx eax, word [eax]
cmp eax, 0x7b
je 0x428917
cmp eax, 0x7d
jne 0x42891a
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042cc80
mov ecx, esi
call fcn.0042c400
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x428446
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.0042b450
push 5
mov ecx, esi
call fcn.0042b450
push 6
mov ecx, esi
call fcn.0042b450
push 4
mov ecx, esi
call fcn.0042b450
int3