Function at 0x41c110
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x632178
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x6dc14c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x1c]
mov ebx, dword [ebp + 0xc]
push 4
call fcn.004a3690
lea ecx, [ebp - 0x1c]
call fcn.004a2f20
movzx eax, word [edi]
mov dword [ebp - 4], 0
test ax, ax
je 0x41c45a
mov esi, eax
mov eax, 0x7ff
nop dword [eax]
cmp si, 0x24
je 0x41c381
cmp si, 0x26
je 0x41c381
cmp si, 0x2b
je 0x41c381
cmp si, 0x2c
je 0x41c381
cmp si, 0x2f
je 0x41c381
cmp si, 0x3a
je 0x41c381
cmp si, 0x3b
je 0x41c381
cmp si, 0x3d
je 0x41c381
cmp si, 0x3f
je 0x41c381
cmp si, 0x40
je 0x41c381
cmp si, 0x23
je 0x41c381
cmp si, 0x20
je 0x41c381
cmp si, 0x7f
jbe 0x41c371
push 0x65f808
cmp si, ax
ja 0x41c280
lea eax, [ebp - 0x20]
push eax
call fcn.00414f00
add esp, 8
movzx ecx, si
or ecx, 0x3000
shr ecx, 6
push ecx
mov ecx, eax
call fcn.004a3130
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.004ae940
add esp, 0x14
lea ecx, [ebp - 0x20]
call fcn.004a2fc0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004a3c60
movzx esi, word [edi]
lea eax, [ebp - 0x24]
push 0x65f808
and esi, 0x3f
push eax
or esi, 0x80
call fcn.00414f00
add esp, 8
mov ecx, eax
push esi
call fcn.004a3130
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.004ae940
lea ecx, [ebp - 0x24]
jmp 0x41c34b
lea eax, [ebp - 0x28]
push eax
call fcn.00414f00
add esp, 8
movzx ecx, si
shr ecx, 0xc
or ecx, 0xe0
push ecx
mov ecx, eax
call fcn.004a3130
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.004ae940
add esp, 0x14
lea ecx, [ebp - 0x28]
call fcn.004a2fc0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004a3c60
movzx esi, word [edi]
lea eax, [ebp - 0x2c]
and esi, 0xfc0
push 0x65f808
or esi, 0x2000
push eax
shr esi, 6
call fcn.00414f00
add esp, 8
mov ecx, eax
push esi
call fcn.004a3130
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.004ae940
add esp, 0x14
lea ecx, [ebp - 0x2c]
call fcn.004a2fc0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004adc70
movzx esi, word [edi]
lea eax, [ebp - 0x30]
push 0x65f808
and esi, 0x3f
push eax
or esi, 0x80
call fcn.00414f00
add esp, 8
mov ecx, eax
push esi
call fcn.004a3130
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.004ae940
lea ecx, [ebp - 0x30]
add esp, 0x14
call fcn.004a2fc0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004adc70
lea ecx, [ebp - 0x1c]
call fcn.004a50d0
mov esi, eax
test esi, esi
jne 0x41c406
mov ax, word [edi]
mov esi, 2
mov word [ebx], ax
jmp 0x41c441
lea eax, [ebp - 0x34]
push 0x65f808
push eax
call fcn.00414f00
movzx ecx, word [edi]
add esp, 8
push ecx
mov ecx, eax
call fcn.004a3130
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.004ae940
add esp, 0x14
lea ecx, [ebp - 0x34]
call fcn.004a2fc0
lea ecx, [ebp - 0x18]
xor esi, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c3c0
sub ecx, edx
sar ecx, 1
je 0x41c403
movzx eax, word [ebp + esi*2 - 0x18]
push eax
call fcn.0061815e
mov word [ebp + esi*2 - 0x18], ax
add esp, 4
lea eax, [ebp - 0x18]
inc esi
lea edx, [eax + 2]
nop dword [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41c3f0
sub eax, edx
sar eax, 1
cmp esi, eax
jb 0x41c3d1
lea esi, [ebp - 0x18]
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c410
sub ecx, edx
sar ecx, 1
push esi
lea eax, [ecx + 1]
push eax
push ebx
call fcn.00616f74
add esp, 0xc
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x41c430
sub esi, ecx
sar esi, 1
add esi, esi
movzx eax, word [edi + 2]
add edi, 2
add ebx, esi
mov esi, eax
test ax, ax
mov eax, 0x7ff
jne 0x41c170
xor eax, eax
lea ecx, [ebp - 0x1c]
mov word [ebx], ax
call fcn.004a2fc0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0060e1e1
mov esp, ebp
pop ebp
ret