Function at 0x41bb47
Capabilities:
Parse credit card information

Disassembly:
mov eax, 0x5bfaf6
call fcn.005a5da4
sub esp, 0x28
push ebx
call fcn.004a72a5
push eax
lea ecx, [ebp - 0x10]
call fcn.00402e05
mov ebx, dword [ebp + 8]
movzx eax, word [ebx]
and dword [ebp - 4], 0
test ax, ax
je 0x41be64
push esi
push edi
mov esi, 0x5e66c8
cmp ax, 0x24
je 0x41bd87
cmp ax, 0x26
je 0x41bd87
cmp ax, 0x2b
je 0x41bd87
cmp ax, 0x2c
je 0x41bd87
cmp ax, 0x2f
je 0x41bd87
cmp ax, 0x3a
je 0x41bd87
cmp ax, 0x3b
je 0x41bd87
cmp ax, 0x3d
je 0x41bd87
cmp ax, 0x3f
je 0x41bd87
cmp ax, 0x40
je 0x41bd87
cmp ax, 0x23
je 0x41bd87
cmp ax, 0x20
je 0x41bd87
cmp ax, 0x7f
jbe 0x41be46
mov ecx, 0x7ff
movzx edi, ax
push esi
cmp ax, cx
ja 0x41bcc1
lea eax, [ebp - 0x14]
or edi, 0x3000
push eax
shr edi, 6
call fcn.004159b7
push edi
push dword [eax]
lea eax, [ebp - 0x34]
push 0xffffffffffffffff
push 4
push eax
call fcn.005a7bfb
mov ecx, dword [ebp - 0x14]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00402d44
lea eax, [ebp - 0x34]
push eax
call fcn.0040509e
pop ecx
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x10]
call fcn.00405441
movzx edi, word [ebx]
lea eax, [ebp - 0x18]
push esi
and edi, 0x3f
push eax
or edi, 0x80
call fcn.004159b7
push edi
push dword [eax]
lea eax, [ebp - 0x34]
push 0xffffffffffffffff
push 4
push eax
call fcn.005a7bfb
mov ecx, dword [ebp - 0x18]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00402d44
lea eax, [ebp - 0x34]
push eax
call fcn.0040509e
pop ecx
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x10]
call fcn.00407213
mov eax, dword [ebp - 0x10]
cmp dword [eax - 4], 1
jle 0x41bcba
push dword [eax - 0xc]
lea ecx, [ebp - 0x10]
call fcn.00402e37
mov eax, dword [ebp - 0x10]
mov edi, eax
jmp 0x41be01
lea eax, [ebp - 0x1c]
or edi, 0xe0000
push eax
shr edi, 0xc
call fcn.004159b7
push edi
push dword [eax]
lea eax, [ebp - 0x34]
push 0xffffffffffffffff
push 4
push eax
call fcn.005a7bfb
mov ecx, dword [ebp - 0x1c]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00402d44
lea eax, [ebp - 0x34]
push eax
call fcn.0040509e
pop ecx
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x10]
call fcn.00405441
movzx edi, word [ebx]
and edi, 0xfc0
lea eax, [ebp - 0x20]
push esi
or edi, 0x2000
push eax
shr edi, 6
call fcn.004159b7
push edi
push dword [eax]
lea eax, [ebp - 0x34]
push 0xffffffffffffffff
push 4
push eax
call fcn.005a7bfb
mov ecx, dword [ebp - 0x20]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00402d44
lea eax, [ebp - 0x34]
push eax
call fcn.0040509e
pop ecx
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x10]
call fcn.00407213
movzx edi, word [ebx]
lea eax, [ebp - 0x24]
push esi
and edi, 0x3f
push eax
or edi, 0x80
call fcn.004159b7
push edi
push dword [eax]
lea eax, [ebp - 0x34]
push 0xffffffffffffffff
push 4
push eax
call fcn.005a7bfb
mov ecx, dword [ebp - 0x24]
jmp 0x41bc81
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.004159b7
movzx ecx, word [ebx]
push ecx
push dword [eax]
lea eax, [ebp - 0x34]
push 0xffffffffffffffff
push 4
push eax
call fcn.005a7bfb
mov ecx, dword [ebp - 0x28]
add esp, 0x1c
add ecx, 0xfffffff0
call fcn.00402d44
and dword [ebp + 8], 0
lea eax, [ebp - 0x34]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x41bdbc
sub eax, ecx
sar eax, 1
je 0x41bdfe
mov edi, dword [ebp + 8]
lea edi, [ebp + edi*2 - 0x34]
movzx eax, word [edi]
push eax
call fcn.005a7d32
inc dword [ebp + 8]
mov word [edi], ax
lea eax, [ebp - 0x34]
pop ecx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41bdea
sub eax, edx
sar eax, 1
cmp dword [ebp + 8], eax
jb 0x41bdcd
lea edi, [ebp - 0x34]
test edi, edi
je 0x41be46
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41be0a
sub eax, edx
sar eax, 1
push edi
inc eax
push eax
push dword [ebp + 0xc]
call fcn.005a71dc
mov eax, edi
add esp, 0xc
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x41be2c
sub eax, ecx
mov ecx, dword [ebp + 0xc]
sar eax, 1
lea eax, [ecx + eax*2]
mov dword [ebp + 0xc], eax
jmp 0x41be53
mov ecx, dword [ebp + 0xc]
mov ax, word [ebx]
add dword [ebp + 0xc], 2
mov word [ecx], ax
add ebx, 2
movzx eax, word [ebx]
test ax, ax
jne 0x41bb7d
pop edi
pop esi
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov word [ecx], ax
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00402d44
mov ecx, dword [ebp - 0xc]
pop ebx
mov dword fs:[0], ecx
leave
ret