Function at 0x427960
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 0x427e2a
cmp eax, 0x7c
je 0x427e2a
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x29
jne 0x4279a4
cmp dword [esi + 0x10], 0
jne 0x427e28
test dword [esi + 0x50], 0x10000000
je 0x427e3a
jmp 0x427db4
cmp eax, 0x2e
jne 0x427a04
push 5
lea ecx, [esi + 0x24]
call fcn.0042b760
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x427e04
cmp word [eax], 0x5c
jne 0x4279fa
lea edx, [eax + 2]
cmp edx, ecx
je 0x4279fa
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4279e3
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x4279f7
cmp edi, 0x29
je 0x4279f7
test bl, 0x10
jne 0x4279fa
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x4279f7
cmp edx, 0x7d
jne 0x4279fa
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x427e04
cmp eax, 0x5c
jne 0x427b67
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x427a5c
cmp word [eax], 0x5c
jne 0x427a57
lea edx, [eax + 2]
cmp edx, ecx
je 0x427a57
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x427a40
movzx ecx, word [edx]
mov dword [ebp - 4], ecx
mov ecx, eax
cmp word [ebp - 4], 0x28
je 0x427a54
cmp word [ebp - 4], 0x29
je 0x427a54
test bl, 0x10
jne 0x427a57
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x427a54
cmp edx, 0x7d
jne 0x427a57
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c190
test byte [esi + 0x50], 0x80
je 0x427b5b
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x427ad9
push 4
lea ecx, [esi + 0x24]
call fcn.0042b760
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x427acd
cmp word [eax], 0x5c
jne 0x427ac8
lea edx, [eax + 2]
cmp edx, ecx
je 0x427ac8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x427ab1
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x427ac5
cmp ebx, 0x29
je 0x427ac5
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x427ac8
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x427ac5
cmp edx, 0x7d
jne 0x427ac8
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c190
jmp 0x427e15
cmp ecx, 0x42
jne 0x427b5b
push 4
lea ecx, [esi + 0x24]
call fcn.0042b760
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edx, dword [edi]
mov eax, dword [esi]
cmp eax, edx
je 0x427b4f
cmp word [eax], 0x5c
jne 0x427b4a
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x427b48
test byte [esi + 0x50], 8
jne 0x427b1d
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x427b34
cmp ecx, 0x29
je 0x427b34
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x427b48
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x427b34
mov edx, ecx
cmp ebx, 0x7d
jne 0x427b48
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.0042c190
jmp 0x427e15
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c190
jmp 0x427e15
mov ecx, esi
call fcn.00427e60
jmp 0x427e0b
cmp eax, 0x5b
jne 0x427c78
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x427bc5
cmp word [eax], 0x5c
jne 0x427bbd
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x427bbb
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x427ba0
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x427bb6
cmp ecx, 0x29
je 0x427bb6
mov ecx, eax
test bl, 0x10
jne 0x427bbb
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x427bb6
mov edx, ecx
cmp edi, 0x7d
jne 0x427bbb
lea eax, [edx + 2]
jmp 0x427bbd
mov eax, ecx
add eax, 2
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.0042c190
lea ebx, [esi + 0x24]
mov ecx, ebx
call fcn.004271c0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x427c44
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x427c3a
cmp word [eax], 0x5c
jne 0x427c32
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x427c30
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x427c15
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x427c2b
cmp ecx, 0x29
je 0x427c2b
mov ecx, eax
test bl, 0x10
jne 0x427c30
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x427c2b
mov edx, ecx
cmp edi, 0x7d
jne 0x427c30
lea eax, [edx + 2]
jmp 0x427c32
mov eax, ecx
add eax, 2
lea ebx, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.0042c190
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x427c61
cmp eax, 0x5d
jne 0x427c61
push eax
mov ecx, ebx
call fcn.00427140
mov ecx, esi
call fcn.0042b7d0
mov ecx, esi
call fcn.00428970
push 4
push 0x5d
mov ecx, esi
call fcn.0042a9a0
jmp 0x427e0b
cmp eax, 0x28
jne 0x427cf6
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x427cce
cmp word [eax], 0x5c
jne 0x427cc9
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x427cc7
test byte [esi + 0x50], 8
jne 0x427cab
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x427cc2
cmp ecx, 0x29
je 0x427cc2
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x427cc7
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x427cc2
mov edx, ecx
cmp ebx, 0x7d
jne 0x427cc7
lea eax, [edx + 2]
jmp 0x427cc9
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c190
mov ecx, esi
call fcn.0042c560
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0042a9a0
test bl, bl
je 0x427e15
jmp 0x427e0b
cmp eax, 0x5e
jne 0x427d0a
push 2
lea ecx, [esi + 0x24]
call fcn.0042b760
jmp 0x427aef
cmp eax, 0x24
jne 0x427d6a
push 3
lea ecx, [esi + 0x24]
call fcn.0042b760
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x427d5e
cmp word [eax], 0x5c
jne 0x427d5b
add eax, 2
cmp eax, ecx
je 0x427d5b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x427d46
movzx edx, word [eax]
cmp edx, 0x28
je 0x427d58
cmp edx, 0x29
je 0x427d58
test cl, 0x10
jne 0x427d5b
movzx eax, word [eax]
cmp eax, 0x7b
je 0x427d58
cmp eax, 0x7d
jne 0x427d5b
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042c190
jmp 0x427e15
cmp eax, 0x2a
je 0x427e31
cmp eax, 0x2b
je 0x427e31
cmp eax, 0x3f
je 0x427e31
cmp eax, 0x7b
je 0x427e31
cmp eax, 0x7d
jne 0x427da2
test dword [esi + 0x50], 0x10000000
je 0x427e43
jmp 0x427db4
cmp eax, 0x5d
jne 0x427db4
test dword [esi + 0x50], 0x10000000
je 0x427e4c
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00426f70
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x427e04
cmp word [eax], 0x5c
jne 0x427e01
add eax, 2
cmp eax, ecx
je 0x427e01
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x427dec
movzx edx, word [eax]
cmp edx, 0x28
je 0x427dfe
cmp edx, 0x29
je 0x427dfe
test cl, 0x10
jne 0x427e01
movzx eax, word [eax]
cmp eax, 0x7b
je 0x427dfe
cmp eax, 0x7d
jne 0x427e01
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042c190
mov ecx, esi
call fcn.0042b900
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x427e28
cmp eax, 0x7c
jne 0x427983
pop ebx
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret
push 0xa
mov ecx, esi
call fcn.0042a990
push 5
mov ecx, esi
call fcn.0042a990
push 6
mov ecx, esi
call fcn.0042a990
push 4
mov ecx, esi
call fcn.0042a990
int3