Function at 0x1009e4a0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1009e907
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x1009e907
cmp eax, 0x29
jne 0x1009e4e0
cmp dword [esi + 0x10], 0
jne 0x1009e907
test dword [esi + 0x50], 0x10000000
je 0x1009e914
jmp 0x1009e8a0
cmp eax, 0x2e
jne 0x1009e533
push 5
lea ecx, [esi + 0x24]
call fcn.1009e930
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1009e8e8
cmp byte [eax], 0x5c
jne 0x1009e6ef
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009e6ef
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1009e52b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1009e6ed
cmp dl, 0x29
je 0x1009e6ed
test bl, 0x10
jmp 0x1009e6df
cmp eax, 0x5c
jne 0x1009e651
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1009e57a
cmp byte [eax], 0x5c
jne 0x1009e577
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009e577
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1009e564
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1009e575
cmp dl, 0x29
je 0x1009e575
test bl, 0x10
jne 0x1009e577
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1009e575
cmp dl, 0x7d
jne 0x1009e577
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1009d6e0
test byte [esi + 0x50], 0x80
je 0x1009e645
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1009e5e6
push 4
lea ecx, [esi + 0x24]
call fcn.1009e930
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1009e5da
cmp byte [eax], 0x5c
jne 0x1009e5d7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009e5d7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1009e5c4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1009e5d5
cmp dl, 0x29
je 0x1009e5d5
test bl, 0x10
jne 0x1009e5d7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1009e5d5
cmp dl, 0x7d
jne 0x1009e5d7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1009d6e0
jmp 0x1009e8f9
cmp al, 0x42
jne 0x1009e645
push 4
lea ecx, [esi + 0x24]
call fcn.1009e930
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1009e639
cmp byte [eax], 0x5c
jne 0x1009e636
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009e636
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1009e623
mov al, byte [ecx]
cmp al, 0x28
je 0x1009e634
cmp al, 0x29
je 0x1009e634
mov eax, dword [esi]
test dl, 0x10
jne 0x1009e636
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1009e634
cmp dl, 0x7d
jne 0x1009e636
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1009d6e0
jmp 0x1009e8f9
mov ecx, esi
call fcn.1009f8e0
jmp 0x1009e8ef
cmp eax, 0x5b
jne 0x1009e6f7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1009e698
cmp byte [eax], 0x5c
jne 0x1009e695
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009e695
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1009e682
mov al, byte [ecx]
cmp al, 0x28
je 0x1009e693
cmp al, 0x29
je 0x1009e693
mov eax, dword [esi]
test dl, 0x10
jne 0x1009e695
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1009e693
cmp dl, 0x7d
jne 0x1009e695
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1009d6e0
mov ecx, esi
call fcn.1009f7b0
cmp dword [esi + 0x4c], 0x5d
jne 0x1009e922
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1009e8e8
cmp byte [eax], 0x5c
jne 0x1009e6ef
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009e6ef
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1009e6dc
mov al, byte [ecx]
cmp al, 0x28
je 0x1009e6ed
cmp al, 0x29
je 0x1009e6ed
mov eax, dword [esi]
test dl, 0x10
jne 0x1009e6ef
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1009e6ed
cmp dl, 0x7d
jne 0x1009e6ef
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1009e8e8
cmp eax, 0x28
jne 0x1009e7aa
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1009e73e
cmp byte [eax], 0x5c
jne 0x1009e73b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009e73b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1009e728
mov al, byte [ecx]
cmp al, 0x28
je 0x1009e739
cmp al, 0x29
je 0x1009e739
mov eax, dword [esi]
test dl, 0x10
jne 0x1009e73b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1009e739
cmp dl, 0x7d
jne 0x1009e73b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1009d6e0
mov ecx, esi
call fcn.1009fa30
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1009e914
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1009e796
cmp byte [eax], 0x5c
jne 0x1009e793
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1009e793
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1009e780
mov al, byte [ecx]
cmp al, 0x28
je 0x1009e791
cmp al, 0x29
je 0x1009e791
mov eax, dword [esi]
test dl, 0x10
jne 0x1009e793
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1009e791
cmp dl, 0x7d
jne 0x1009e793
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1009d6e0
test bl, bl
je 0x1009e8f9
jmp 0x1009e8ef
cmp eax, 0x5e
jne 0x1009e800
push 2
lea ecx, [esi + 0x24]
call fcn.1009e930
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1009e7f4
cmp byte [eax], 0x5c
jne 0x1009e7f2
inc eax
cmp eax, ecx
je 0x1009e7f2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1009e7df
mov dl, byte [eax]
cmp dl, 0x28
je 0x1009e7f0
cmp dl, 0x29
je 0x1009e7f0
test cl, 0x10
jne 0x1009e7f2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1009e7f0
cmp cl, 0x7d
jne 0x1009e7f2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1009d6e0
jmp 0x1009e8f9
cmp eax, 0x24
jne 0x1009e856
push 3
lea ecx, [esi + 0x24]
call fcn.1009e930
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1009e84a
cmp byte [eax], 0x5c
jne 0x1009e848
inc eax
cmp eax, ecx
je 0x1009e848
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1009e835
mov dl, byte [eax]
cmp dl, 0x28
je 0x1009e846
cmp dl, 0x29
je 0x1009e846
test cl, 0x10
jne 0x1009e848
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1009e846
cmp cl, 0x7d
jne 0x1009e848
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1009d6e0
jmp 0x1009e8f9
cmp eax, 0x2a
je 0x1009e90d
cmp eax, 0x2b
je 0x1009e90d
cmp eax, 0x3f
je 0x1009e90d
cmp eax, 0x7b
je 0x1009e90d
cmp eax, 0x7d
jne 0x1009e88e
test dword [esi + 0x50], 0x10000000
je 0x1009e91b
jmp 0x1009e8a0
cmp eax, 0x5d
jne 0x1009e8a0
test dword [esi + 0x50], 0x10000000
je 0x1009e922
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1009fec0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1009e8e8
cmp byte [eax], 0x5c
jne 0x1009e8e6
inc eax
cmp eax, ecx
je 0x1009e8e6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1009e8d3
mov dl, byte [eax]
cmp dl, 0x28
je 0x1009e8e4
cmp dl, 0x29
je 0x1009e8e4
test cl, 0x10
jne 0x1009e8e6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1009e8e4
cmp cl, 0x7d
jne 0x1009e8e6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1009d6e0
mov ecx, esi
call fcn.1009fc90
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1009e4b6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.1009d6d0
push 5
call fcn.1009d6d0
push 6
call fcn.1009d6d0
push 4
call fcn.1009d6d0
int3