Function at 0x10025a10
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 0x10025eda
cmp eax, 0x7c
je 0x10025eda
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x29
jne 0x10025a54
cmp dword [esi + 0x10], 0
jne 0x10025ed8
test dword [esi + 0x50], 0x10000000
je 0x10025eea
jmp 0x10025e64
cmp eax, 0x2e
jne 0x10025ab4
push 5
lea ecx, [esi + 0x24]
call fcn.100117c0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10025eb4
cmp word [eax], 0x5c
jne 0x10025aaa
lea edx, [eax + 2]
cmp edx, ecx
je 0x10025aaa
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10025a93
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x10025aa7
cmp edi, 0x29
je 0x10025aa7
test bl, 0x10
jne 0x10025aaa
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x10025aa7
cmp edx, 0x7d
jne 0x10025aaa
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x10025eb4
cmp eax, 0x5c
jne 0x10025c17
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10025b0c
cmp word [eax], 0x5c
jne 0x10025b07
lea edx, [eax + 2]
cmp edx, ecx
je 0x10025b07
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10025af0
movzx ecx, word [edx]
mov dword [ebp - 4], ecx
mov ecx, eax
cmp word [ebp - 4], 0x28
je 0x10025b04
cmp word [ebp - 4], 0x29
je 0x10025b04
test bl, 0x10
jne 0x10025b07
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x10025b04
cmp edx, 0x7d
jne 0x10025b07
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.100298a0
test byte [esi + 0x50], 0x80
je 0x10025c0b
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x10025b89
push 4
lea ecx, [esi + 0x24]
call fcn.100117c0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10025b7d
cmp word [eax], 0x5c
jne 0x10025b78
lea edx, [eax + 2]
cmp edx, ecx
je 0x10025b78
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10025b61
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x10025b75
cmp ebx, 0x29
je 0x10025b75
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x10025b78
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x10025b75
cmp edx, 0x7d
jne 0x10025b78
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.100298a0
jmp 0x10025ec5
cmp ecx, 0x42
jne 0x10025c0b
push 4
lea ecx, [esi + 0x24]
call fcn.100117c0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edx, dword [edi]
mov eax, dword [esi]
cmp eax, edx
je 0x10025bff
cmp word [eax], 0x5c
jne 0x10025bfa
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x10025bf8
test byte [esi + 0x50], 8
jne 0x10025bcd
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x10025be4
cmp ecx, 0x29
je 0x10025be4
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10025bf8
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x10025be4
mov edx, ecx
cmp ebx, 0x7d
jne 0x10025bf8
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.100298a0
jmp 0x10025ec5
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.100298a0
jmp 0x10025ec5
mov ecx, esi
call fcn.10025f10
jmp 0x10025ebb
cmp eax, 0x5b
jne 0x10025d28
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10025c75
cmp word [eax], 0x5c
jne 0x10025c6d
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x10025c6b
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10025c50
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x10025c66
cmp ecx, 0x29
je 0x10025c66
mov ecx, eax
test bl, 0x10
jne 0x10025c6b
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x10025c66
mov edx, ecx
cmp edi, 0x7d
jne 0x10025c6b
lea eax, [edx + 2]
jmp 0x10025c6d
mov eax, ecx
add eax, 2
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.100298a0
lea ebx, [esi + 0x24]
mov ecx, ebx
call fcn.10025250
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x10025cf4
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10025cea
cmp word [eax], 0x5c
jne 0x10025ce2
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x10025ce0
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10025cc5
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x10025cdb
cmp ecx, 0x29
je 0x10025cdb
mov ecx, eax
test bl, 0x10
jne 0x10025ce0
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x10025cdb
mov edx, ecx
cmp edi, 0x7d
jne 0x10025ce0
lea eax, [edx + 2]
jmp 0x10025ce2
mov eax, ecx
add eax, 2
lea ebx, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.100298a0
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x10025d11
cmp eax, 0x5d
jne 0x10025d11
push eax
mov ecx, ebx
call fcn.100251d0
mov ecx, esi
call fcn.10029460
mov ecx, esi
call fcn.100266e0
push 4
push 0x5d
mov ecx, esi
call fcn.10028260
jmp 0x10025ebb
cmp eax, 0x28
jne 0x10025da6
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10025d7e
cmp word [eax], 0x5c
jne 0x10025d79
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x10025d77
test byte [esi + 0x50], 8
jne 0x10025d5b
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x10025d72
cmp ecx, 0x29
je 0x10025d72
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10025d77
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x10025d72
mov edx, ecx
cmp ebx, 0x7d
jne 0x10025d77
lea eax, [edx + 2]
jmp 0x10025d79
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.100298a0
mov ecx, esi
call fcn.10029a50
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10028260
test bl, bl
je 0x10025ec5
jmp 0x10025ebb
cmp eax, 0x5e
jne 0x10025dba
push 2
lea ecx, [esi + 0x24]
call fcn.100117c0
jmp 0x10025b9f
cmp eax, 0x24
jne 0x10025e1a
push 3
lea ecx, [esi + 0x24]
call fcn.100117c0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10025e0e
cmp word [eax], 0x5c
jne 0x10025e0b
add eax, 2
cmp eax, ecx
je 0x10025e0b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10025df6
movzx edx, word [eax]
cmp edx, 0x28
je 0x10025e08
cmp edx, 0x29
je 0x10025e08
test cl, 0x10
jne 0x10025e0b
movzx eax, word [eax]
cmp eax, 0x7b
je 0x10025e08
cmp eax, 0x7d
jne 0x10025e0b
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.100298a0
jmp 0x10025ec5
cmp eax, 0x2a
je 0x10025ee1
cmp eax, 0x2b
je 0x10025ee1
cmp eax, 0x3f
je 0x10025ee1
cmp eax, 0x7b
je 0x10025ee1
cmp eax, 0x7d
jne 0x10025e52
test dword [esi + 0x50], 0x10000000
je 0x10025ef3
jmp 0x10025e64
cmp eax, 0x5d
jne 0x10025e64
test dword [esi + 0x50], 0x10000000
je 0x10025efc
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10025000
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10025eb4
cmp word [eax], 0x5c
jne 0x10025eb1
add eax, 2
cmp eax, ecx
je 0x10025eb1
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10025e9c
movzx edx, word [eax]
cmp edx, 0x28
je 0x10025eae
cmp edx, 0x29
je 0x10025eae
test cl, 0x10
jne 0x10025eb1
movzx eax, word [eax]
cmp eax, 0x7b
je 0x10025eae
cmp eax, 0x7d
jne 0x10025eb1
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.100298a0
mov ecx, esi
call fcn.100294b0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x10025ed8
cmp eax, 0x7c
jne 0x10025a33
pop ebx
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret
push 0xa
mov ecx, esi
call fcn.10010d00
push 5
mov ecx, esi
call fcn.10010d00
push 6
mov ecx, esi
call fcn.10010d00
push 4
mov ecx, esi
call fcn.10010d00
int3