Function at 0x10025ee0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x100263ee
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x7c
je 0x100263ec
cmp eax, 0x29
jne 0x10025f20
cmp dword [esi + 0x10], 0
jne 0x100263ec
test dword [esi + 0x50], 0x10000000
je 0x100263fb
jmp 0x1002637d
cmp eax, 0x2e
jne 0x10025f92
push 5
lea ecx, [esi + 0x24]
call fcn.1000ecc0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100263cd
cmp word [eax], 0x5c
jne 0x10025f88
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x10025f86
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10025f63
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x10025f79
cmp ecx, 0x29
je 0x10025f79
mov ecx, eax
test bl, 0x10
jne 0x10025f86
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x10025f79
mov edx, ecx
cmp edi, 0x7d
jne 0x10025f86
lea eax, [edx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x100263cd
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x100263cd
cmp eax, 0x5c
jne 0x100260f7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10025fec
cmp word [eax], 0x5c
jne 0x10025fe7
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x10025fe5
test byte [esi + 0x50], 8
jne 0x10025fc9
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x10025fe0
cmp ecx, 0x29
je 0x10025fe0
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x10025fe5
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x10025fe0
mov edx, ecx
cmp ebx, 0x7d
jne 0x10025fe5
lea eax, [edx + 2]
jmp 0x10025fe7
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10029d80
test byte [esi + 0x50], 0x80
je 0x100260eb
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x1002607e
push 4
lea ecx, [esi + 0x24]
call fcn.1000ecc0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10026072
cmp word [eax], 0x5c
jne 0x1002606d
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x1002606b
test byte [esi + 0x50], 8
jne 0x10026040
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x10026057
cmp ecx, 0x29
je 0x10026057
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x1002606b
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x10026057
mov edx, ecx
cmp ebx, 0x7d
jne 0x1002606b
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.10029d80
jmp 0x100263de
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10029d80
jmp 0x100263de
cmp ecx, 0x42
jne 0x100260eb
push 4
lea ecx, [esi + 0x24]
call fcn.1000ecc0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100260df
cmp word [eax], 0x5c
jne 0x100260da
lea ebx, [eax + 2]
cmp ebx, ecx
je 0x100260da
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100260c3
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x28
je 0x100260d7
cmp edx, 0x29
je 0x100260d7
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x100260da
movzx edx, word [ebx]
mov ecx, eax
cmp edx, 0x7b
je 0x100260d7
cmp edx, 0x7d
jne 0x100260da
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10029d80
jmp 0x100263de
mov ecx, esi
call fcn.10026420
jmp 0x100263d4
cmp eax, 0x5b
jne 0x100261f2
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10026148
cmp word [eax], 0x5c
jne 0x10026143
lea edx, [eax + 2]
cmp edx, ecx
je 0x10026143
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1002612c
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x10026140
cmp edi, 0x29
je 0x10026140
test bl, 0x10
jne 0x10026143
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x10026140
cmp edx, 0x7d
jne 0x10026143
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10029d80
lea edi, [esi + 0x24]
mov ecx, edi
call fcn.10025720
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x100261be
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100261b4
cmp word [eax], 0x5c
jne 0x100261ac
lea edx, [eax + 2]
cmp edx, ecx
je 0x100261ac
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10026195
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x100261a9
cmp edi, 0x29
je 0x100261a9
test bl, 0x10
jne 0x100261ac
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x100261a9
cmp edx, 0x7d
jne 0x100261ac
lea eax, [ecx + 2]
add eax, 2
lea edi, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.10029d80
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x100261db
cmp eax, 0x5d
jne 0x100261db
push eax
mov ecx, edi
call fcn.100256a0
mov ecx, esi
call fcn.10029940
mov ecx, esi
call fcn.10026be0
push 4
push 0x5d
mov ecx, esi
call fcn.10028740
jmp 0x100263d4
cmp eax, 0x28
jne 0x1002626a
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10026242
cmp word [eax], 0x5c
jne 0x1002623d
lea edx, [eax + 2]
cmp edx, ecx
je 0x1002623d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10026226
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x1002623a
cmp ebx, 0x29
je 0x1002623a
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x1002623d
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x1002623a
cmp edx, 0x7d
jne 0x1002623d
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10029d80
mov ecx, esi
call fcn.10029f30
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10028740
test bl, bl
je 0x100263de
jmp 0x100263d4
cmp eax, 0x5e
jne 0x100262d3
push 2
lea ecx, [esi + 0x24]
call fcn.1000ecc0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100262c7
cmp word [eax], 0x5c
jne 0x100262c2
lea edx, [eax + 2]
cmp edx, ecx
je 0x100262c2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100262ab
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x100262bf
cmp ebx, 0x29
je 0x100262bf
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x100262c2
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x100262bf
cmp edx, 0x7d
jne 0x100262c2
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10029d80
jmp 0x100263de
cmp eax, 0x24
jne 0x10026333
push 3
lea ecx, [esi + 0x24]
call fcn.1000ecc0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10026327
cmp word [eax], 0x5c
jne 0x10026324
add eax, 2
cmp eax, ecx
je 0x10026324
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002630f
movzx edx, word [eax]
cmp edx, 0x28
je 0x10026321
cmp edx, 0x29
je 0x10026321
test cl, 0x10
jne 0x10026324
movzx eax, word [eax]
cmp eax, 0x7b
je 0x10026321
cmp eax, 0x7d
jne 0x10026324
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.10029d80
jmp 0x100263de
cmp eax, 0x2a
je 0x100263f2
cmp eax, 0x2b
je 0x100263f2
cmp eax, 0x3f
je 0x100263f2
cmp eax, 0x7b
je 0x100263f2
cmp eax, 0x7d
jne 0x1002636b
test dword [esi + 0x50], 0x10000000
je 0x10026404
jmp 0x1002637d
cmp eax, 0x5d
jne 0x1002637d
test dword [esi + 0x50], 0x10000000
je 0x1002640d
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.100254d0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100263cd
cmp word [eax], 0x5c
jne 0x100263ca
add eax, 2
cmp eax, ecx
je 0x100263ca
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100263b5
movzx edx, word [eax]
cmp edx, 0x28
je 0x100263c7
cmp edx, 0x29
je 0x100263c7
test cl, 0x10
jne 0x100263ca
movzx eax, word [eax]
cmp eax, 0x7b
je 0x100263c7
cmp eax, 0x7d
jne 0x100263ca
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.10029d80
mov ecx, esi
call fcn.10029990
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10025ef6
pop ebx
pop edi
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.1000e1f0
push 5
mov ecx, esi
call fcn.1000e1f0
push 6
mov ecx, esi
call fcn.1000e1f0
push 4
mov ecx, esi
call fcn.1000e1f0
int3