Function at 0x1003d640
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 0x1003daa7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x1003daa7
cmp eax, 0x29
jne 0x1003d680
cmp dword [esi + 0x10], 0
jne 0x1003daa7
test dword [esi + 0x50], 0x10000000
je 0x1003dab4
jmp 0x1003da40
cmp eax, 0x2e
jne 0x1003d6d3
push 5
lea ecx, [esi + 0x24]
call fcn.1003dad0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003da88
cmp byte [eax], 0x5c
jne 0x1003d88f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003d88f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1003d6cb
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1003d88d
cmp dl, 0x29
je 0x1003d88d
test bl, 0x10
jmp 0x1003d87f
cmp eax, 0x5c
jne 0x1003d7f1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003d71a
cmp byte [eax], 0x5c
jne 0x1003d717
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003d717
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1003d704
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1003d715
cmp dl, 0x29
je 0x1003d715
test bl, 0x10
jne 0x1003d717
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003d715
cmp dl, 0x7d
jne 0x1003d717
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003b6a0
test byte [esi + 0x50], 0x80
je 0x1003d7e5
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1003d786
push 4
lea ecx, [esi + 0x24]
call fcn.1003dad0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003d77a
cmp byte [eax], 0x5c
jne 0x1003d777
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003d777
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1003d764
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1003d775
cmp dl, 0x29
je 0x1003d775
test bl, 0x10
jne 0x1003d777
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003d775
cmp dl, 0x7d
jne 0x1003d777
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003b6a0
jmp 0x1003da99
cmp al, 0x42
jne 0x1003d7e5
push 4
lea ecx, [esi + 0x24]
call fcn.1003dad0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003d7d9
cmp byte [eax], 0x5c
jne 0x1003d7d6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003d7d6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003d7c3
mov al, byte [ecx]
cmp al, 0x28
je 0x1003d7d4
cmp al, 0x29
je 0x1003d7d4
mov eax, dword [esi]
test dl, 0x10
jne 0x1003d7d6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003d7d4
cmp dl, 0x7d
jne 0x1003d7d6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003b6a0
jmp 0x1003da99
mov ecx, esi
call fcn.1003fb80
jmp 0x1003da8f
cmp eax, 0x5b
jne 0x1003d897
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003d838
cmp byte [eax], 0x5c
jne 0x1003d835
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003d835
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003d822
mov al, byte [ecx]
cmp al, 0x28
je 0x1003d833
cmp al, 0x29
je 0x1003d833
mov eax, dword [esi]
test dl, 0x10
jne 0x1003d835
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003d833
cmp dl, 0x7d
jne 0x1003d835
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003b6a0
mov ecx, esi
call fcn.1003fa50
cmp dword [esi + 0x4c], 0x5d
jne 0x1003dac2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003da88
cmp byte [eax], 0x5c
jne 0x1003d88f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003d88f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003d87c
mov al, byte [ecx]
cmp al, 0x28
je 0x1003d88d
cmp al, 0x29
je 0x1003d88d
mov eax, dword [esi]
test dl, 0x10
jne 0x1003d88f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003d88d
cmp dl, 0x7d
jne 0x1003d88f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1003da88
cmp eax, 0x28
jne 0x1003d94a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003d8de
cmp byte [eax], 0x5c
jne 0x1003d8db
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003d8db
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003d8c8
mov al, byte [ecx]
cmp al, 0x28
je 0x1003d8d9
cmp al, 0x29
je 0x1003d8d9
mov eax, dword [esi]
test dl, 0x10
jne 0x1003d8db
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003d8d9
cmp dl, 0x7d
jne 0x1003d8db
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003b6a0
mov ecx, esi
call fcn.1003fcd0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1003dab4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1003d936
cmp byte [eax], 0x5c
jne 0x1003d933
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1003d933
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1003d920
mov al, byte [ecx]
cmp al, 0x28
je 0x1003d931
cmp al, 0x29
je 0x1003d931
mov eax, dword [esi]
test dl, 0x10
jne 0x1003d933
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1003d931
cmp dl, 0x7d
jne 0x1003d933
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1003b6a0
test bl, bl
je 0x1003da99
jmp 0x1003da8f
cmp eax, 0x5e
jne 0x1003d9a0
push 2
lea ecx, [esi + 0x24]
call fcn.1003dad0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1003d994
cmp byte [eax], 0x5c
jne 0x1003d992
inc eax
cmp eax, ecx
je 0x1003d992
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003d97f
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003d990
cmp dl, 0x29
je 0x1003d990
test cl, 0x10
jne 0x1003d992
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003d990
cmp cl, 0x7d
jne 0x1003d992
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003b6a0
jmp 0x1003da99
cmp eax, 0x24
jne 0x1003d9f6
push 3
lea ecx, [esi + 0x24]
call fcn.1003dad0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1003d9ea
cmp byte [eax], 0x5c
jne 0x1003d9e8
inc eax
cmp eax, ecx
je 0x1003d9e8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003d9d5
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003d9e6
cmp dl, 0x29
je 0x1003d9e6
test cl, 0x10
jne 0x1003d9e8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003d9e6
cmp cl, 0x7d
jne 0x1003d9e8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003b6a0
jmp 0x1003da99
cmp eax, 0x2a
je 0x1003daad
cmp eax, 0x2b
je 0x1003daad
cmp eax, 0x3f
je 0x1003daad
cmp eax, 0x7b
je 0x1003daad
cmp eax, 0x7d
jne 0x1003da2e
test dword [esi + 0x50], 0x10000000
je 0x1003dabb
jmp 0x1003da40
cmp eax, 0x5d
jne 0x1003da40
test dword [esi + 0x50], 0x10000000
je 0x1003dac2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10040060
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1003da88
cmp byte [eax], 0x5c
jne 0x1003da86
inc eax
cmp eax, ecx
je 0x1003da86
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1003da73
mov dl, byte [eax]
cmp dl, 0x28
je 0x1003da84
cmp dl, 0x29
je 0x1003da84
test cl, 0x10
jne 0x1003da86
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1003da84
cmp cl, 0x7d
jne 0x1003da86
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1003b6a0
mov ecx, esi
call fcn.1003fe30
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1003d656
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.1003b690
push 5
call fcn.1003b690
push 6
call fcn.1003b690
push 4
call fcn.1003b690
int3