Function at 0x10024b90
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 0x1002505a
cmp eax, 0x7c
je 0x1002505a
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x29
jne 0x10024bd4
cmp dword [esi + 0x10], 0
jne 0x10025058
test dword [esi + 0x50], 0x10000000
je 0x1002506a
jmp 0x10024fe4
cmp eax, 0x2e
jne 0x10024c34
push 5
lea ecx, [esi + 0x24]
call fcn.10010850
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10025034
cmp word [eax], 0x5c
jne 0x10024c2a
lea edx, [eax + 2]
cmp edx, ecx
je 0x10024c2a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10024c13
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x10024c27
cmp edi, 0x29
je 0x10024c27
test bl, 0x10
jne 0x10024c2a
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x10024c27
cmp edx, 0x7d
jne 0x10024c2a
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x10025034
cmp eax, 0x5c
jne 0x10024d97
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10024c8c
cmp word [eax], 0x5c
jne 0x10024c87
lea edx, [eax + 2]
cmp edx, ecx
je 0x10024c87
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10024c70
movzx ecx, word [edx]
mov dword [ebp - 4], ecx
mov ecx, eax
cmp word [ebp - 4], 0x28
je 0x10024c84
cmp word [ebp - 4], 0x29
je 0x10024c84
test bl, 0x10
jne 0x10024c87
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x10024c84
cmp edx, 0x7d
jne 0x10024c87
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10028a20
test byte [esi + 0x50], 0x80
je 0x10024d8b
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x10024d09
push 4
lea ecx, [esi + 0x24]
call fcn.10010850
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10024cfd
cmp word [eax], 0x5c
jne 0x10024cf8
lea edx, [eax + 2]
cmp edx, ecx
je 0x10024cf8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10024ce1
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x10024cf5
cmp ebx, 0x29
je 0x10024cf5
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x10024cf8
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x10024cf5
cmp edx, 0x7d
jne 0x10024cf8
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10028a20
jmp 0x10025045
cmp ecx, 0x42
jne 0x10024d8b
push 4
lea ecx, [esi + 0x24]
call fcn.10010850
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edx, dword [edi]
mov eax, dword [esi]
cmp eax, edx
je 0x10024d7f
cmp word [eax], 0x5c
jne 0x10024d7a
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x10024d78
test byte [esi + 0x50], 8
jne 0x10024d4d
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x10024d64
cmp ecx, 0x29
je 0x10024d64
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10024d78
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x10024d64
mov edx, ecx
cmp ebx, 0x7d
jne 0x10024d78
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.10028a20
jmp 0x10025045
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10028a20
jmp 0x10025045
mov ecx, esi
call fcn.10025090
jmp 0x1002503b
cmp eax, 0x5b
jne 0x10024ea8
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10024df5
cmp word [eax], 0x5c
jne 0x10024ded
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x10024deb
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10024dd0
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x10024de6
cmp ecx, 0x29
je 0x10024de6
mov ecx, eax
test bl, 0x10
jne 0x10024deb
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x10024de6
mov edx, ecx
cmp edi, 0x7d
jne 0x10024deb
lea eax, [edx + 2]
jmp 0x10024ded
mov eax, ecx
add eax, 2
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.10028a20
lea ebx, [esi + 0x24]
mov ecx, ebx
call fcn.100243d0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x10024e74
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10024e6a
cmp word [eax], 0x5c
jne 0x10024e62
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x10024e60
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10024e45
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x10024e5b
cmp ecx, 0x29
je 0x10024e5b
mov ecx, eax
test bl, 0x10
jne 0x10024e60
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x10024e5b
mov edx, ecx
cmp edi, 0x7d
jne 0x10024e60
lea eax, [edx + 2]
jmp 0x10024e62
mov eax, ecx
add eax, 2
lea ebx, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.10028a20
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x10024e91
cmp eax, 0x5d
jne 0x10024e91
push eax
mov ecx, ebx
call fcn.10024350
mov ecx, esi
call fcn.100285e0
mov ecx, esi
call fcn.10025860
push 4
push 0x5d
mov ecx, esi
call fcn.100273e0
jmp 0x1002503b
cmp eax, 0x28
jne 0x10024f26
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10024efe
cmp word [eax], 0x5c
jne 0x10024ef9
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x10024ef7
test byte [esi + 0x50], 8
jne 0x10024edb
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x10024ef2
cmp ecx, 0x29
je 0x10024ef2
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10024ef7
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x10024ef2
mov edx, ecx
cmp ebx, 0x7d
jne 0x10024ef7
lea eax, [edx + 2]
jmp 0x10024ef9
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10028a20
mov ecx, esi
call fcn.10028bd0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.100273e0
test bl, bl
je 0x10025045
jmp 0x1002503b
cmp eax, 0x5e
jne 0x10024f3a
push 2
lea ecx, [esi + 0x24]
call fcn.10010850
jmp 0x10024d1f
cmp eax, 0x24
jne 0x10024f9a
push 3
lea ecx, [esi + 0x24]
call fcn.10010850
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10024f8e
cmp word [eax], 0x5c
jne 0x10024f8b
add eax, 2
cmp eax, ecx
je 0x10024f8b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10024f76
movzx edx, word [eax]
cmp edx, 0x28
je 0x10024f88
cmp edx, 0x29
je 0x10024f88
test cl, 0x10
jne 0x10024f8b
movzx eax, word [eax]
cmp eax, 0x7b
je 0x10024f88
cmp eax, 0x7d
jne 0x10024f8b
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.10028a20
jmp 0x10025045
cmp eax, 0x2a
je 0x10025061
cmp eax, 0x2b
je 0x10025061
cmp eax, 0x3f
je 0x10025061
cmp eax, 0x7b
je 0x10025061
cmp eax, 0x7d
jne 0x10024fd2
test dword [esi + 0x50], 0x10000000
je 0x10025073
jmp 0x10024fe4
cmp eax, 0x5d
jne 0x10024fe4
test dword [esi + 0x50], 0x10000000
je 0x1002507c
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10024180
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10025034
cmp word [eax], 0x5c
jne 0x10025031
add eax, 2
cmp eax, ecx
je 0x10025031
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002501c
movzx edx, word [eax]
cmp edx, 0x28
je 0x1002502e
cmp edx, 0x29
je 0x1002502e
test cl, 0x10
jne 0x10025031
movzx eax, word [eax]
cmp eax, 0x7b
je 0x1002502e
cmp eax, 0x7d
jne 0x10025031
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.10028a20
mov ecx, esi
call fcn.10028630
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x10025058
cmp eax, 0x7c
jne 0x10024bb3
pop ebx
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret
push 0xa
mov ecx, esi
call fcn.1000fd90
push 5
mov ecx, esi
call fcn.1000fd90
push 6
mov ecx, esi
call fcn.1000fd90
push 4
mov ecx, esi
call fcn.1000fd90
int3