Function at 0x10027280
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 0x1002774a
cmp eax, 0x7c
je 0x1002774a
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x29
jne 0x100272c4
cmp dword [esi + 0x10], 0
jne 0x10027748
test dword [esi + 0x50], 0x10000000
je 0x1002775a
jmp 0x100276d4
cmp eax, 0x2e
jne 0x10027324
push 5
lea ecx, [esi + 0x24]
call fcn.10012d80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10027724
cmp word [eax], 0x5c
jne 0x1002731a
lea edx, [eax + 2]
cmp edx, ecx
je 0x1002731a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10027303
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x10027317
cmp edi, 0x29
je 0x10027317
test bl, 0x10
jne 0x1002731a
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x10027317
cmp edx, 0x7d
jne 0x1002731a
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x10027724
cmp eax, 0x5c
jne 0x10027487
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1002737c
cmp word [eax], 0x5c
jne 0x10027377
lea edx, [eax + 2]
cmp edx, ecx
je 0x10027377
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10027360
movzx ecx, word [edx]
mov dword [ebp - 4], ecx
mov ecx, eax
cmp word [ebp - 4], 0x28
je 0x10027374
cmp word [ebp - 4], 0x29
je 0x10027374
test bl, 0x10
jne 0x10027377
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x10027374
cmp edx, 0x7d
jne 0x10027377
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1002b110
test byte [esi + 0x50], 0x80
je 0x1002747b
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x100273f9
push 4
lea ecx, [esi + 0x24]
call fcn.10012d80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100273ed
cmp word [eax], 0x5c
jne 0x100273e8
lea edx, [eax + 2]
cmp edx, ecx
je 0x100273e8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100273d1
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x100273e5
cmp ebx, 0x29
je 0x100273e5
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x100273e8
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x100273e5
cmp edx, 0x7d
jne 0x100273e8
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1002b110
jmp 0x10027735
cmp ecx, 0x42
jne 0x1002747b
push 4
lea ecx, [esi + 0x24]
call fcn.10012d80
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edx, dword [edi]
mov eax, dword [esi]
cmp eax, edx
je 0x1002746f
cmp word [eax], 0x5c
jne 0x1002746a
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x10027468
test byte [esi + 0x50], 8
jne 0x1002743d
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x10027454
cmp ecx, 0x29
je 0x10027454
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10027468
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x10027454
mov edx, ecx
cmp ebx, 0x7d
jne 0x10027468
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.1002b110
jmp 0x10027735
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1002b110
jmp 0x10027735
mov ecx, esi
call fcn.10027780
jmp 0x1002772b
cmp eax, 0x5b
jne 0x10027598
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100274e5
cmp word [eax], 0x5c
jne 0x100274dd
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x100274db
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100274c0
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x100274d6
cmp ecx, 0x29
je 0x100274d6
mov ecx, eax
test bl, 0x10
jne 0x100274db
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x100274d6
mov edx, ecx
cmp edi, 0x7d
jne 0x100274db
lea eax, [edx + 2]
jmp 0x100274dd
mov eax, ecx
add eax, 2
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.1002b110
lea ebx, [esi + 0x24]
mov ecx, ebx
call fcn.10026ab0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x10027564
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1002755a
cmp word [eax], 0x5c
jne 0x10027552
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x10027550
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10027535
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x1002754b
cmp ecx, 0x29
je 0x1002754b
mov ecx, eax
test bl, 0x10
jne 0x10027550
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x1002754b
mov edx, ecx
cmp edi, 0x7d
jne 0x10027550
lea eax, [edx + 2]
jmp 0x10027552
mov eax, ecx
add eax, 2
lea ebx, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.1002b110
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x10027581
cmp eax, 0x5d
jne 0x10027581
push eax
mov ecx, ebx
call fcn.10026a30
mov ecx, esi
call fcn.1002acd0
mov ecx, esi
call fcn.10027f50
push 4
push 0x5d
mov ecx, esi
call fcn.10029ad0
jmp 0x1002772b
cmp eax, 0x28
jne 0x10027616
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100275ee
cmp word [eax], 0x5c
jne 0x100275e9
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x100275e7
test byte [esi + 0x50], 8
jne 0x100275cb
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x100275e2
cmp ecx, 0x29
je 0x100275e2
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x100275e7
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x100275e2
mov edx, ecx
cmp ebx, 0x7d
jne 0x100275e7
lea eax, [edx + 2]
jmp 0x100275e9
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.1002b110
mov ecx, esi
call fcn.1002b2c0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10029ad0
test bl, bl
je 0x10027735
jmp 0x1002772b
cmp eax, 0x5e
jne 0x1002762a
push 2
lea ecx, [esi + 0x24]
call fcn.10012d80
jmp 0x1002740f
cmp eax, 0x24
jne 0x1002768a
push 3
lea ecx, [esi + 0x24]
call fcn.10012d80
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1002767e
cmp word [eax], 0x5c
jne 0x1002767b
add eax, 2
cmp eax, ecx
je 0x1002767b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10027666
movzx edx, word [eax]
cmp edx, 0x28
je 0x10027678
cmp edx, 0x29
je 0x10027678
test cl, 0x10
jne 0x1002767b
movzx eax, word [eax]
cmp eax, 0x7b
je 0x10027678
cmp eax, 0x7d
jne 0x1002767b
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.1002b110
jmp 0x10027735
cmp eax, 0x2a
je 0x10027751
cmp eax, 0x2b
je 0x10027751
cmp eax, 0x3f
je 0x10027751
cmp eax, 0x7b
je 0x10027751
cmp eax, 0x7d
jne 0x100276c2
test dword [esi + 0x50], 0x10000000
je 0x10027763
jmp 0x100276d4
cmp eax, 0x5d
jne 0x100276d4
test dword [esi + 0x50], 0x10000000
je 0x1002776c
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10026860
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10027724
cmp word [eax], 0x5c
jne 0x10027721
add eax, 2
cmp eax, ecx
je 0x10027721
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002770c
movzx edx, word [eax]
cmp edx, 0x28
je 0x1002771e
cmp edx, 0x29
je 0x1002771e
test cl, 0x10
jne 0x10027721
movzx eax, word [eax]
cmp eax, 0x7b
je 0x1002771e
cmp eax, 0x7d
jne 0x10027721
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.1002b110
mov ecx, esi
call fcn.1002ad20
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x10027748
cmp eax, 0x7c
jne 0x100272a3
pop ebx
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret
push 0xa
mov ecx, esi
call fcn.100122c0
push 5
mov ecx, esi
call fcn.100122c0
push 6
mov ecx, esi
call fcn.100122c0
push 4
mov ecx, esi
call fcn.100122c0
int3