Function at 0x41ddf0
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 0x41e257
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x41e257
cmp eax, 0x29
jne 0x41de30
cmp dword [esi + 0x10], 0
jne 0x41e257
test dword [esi + 0x50], 0x10000000
je 0x41e264
jmp 0x41e1f0
cmp eax, 0x2e
jne 0x41de83
push 5
lea ecx, [esi + 0x24]
call fcn.0041e280
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e238
cmp byte [eax], 0x5c
jne 0x41e03f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41e03f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41de7b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41e03d
cmp dl, 0x29
je 0x41e03d
test bl, 0x10
jmp 0x41e02f
cmp eax, 0x5c
jne 0x41dfa1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41deca
cmp byte [eax], 0x5c
jne 0x41dec7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41dec7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41deb4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41dec5
cmp dl, 0x29
je 0x41dec5
test bl, 0x10
jne 0x41dec7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41dec5
cmp dl, 0x7d
jne 0x41dec7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb20
test byte [esi + 0x50], 0x80
je 0x41df95
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x41df36
push 4
lea ecx, [esi + 0x24]
call fcn.0041e280
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41df2a
cmp byte [eax], 0x5c
jne 0x41df27
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41df27
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41df14
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41df25
cmp dl, 0x29
je 0x41df25
test bl, 0x10
jne 0x41df27
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41df25
cmp dl, 0x7d
jne 0x41df27
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb20
jmp 0x41e249
cmp al, 0x42
jne 0x41df95
push 4
lea ecx, [esi + 0x24]
call fcn.0041e280
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41df89
cmp byte [eax], 0x5c
jne 0x41df86
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41df86
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41df73
mov al, byte [ecx]
cmp al, 0x28
je 0x41df84
cmp al, 0x29
je 0x41df84
mov eax, dword [esi]
test dl, 0x10
jne 0x41df86
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41df84
cmp dl, 0x7d
jne 0x41df86
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb20
jmp 0x41e249
mov ecx, esi
call fcn.0041f0c0
jmp 0x41e23f
cmp eax, 0x5b
jne 0x41e047
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41dfe8
cmp byte [eax], 0x5c
jne 0x41dfe5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41dfe5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41dfd2
mov al, byte [ecx]
cmp al, 0x28
je 0x41dfe3
cmp al, 0x29
je 0x41dfe3
mov eax, dword [esi]
test dl, 0x10
jne 0x41dfe5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41dfe3
cmp dl, 0x7d
jne 0x41dfe5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb20
mov ecx, esi
call fcn.0041ef90
cmp dword [esi + 0x4c], 0x5d
jne 0x41e272
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e238
cmp byte [eax], 0x5c
jne 0x41e03f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41e03f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41e02c
mov al, byte [ecx]
cmp al, 0x28
je 0x41e03d
cmp al, 0x29
je 0x41e03d
mov eax, dword [esi]
test dl, 0x10
jne 0x41e03f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41e03d
cmp dl, 0x7d
jne 0x41e03f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x41e238
cmp eax, 0x28
jne 0x41e0fa
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e08e
cmp byte [eax], 0x5c
jne 0x41e08b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41e08b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41e078
mov al, byte [ecx]
cmp al, 0x28
je 0x41e089
cmp al, 0x29
je 0x41e089
mov eax, dword [esi]
test dl, 0x10
jne 0x41e08b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41e089
cmp dl, 0x7d
jne 0x41e08b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb20
mov ecx, esi
call fcn.0041f210
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41e264
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41e0e6
cmp byte [eax], 0x5c
jne 0x41e0e3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41e0e3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41e0d0
mov al, byte [ecx]
cmp al, 0x28
je 0x41e0e1
cmp al, 0x29
je 0x41e0e1
mov eax, dword [esi]
test dl, 0x10
jne 0x41e0e3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41e0e1
cmp dl, 0x7d
jne 0x41e0e3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041cb20
test bl, bl
je 0x41e249
jmp 0x41e23f
cmp eax, 0x5e
jne 0x41e150
push 2
lea ecx, [esi + 0x24]
call fcn.0041e280
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e144
cmp byte [eax], 0x5c
jne 0x41e142
inc eax
cmp eax, ecx
je 0x41e142
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e12f
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e140
cmp dl, 0x29
je 0x41e140
test cl, 0x10
jne 0x41e142
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41e140
cmp cl, 0x7d
jne 0x41e142
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041cb20
jmp 0x41e249
cmp eax, 0x24
jne 0x41e1a6
push 3
lea ecx, [esi + 0x24]
call fcn.0041e280
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e19a
cmp byte [eax], 0x5c
jne 0x41e198
inc eax
cmp eax, ecx
je 0x41e198
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e185
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e196
cmp dl, 0x29
je 0x41e196
test cl, 0x10
jne 0x41e198
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41e196
cmp cl, 0x7d
jne 0x41e198
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041cb20
jmp 0x41e249
cmp eax, 0x2a
je 0x41e25d
cmp eax, 0x2b
je 0x41e25d
cmp eax, 0x3f
je 0x41e25d
cmp eax, 0x7b
je 0x41e25d
cmp eax, 0x7d
jne 0x41e1de
test dword [esi + 0x50], 0x10000000
je 0x41e26b
jmp 0x41e1f0
cmp eax, 0x5d
jne 0x41e1f0
test dword [esi + 0x50], 0x10000000
je 0x41e272
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041f5a0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41e238
cmp byte [eax], 0x5c
jne 0x41e236
inc eax
cmp eax, ecx
je 0x41e236
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e223
mov dl, byte [eax]
cmp dl, 0x28
je 0x41e234
cmp dl, 0x29
je 0x41e234
test cl, 0x10
jne 0x41e236
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41e234
cmp cl, 0x7d
jne 0x41e236
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0041cb20
mov ecx, esi
call fcn.0041f370
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x41de06
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0041cb10
push 5
call fcn.0041cb10
push 6
call fcn.0041cb10
push 4
call fcn.0041cb10
int3