Function at 0x41dcd0
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 0x41e1b5
lea edi, [esi + 8]
nop word [eax + eax]
cmp eax, 0x7c
je 0x41e1b5
cmp eax, 0x29
jne 0x41dd1a
cmp dword [esi + 0x10], 0
jne 0x41e1b5
test dword [esi + 0x50], 0x10000000
je 0x41e1c5
jmp 0x41e14f
cmp eax, 0x2e
jne 0x41dd89
push 5
lea ecx, [esi + 0x24]
call fcn.0041e1e0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e196
cmp byte [eax], 0x5c
jne 0x41df8b
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x41dd7f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41dd5f
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x41dd74
cmp cl, 0x29
je 0x41dd74
mov ecx, eax
test bl, 0x10
jne 0x41dd7f
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x41dd74
mov edx, ecx
cmp bl, 0x7d
jne 0x41dd7f
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x41e196
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41e196
cmp eax, 0x5c
jne 0x41ded8
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41ddde
cmp byte [eax], 0x5c
jne 0x41dddb
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x41ddd9
test byte [esi + 0x50], 8
jne 0x41ddbe
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x41ddd4
cmp cl, 0x29
je 0x41ddd4
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x41ddd9
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x41ddd4
mov edx, ecx
cmp bl, 0x7d
jne 0x41ddd9
lea eax, [edx + 1]
jmp 0x41dddb
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041c800
test byte [esi + 0x50], 0x80
je 0x41decc
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x41de65
push 4
lea ecx, [esi + 0x24]
call fcn.0041e1e0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41de59
cmp byte [eax], 0x5c
jne 0x41de56
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x41de54
test byte [esi + 0x50], 8
jne 0x41de2c
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x41de42
cmp cl, 0x29
je 0x41de42
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x41de54
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x41de42
mov edx, ecx
cmp bl, 0x7d
jne 0x41de54
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.0041c800
jmp 0x41e1a7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041c800
jmp 0x41e1a7
cmp al, 0x42
jne 0x41decc
push 4
lea ecx, [esi + 0x24]
call fcn.0041e1e0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41dec0
cmp byte [eax], 0x5c
jne 0x41debd
lea ebx, [eax + 1]
cmp ebx, ecx
je 0x41debd
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41dea7
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x28
je 0x41deba
cmp dl, 0x29
je 0x41deba
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x41debd
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x7b
je 0x41deba
cmp dl, 0x7d
jne 0x41debd
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041c800
jmp 0x41e1a7
mov ecx, esi
call fcn.0041ee00
jmp 0x41e19d
cmp eax, 0x5b
jne 0x41df93
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41df29
cmp byte [eax], 0x5c
jne 0x41df26
lea edx, [eax + 1]
cmp edx, ecx
je 0x41df26
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41df10
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x41df23
cmp byte [ebp - 1], 0x29
je 0x41df23
test bl, 0x10
jne 0x41df26
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41df23
cmp dl, 0x7d
jne 0x41df26
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041c800
mov ecx, esi
call fcn.0041ecc0
cmp dword [esi + 0x4c], 0x5d
jne 0x41e1d3
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e196
cmp byte [eax], 0x5c
jne 0x41df8b
lea edx, [eax + 1]
cmp edx, ecx
je 0x41df8b
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41df75
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x41df88
cmp byte [ebp - 1], 0x29
je 0x41df88
test bl, 0x10
jne 0x41df8b
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41df88
cmp dl, 0x7d
jne 0x41df8b
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x41e196
cmp eax, 0x28
jne 0x41e057
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41dfe2
cmp byte [eax], 0x5c
jne 0x41dfdf
lea edx, [eax + 1]
cmp edx, ecx
je 0x41dfdf
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41dfc9
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x41dfdc
cmp bl, 0x29
je 0x41dfdc
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x41dfdf
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41dfdc
cmp dl, 0x7d
jne 0x41dfdf
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041c800
mov ecx, esi
call fcn.0041ef50
cmp dword [esi + 0x4c], 0x29
mov bh, al
jne 0x41e1c5
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e043
cmp byte [eax], 0x5c
jne 0x41e040
lea edx, [eax + 1]
cmp edx, ecx
je 0x41e040
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e02a
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x41e03d
cmp bl, 0x29
je 0x41e03d
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x41e040
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x41e03d
cmp dl, 0x7d
jne 0x41e040
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041c800
test bh, bh
je 0x41e1a7
jmp 0x41e19d
cmp eax, 0x5e
jne 0x41e0ae
push 2
lea ecx, [esi + 0x24]
call fcn.0041e1e0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e0a2
cmp byte [eax], 0x5c
jne 0x41e0a0
inc eax
cmp eax, ecx
je 0x41e0a0
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e08f
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e09e
cmp dl, 0x29
je 0x41e09e
test cl, 0x10
jne 0x41e0a0
mov al, byte [eax]
cmp al, 0x7b
je 0x41e09e
cmp al, 0x7d
jne 0x41e0a0
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041c800
jmp 0x41e1a7
cmp eax, 0x24
jne 0x41e105
push 3
lea ecx, [esi + 0x24]
call fcn.0041e1e0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e0f9
cmp byte [eax], 0x5c
jne 0x41e0f7
inc eax
cmp eax, ecx
je 0x41e0f7
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e0e6
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e0f5
cmp dl, 0x29
je 0x41e0f5
test cl, 0x10
jne 0x41e0f7
mov al, byte [eax]
cmp al, 0x7b
je 0x41e0f5
cmp al, 0x7d
jne 0x41e0f7
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041c800
jmp 0x41e1a7
cmp eax, 0x2a
je 0x41e1be
cmp eax, 0x2b
je 0x41e1be
cmp eax, 0x3f
je 0x41e1be
cmp eax, 0x7b
je 0x41e1be
cmp eax, 0x7d
jne 0x41e13d
test dword [esi + 0x50], 0x10000000
je 0x41e1cc
jmp 0x41e14f
cmp eax, 0x5d
jne 0x41e14f
test dword [esi + 0x50], 0x10000000
je 0x41e1d3
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041f300
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e196
cmp byte [eax], 0x5c
jne 0x41e194
inc eax
cmp eax, ecx
je 0x41e194
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e183
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e192
cmp dl, 0x29
je 0x41e192
test cl, 0x10
jne 0x41e194
mov al, byte [eax]
cmp al, 0x7b
je 0x41e192
cmp al, 0x7d
jne 0x41e194
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0041c800
mov ecx, esi
call fcn.0041f0d0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x41dcf0
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.0041c7f0
push 5
call fcn.0041c7f0
push 6
call fcn.0041c7f0
push 4
call fcn.0041c7f0
int3