Function at 0x10025e40
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x10026274
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x10026272
cmp eax, 0x29
jne 0x10025e80
cmp dword [esi + 0x10], 0
jne 0x10026272
test dword [esi + 0x50], 0x10000000
je 0x10026281
jmp 0x1002620b
cmp eax, 0x2e
jne 0x10025ed6
push 5
lea ecx, [esi + 0x24]
call fcn.1002a620
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10026253
cmp byte [eax], 0x5c
jne 0x10025ece
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10025ece
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10025ebb
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10025ecc
cmp dl, 0x29
je 0x10025ecc
test bl, 0x10
jne 0x10025ece
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10025ecc
cmp dl, 0x7d
jne 0x10025ece
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x10026253
cmp eax, 0x5c
jne 0x10025ff4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10025f1d
cmp byte [eax], 0x5c
jne 0x10025f1a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10025f1a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10025f07
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10025f18
cmp dl, 0x29
je 0x10025f18
test bl, 0x10
jne 0x10025f1a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10025f18
cmp dl, 0x7d
jne 0x10025f1a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1002aaa0
test byte [esi + 0x50], 0x80
je 0x10025fe8
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x10025f89
push 4
lea ecx, [esi + 0x24]
call fcn.1002a620
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10025f7d
cmp byte [eax], 0x5c
jne 0x10025f7a
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10025f7a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10025f67
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10025f78
cmp dl, 0x29
je 0x10025f78
test bl, 0x10
jne 0x10025f7a
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10025f78
cmp dl, 0x7d
jne 0x10025f7a
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1002aaa0
jmp 0x10026264
cmp al, 0x42
jne 0x10025fe8
push 4
lea ecx, [esi + 0x24]
call fcn.1002a620
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10025fdc
cmp byte [eax], 0x5c
jne 0x10025fd9
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10025fd9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10025fc6
mov al, byte [ecx]
cmp al, 0x28
je 0x10025fd7
cmp al, 0x29
je 0x10025fd7
mov eax, dword [esi]
test dl, 0x10
jne 0x10025fd9
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10025fd7
cmp dl, 0x7d
jne 0x10025fd9
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1002aaa0
jmp 0x10026264
mov ecx, esi
call fcn.10026770
jmp 0x1002625a
cmp eax, 0x5b
jne 0x1002609e
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1002603b
cmp byte [eax], 0x5c
jne 0x10026038
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10026038
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10026025
mov al, byte [ecx]
cmp al, 0x28
je 0x10026036
cmp al, 0x29
je 0x10026036
mov eax, dword [esi]
test dl, 0x10
jne 0x10026038
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10026036
cmp dl, 0x7d
jne 0x10026038
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1002aaa0
lea ecx, [esi + 0x24]
call fcn.10024ef0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x10026063
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1002a690
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x10026081
cmp eax, 0x5d
jne 0x10026081
push eax
lea ecx, [esi + 0x24]
call fcn.10024e00
mov ecx, esi
call fcn.1002a690
mov ecx, esi
call fcn.100276e0
cmp dword [esi + 0x4c], 0x5d
jne 0x10026293
mov ecx, esi
call fcn.1002a690
jmp 0x1002625a
cmp eax, 0x28
jne 0x1002610f
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100260e1
cmp byte [eax], 0x5c
jne 0x100260de
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100260de
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100260cb
mov al, byte [ecx]
cmp al, 0x28
je 0x100260dc
cmp al, 0x29
je 0x100260dc
mov eax, dword [esi]
test dl, 0x10
jne 0x100260de
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100260dc
cmp dl, 0x7d
jne 0x100260de
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1002aaa0
mov ecx, esi
call fcn.1002aec0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x10026281
mov ecx, esi
call fcn.1002a690
test bl, bl
je 0x10026264
jmp 0x1002625a
cmp eax, 0x5e
jne 0x10026168
push 2
lea ecx, [esi + 0x24]
call fcn.1002a620
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1002615c
cmp byte [eax], 0x5c
jne 0x10026159
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10026159
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10026146
mov al, byte [ecx]
cmp al, 0x28
je 0x10026157
cmp al, 0x29
je 0x10026157
mov eax, dword [esi]
test dl, 0x10
jne 0x10026159
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10026157
cmp dl, 0x7d
jne 0x10026159
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1002aaa0
jmp 0x10026264
cmp eax, 0x24
jne 0x100261c1
push 3
lea ecx, [esi + 0x24]
call fcn.1002a620
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100261b5
cmp byte [eax], 0x5c
jne 0x100261b2
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100261b2
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1002619f
mov al, byte [ecx]
cmp al, 0x28
je 0x100261b0
cmp al, 0x29
je 0x100261b0
mov eax, dword [esi]
test dl, 0x10
jne 0x100261b2
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100261b0
cmp dl, 0x7d
jne 0x100261b2
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1002aaa0
jmp 0x10026264
cmp eax, 0x2a
je 0x10026278
cmp eax, 0x2b
je 0x10026278
cmp eax, 0x3f
je 0x10026278
cmp eax, 0x7b
je 0x10026278
cmp eax, 0x7d
jne 0x100261f9
test dword [esi + 0x50], 0x10000000
je 0x1002628a
jmp 0x1002620b
cmp eax, 0x5d
jne 0x1002620b
test dword [esi + 0x50], 0x10000000
je 0x10026293
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10024a80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10026253
cmp byte [eax], 0x5c
jne 0x10026251
inc eax
cmp eax, ecx
je 0x10026251
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002623e
mov dl, byte [eax]
cmp dl, 0x28
je 0x1002624f
cmp dl, 0x29
je 0x1002624f
test cl, 0x10
jne 0x10026251
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1002624f
cmp cl, 0x7d
jne 0x10026251
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1002aaa0
mov ecx, esi
call fcn.1002a740
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10025e56
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.10029630
push 5
mov ecx, esi
call fcn.10029630
push 6
mov ecx, esi
call fcn.10029630
push 4
mov ecx, esi
call fcn.10029630
int3