Function at 0x427fa0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x42846a
cmp eax, 0x7c
je 0x42846a
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x29
jne 0x427fe4
cmp dword [esi + 0x10], 0
jne 0x428468
test dword [esi + 0x50], 0x10000000
je 0x42847a
jmp 0x4283f4
cmp eax, 0x2e
jne 0x428044
push 5
lea ecx, [esi + 0x24]
call fcn.0042bd70
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428444
cmp word [eax], 0x5c
jne 0x42803a
lea edx, [eax + 2]
cmp edx, ecx
je 0x42803a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428023
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x428037
cmp edi, 0x29
je 0x428037
test bl, 0x10
jne 0x42803a
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428037
cmp edx, 0x7d
jne 0x42803a
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x428444
cmp eax, 0x5c
jne 0x4281a7
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42809c
cmp word [eax], 0x5c
jne 0x428097
lea edx, [eax + 2]
cmp edx, ecx
je 0x428097
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428080
movzx ecx, word [edx]
mov dword [ebp - 4], ecx
mov ecx, eax
cmp word [ebp - 4], 0x28
je 0x428094
cmp word [ebp - 4], 0x29
je 0x428094
test bl, 0x10
jne 0x428097
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428094
cmp edx, 0x7d
jne 0x428097
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c790
test byte [esi + 0x50], 0x80
je 0x42819b
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x428119
push 4
lea ecx, [esi + 0x24]
call fcn.0042bd70
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42810d
cmp word [eax], 0x5c
jne 0x428108
lea edx, [eax + 2]
cmp edx, ecx
je 0x428108
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4280f1
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x428105
cmp ebx, 0x29
je 0x428105
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x428108
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428105
cmp edx, 0x7d
jne 0x428108
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c790
jmp 0x428455
cmp ecx, 0x42
jne 0x42819b
push 4
lea ecx, [esi + 0x24]
call fcn.0042bd70
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edx, dword [edi]
mov eax, dword [esi]
cmp eax, edx
je 0x42818f
cmp word [eax], 0x5c
jne 0x42818a
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x428188
test byte [esi + 0x50], 8
jne 0x42815d
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x428174
cmp ecx, 0x29
je 0x428174
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x428188
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x428174
mov edx, ecx
cmp ebx, 0x7d
jne 0x428188
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.0042c790
jmp 0x428455
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c790
jmp 0x428455
mov ecx, esi
call fcn.004284a0
jmp 0x42844b
cmp eax, 0x5b
jne 0x4282b8
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428205
cmp word [eax], 0x5c
jne 0x4281fd
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x4281fb
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4281e0
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x4281f6
cmp ecx, 0x29
je 0x4281f6
mov ecx, eax
test bl, 0x10
jne 0x4281fb
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x4281f6
mov edx, ecx
cmp edi, 0x7d
jne 0x4281fb
lea eax, [edx + 2]
jmp 0x4281fd
mov eax, ecx
add eax, 2
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.0042c790
lea ebx, [esi + 0x24]
mov ecx, ebx
call fcn.00427810
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x428284
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42827a
cmp word [eax], 0x5c
jne 0x428272
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x428270
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428255
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x42826b
cmp ecx, 0x29
je 0x42826b
mov ecx, eax
test bl, 0x10
jne 0x428270
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x42826b
mov edx, ecx
cmp edi, 0x7d
jne 0x428270
lea eax, [edx + 2]
jmp 0x428272
mov eax, ecx
add eax, 2
lea ebx, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.0042c790
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x4282a1
cmp eax, 0x5d
jne 0x4282a1
push eax
mov ecx, ebx
call fcn.00427790
mov ecx, esi
call fcn.0042bde0
mov ecx, esi
call fcn.00428fb0
push 4
push 0x5d
mov ecx, esi
call fcn.0042afb0
jmp 0x42844b
cmp eax, 0x28
jne 0x428336
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42830e
cmp word [eax], 0x5c
jne 0x428309
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x428307
test byte [esi + 0x50], 8
jne 0x4282eb
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x428302
cmp ecx, 0x29
je 0x428302
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x428307
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x428302
mov edx, ecx
cmp ebx, 0x7d
jne 0x428307
lea eax, [edx + 2]
jmp 0x428309
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c790
mov ecx, esi
call fcn.0042cb60
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0042afb0
test bl, bl
je 0x428455
jmp 0x42844b
cmp eax, 0x5e
jne 0x42834a
push 2
lea ecx, [esi + 0x24]
call fcn.0042bd70
jmp 0x42812f
cmp eax, 0x24
jne 0x4283aa
push 3
lea ecx, [esi + 0x24]
call fcn.0042bd70
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42839e
cmp word [eax], 0x5c
jne 0x42839b
add eax, 2
cmp eax, ecx
je 0x42839b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428386
movzx edx, word [eax]
cmp edx, 0x28
je 0x428398
cmp edx, 0x29
je 0x428398
test cl, 0x10
jne 0x42839b
movzx eax, word [eax]
cmp eax, 0x7b
je 0x428398
cmp eax, 0x7d
jne 0x42839b
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042c790
jmp 0x428455
cmp eax, 0x2a
je 0x428471
cmp eax, 0x2b
je 0x428471
cmp eax, 0x3f
je 0x428471
cmp eax, 0x7b
je 0x428471
cmp eax, 0x7d
jne 0x4283e2
test dword [esi + 0x50], 0x10000000
je 0x428483
jmp 0x4283f4
cmp eax, 0x5d
jne 0x4283f4
test dword [esi + 0x50], 0x10000000
je 0x42848c
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004275c0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x428444
cmp word [eax], 0x5c
jne 0x428441
add eax, 2
cmp eax, ecx
je 0x428441
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42842c
movzx edx, word [eax]
cmp edx, 0x28
je 0x42843e
cmp edx, 0x29
je 0x42843e
test cl, 0x10
jne 0x428441
movzx eax, word [eax]
cmp eax, 0x7b
je 0x42843e
cmp eax, 0x7d
jne 0x428441
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042c790
mov ecx, esi
call fcn.0042bf10
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x428468
cmp eax, 0x7c
jne 0x427fc3
pop ebx
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret
push 0xa
mov ecx, esi
call fcn.0042afa0
push 5
mov ecx, esi
call fcn.0042afa0
push 6
mov ecx, esi
call fcn.0042afa0
push 4
mov ecx, esi
call fcn.0042afa0
int3