Function at 0x41d550
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x41da52
cmp eax, 0x7c
je 0x41da52
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x41d594
cmp dword [esi + 0x10], 0
jne 0x41da52
test dword [esi + 0x50], 0x10000000
je 0x41da62
jmp 0x41d9e7
cmp eax, 0x2e
jne 0x41d604
push 5
lea ecx, [esi + 0x24]
call fcn.0041da80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41da2e
cmp byte [eax], 0x5c
jne 0x41d814
lea edx, [eax + 1]
cmp edx, ecx
je 0x41d814
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41d5de
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x41d5f9
cmp byte [ebp - 1], 0x29
je 0x41d5f9
test bl, 0x10
jne 0x41d814
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41d5f9
cmp dl, 0x7d
jne 0x41d814
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x41da2e
cmp eax, 0x5c
jne 0x41d74f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41d655
cmp byte [eax], 0x5c
jne 0x41d652
lea edx, [eax + 1]
cmp edx, ecx
je 0x41d652
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41d63c
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x41d64f
cmp byte [ebp - 1], 0x29
je 0x41d64f
test bl, 0x10
jne 0x41d652
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41d64f
cmp dl, 0x7d
jne 0x41d652
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb50
test byte [esi + 0x50], 0x80
je 0x41d743
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x41d6c9
push 4
lea ecx, [esi + 0x24]
call fcn.0041da80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41d6bd
cmp byte [eax], 0x5c
jne 0x41d6ba
lea edx, [eax + 1]
cmp edx, ecx
je 0x41d6ba
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41d6a4
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x41d6b7
cmp bl, 0x29
je 0x41d6b7
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x41d6ba
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41d6b7
cmp dl, 0x7d
jne 0x41d6ba
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb50
jmp 0x41da3f
cmp al, 0x42
jne 0x41d743
push 4
lea ecx, [esi + 0x24]
call fcn.0041da80
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41d737
cmp byte [eax], 0x5c
jne 0x41d734
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x41d732
test byte [esi + 0x50], 8
jne 0x41d70a
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x41d720
cmp cl, 0x29
je 0x41d720
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x41d732
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x41d720
mov edx, ecx
cmp bl, 0x7d
jne 0x41d732
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.0041cb50
jmp 0x41da3f
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb50
jmp 0x41da3f
mov ecx, esi
call fcn.0041e5c0
jmp 0x41da35
cmp eax, 0x5b
jne 0x41d81c
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41d7a8
cmp byte [eax], 0x5c
jne 0x41d7a2
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41d7a0
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41d786
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41d79b
cmp cl, 0x29
je 0x41d79b
mov ecx, eax
test bl, 0x10
jne 0x41d7a0
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41d79b
mov edx, ecx
cmp bl, 0x7d
jne 0x41d7a0
lea eax, [edx + 1]
jmp 0x41d7a2
mov eax, ecx
inc eax
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb50
mov ecx, esi
call fcn.0041e480
cmp dword [esi + 0x4c], 0x5d
jne 0x41da70
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41da2e
cmp byte [eax], 0x5c
jne 0x41d814
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41d812
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41d7f2
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41d807
cmp cl, 0x29
je 0x41d807
mov ecx, eax
test bl, 0x10
jne 0x41d812
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41d807
mov edx, ecx
cmp bl, 0x7d
jne 0x41d812
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x41da2e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41da2e
cmp eax, 0x28
jne 0x41d8f2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41d871
cmp byte [eax], 0x5c
jne 0x41d86e
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x41d86c
test byte [esi + 0x50], 8
jne 0x41d851
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x41d867
cmp cl, 0x29
je 0x41d867
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x41d86c
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x41d867
mov edx, ecx
cmp bl, 0x7d
jne 0x41d86c
lea eax, [edx + 1]
jmp 0x41d86e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb50
mov ecx, esi
call fcn.0041e710
cmp dword [esi + 0x4c], 0x29
mov bl, al
mov byte [ebp - 1], bl
jne 0x41da62
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x41d8de
cmp byte [eax], 0x5c
jne 0x41d8db
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x41d8d6
test byte [esi + 0x50], 8
jne 0x41d8bb
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x41d8d1
cmp cl, 0x29
je 0x41d8d1
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x41d8d6
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x41d8d1
mov edx, ecx
cmp bl, 0x7d
jne 0x41d8d6
lea eax, [edx + 1]
jmp 0x41d8d8
mov eax, ecx
mov bl, byte [ebp - 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb50
test bl, bl
je 0x41da3f
jmp 0x41da35
cmp eax, 0x5e
jne 0x41d946
push 2
lea ecx, [esi + 0x24]
call fcn.0041da80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41d93a
cmp byte [eax], 0x5c
jne 0x41d938
inc eax
cmp eax, ecx
je 0x41d938
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41d927
mov dl, byte [eax]
cmp dl, 0x28
je 0x41d936
cmp dl, 0x29
je 0x41d936
test cl, 0x10
jne 0x41d938
mov al, byte [eax]
cmp al, 0x7b
je 0x41d936
cmp al, 0x7d
jne 0x41d938
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041cb50
jmp 0x41da3f
cmp eax, 0x24
jne 0x41d99d
push 3
lea ecx, [esi + 0x24]
call fcn.0041da80
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41d991
cmp byte [eax], 0x5c
jne 0x41d98f
inc eax
cmp eax, ecx
je 0x41d98f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41d97e
mov dl, byte [eax]
cmp dl, 0x28
je 0x41d98d
cmp dl, 0x29
je 0x41d98d
test cl, 0x10
jne 0x41d98f
mov al, byte [eax]
cmp al, 0x7b
je 0x41d98d
cmp al, 0x7d
jne 0x41d98f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041cb50
jmp 0x41da3f
cmp eax, 0x2a
je 0x41da5b
cmp eax, 0x2b
je 0x41da5b
cmp eax, 0x3f
je 0x41da5b
cmp eax, 0x7b
je 0x41da5b
cmp eax, 0x7d
jne 0x41d9d5
test dword [esi + 0x50], 0x10000000
je 0x41da69
jmp 0x41d9e7
cmp eax, 0x5d
jne 0x41d9e7
test dword [esi + 0x50], 0x10000000
je 0x41da70
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041eb10
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41da2e
cmp byte [eax], 0x5c
jne 0x41da2c
inc eax
cmp eax, ecx
je 0x41da2c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41da1b
mov dl, byte [eax]
cmp dl, 0x28
je 0x41da2a
cmp dl, 0x29
je 0x41da2a
test cl, 0x10
jne 0x41da2c
mov al, byte [eax]
cmp al, 0x7b
je 0x41da2a
cmp al, 0x7d
jne 0x41da2c
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041cb50
mov ecx, esi
call fcn.0041e8f0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x41da52
cmp eax, 0x7c
jne 0x41d573
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.0041cb40
push 5
call fcn.0041cb40
push 6
call fcn.0041cb40
push 4
call fcn.0041cb40
int3